Boss ME-90 USB MIDI

Started by Elantric, August 17, 2023, 01:37:28 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Elantric

Quote from: Tone Jones on July 16, 2023, 10:59:30 PMAre there any solutions out there that would allow the ME90 to send MIDI PCs?

Below is result of using a USB-C to USB-C audio/video qualified data cable

https://www.amazon.com/gp/product/B09PTYKV6N


Boss ME-90 USB-C port directly connected to my Samsung Galaxy S10+ Android 12 phone 

Android 10/11/12 have incorporated the LINUX ALSA drivers which support Roland /Boss devices for possible USB MIDI or USB Audio

Unlike Boss Pocket GT, I had no luck with detecting ME-90 USB Audio for recording or playback

But  using the Extream USB MIDI MONITOR app to monitor USB MIDI Traffic, I had a successful connection to Boss ME-90, and detected the following results.




When ME-90 is in "MEMORY MODE"

The bottom 4 foot switches transmit
MIDI PROGRAM CHANGE Commands.

And the ME-90 Expression Pedal transmits
MIDI CC#11 0-127.

All on MIDI Channel 1

I have moved other ME-90 hardware knobs and controls, but so far no other MIDI results detected using
Extream USB MIDI MONITOR app
https://play.google.com/store/apps/details?id=com.extreamsd.usbmidimonitor

Repeated test above  using 2020 iPad Pro, and same USB-C cable , however the  ME-90 was not detected by iPad Pro , no error, , zero USB Audio/MIDI from ME-90 detected by IOS 15.7

Elantric

#1
ME-90 Receiving control change messages
This unit can receive control change messages to control specified parameters while you're playing.

ME-90 MIDI CC# Data that can be transmitted/received via MIDI

Pedal                        CC#     Value
Expression pedal       CC#11   0–127

Expression Pedal toe switch ON/OFF
(EXP SW)                   CC#82   ON: 127, OFF: 0


CTL(REV) Footswitch
[CTL] pedal               CC#80  press: 127, release: 0


5454stevef

I've been able to get the ME-90 to switch presets on my old Pod that I used because it was handy.  Oddly enough, both devices have 36 preset locations. Except that sending PC "0" by pressing U1-1 pedal puts the Pod in manual mode... so as you go up it's kind of odd.  But for test purposes it's effective. 

Connection was established by using a "Doremidi" UMH-21 usb host midi adapter.  About $60 on Amazon.  This device provides two DIN midi ports that connect to the peripheral.  Pretty simple.  Limited control but better than nothing, I guess.

ChetMaker

Boss ME-90 Program Change, Control Change & System Exclusive messages contained in a midi file instead of Boss TOne Studio - Is this possible or is this a mirage created by slick Boss PR?


I have just purchased a Boss Me-90 sound effects unit and its Dual Audio/Midi adapter and a Fs1-W foot switch.
I am a guitarist & vocalist & hope that I can fully automate the operation of the ME-90 whilst on stage so that I do not have to push one pedal or twiddle one parameter knob in order to get the ME-90 to make the required changes during the gig - ie have the corrrect patch selected(Program change message) and relevant parameters having the desired value(control change message) or to turn individual effects on and off (control change message) at specific points in a song. The icing on the cake would be knowing how to create a system exclusive message that would download patches contained in the Boss Tone Studio library that would be used on the gig. however given that the Me-90 has 36 user defined patcvh slots (9 User Banks X 4 slots each) maybe knowing the format of system exclusive messages isn't a big priority.

The bread and butter issues for me are

1 being able to create a midi program change message that will select a patch at the start of the song and at any other point in time of the song if needed and

2 being able to create midi control change messages that will
a/ change the value of an effect parameter - ie Adjust the Drive parameter of the OS/DS
(overdrive Distortion) effect
b/ turn an effect ie Overdrive/Distortion on or off at any point of time in the song
c/ change the effect option of an effect ie change the selected Overdrive/Distortion
in use to Boost

I'm thinking to be able to create a program change message one would need to know what the terms are for each user defined patch location that the ME-90 'knows' & when the ME-90 receives the program change message the ME-90 will select Bank and patch location specified in the program change message.

I'm thinking to create a required control change message one would need to know the terms the ME-90 recognises for each of the

a/7 Effect super categories - EQ, Reverb, Compressor OD/DS(Overdrive distortion) Mod
Delay & Pedal FX to turn them on or off. There is also a Preamp category which could be
seen as a 8th effect super category

b/ effect sub options of the 6 respective super effect categories ie the Blues OD option of the OD/DS super effect category to select the required option. The Preamp Super category
has a number of sub options to choose from such as Tweed combo for instance

c/ parameters of each effect category so that the value of the required effect parameter can
be changed. The Preamp Super category for instance has 5 parameters - Gain Bass, Middle,
Treble & Level

The terms that the ME-90 recognises for specific patch locations, effect super categories, effect sub options and effect parameters may be simply their name but it could be something else. Then there is the syntax of the midi message -

i/ does the ME-90 have an identifier that must be mentioned in a midi file or midi
message so that the ME-90 'knows' that it needs to execute the midi message

ii/ Is the syntax of a program change message something like
Set patch to User Bank 4 Slot 2 or Current Patch = User Bank 4, slot 2

iii Is the syntax of a control change message something like
OD/DS = On 'to turn on the OD/DS patch'

Set OD/DS to 'Blues OD' ' Select Blues OD as ther OD/DS effect option'

Drive = 20    ' Set the value of the Drive parameter of OS/DS to 20

I have looked on the web for details such as the syntax of midi messages used to operate the ME-90 but I haven't found any yet apart from those in this thread which makes me think that Boss's definition of Midi is the use of the Boss TOne Studio App and that is it. I'm assuming the commands the Boss TOne Studio  uses to implement the instructions of the logged on ME-90 user are written in machine code but Boss does say in the link below that

Sending MIDI Program Change Messages   

When connected to a PC via USB, the ME-90 can receive MIDI data. A DAW can control patch changes and specified parameters at specific times. In addition to switching patch numbers, the ME-90 can send control change messages to the expression and CTL pedals and switch effects on and off. This can be especially useful when using the ME-90 as a performance tool.
   
https://articles.boss.info/me-90-advanced-tips-and-tricks/

Has any Me-90 user  been able to create program change control change or  system, exclusive messages running from a DAW or midi file that selects a patch location, switches Super effect categories on or off, change, the effect option of a super  effect, change, the value of an effect parameter, or use a system exclusive message to upload specified user  defined patches, either from their own computer, or from the Boss Tone studio library.

Also I have found some midi commands for the Bos GT-1000 on the web at
https://static.roland.com/assets/media/pdf/GT-1000-MIDI-Implementation.pdf

This link lists code for patch locations, bank select and lots more. I haven't found an equivalent document for the ME-90 which has got me worried that as far as the ME-90 and 'midi' is concerned the Boss Tone Studio is it.



ChetMaker

Hi Elantic

Using the midi monitor program for Mac I noticed that changing patches in memory mode generated a midi message with the user generated patch ie user bank U1 patch 1 generating the number 1 - not zero  - i also noticed that moving the expression pedal generated a message as well. When I moved the effect and parameter knobs or turned patches on and off no message was generated on the midi monitor program

08:22:43.024   From ME-90   Control   1   Expression (coarse)   1
08:22:43.025   From ME-90 DAW CTRL   Control   1   Expression (coarse)   1
08:22:43.035   From ME-90   Control   1   Expression (coarse)   0
08:22:43.036   From ME-90 DAW CTRL   Control   1   Expression (coarse)   0
08:27:34.511   From ME-90   Program   1   2
08:27:34.547   From ME-90 DAW CTRL   Program   1   2
08:27:43.348   From ME-90   Program   1   1
08:27:43.379   From ME-90 DAW CTRL   Program   1   1

I got these messages from the Mac but the iPad midi scope did not show anything despite it being connected to the me-90 via the dual audio/midi adaptor

Elantric

This ipad MIDIMITTR app should provide a wireless MIDI ME-90 Solution for ME-90 with DUAL BLUETOOTH ADAPTER
https://apps.apple.com/us/app/midimittr/id925495245


d1stewart

#6
Like the GT-1 and the Gigcaster 5 and 8, most of the settings, effects on/off, and writing to the ME-90 are handled not with CC and PC, but with system exclusive messages. These messages are not always exposed to MIDI message viewers, at least not as obviously as one might expect.

So working with the ME-90 and various sniffers and other apps, I found how to see the sysex stream (in addition to the PC and CC messages): You have to look at not the ME-90 messages, but the ME-90 MIDI Bluetooth stream messages. That does require the BOSS Bluetooth Audio MIDI Dual Adapter (BT-DUAL). That installed, and the ME-90 connected via Bluetooth to the computer, and BOSS Tone Studio for ME-90 running with the Device Setting set to ME-90 MIDI (Bluetooth), and the ME-90 in Manual mode, the MIDI viewer software (I use MidiView) can then see and show the sysex messages.

Here are some examples of sysex strings I've identified and been able to send to and alter ME-90 hardware state:

F0 41 10 01 05 03 12 20 00 30 00 01 2F F7  Preamp on
F0 41 10 01 05 03 12 20 00 30 00 00 30 F7  Preamp off
F0 41 10 01 05 03 12 20 00 10 01 04 4B F7  Octave effect selected in COMP/FX1 group

Other strings have not worked as I expected, and I don't know why.

But I'm pretty confident that with the ability to see the sysex stream now, and the MIDI implementation of the GT-1000 noted above as a model and probably source, much if not all of the MIDI PC, CC, and sysex code can be figured out.

In the sysex message F0 41 10 01 05 03 12 20 00 10 01 04 4B F7 (Octave selected in Comp/FX1 group), the string parts are:
F0 41 10 01 05 03 12  —  This will be the same in all strings for writing to the ME-90.
F0 starts a sysex string.  41 is the Roland Mfr. ID. 10 is Device ID.
01 05 03 is the Model ID for the ME-90. 12 denotes setting a parameter (11 is querying a parameter).
20 00 30 // 00 01 (e.g.; the five hex numbers between 12 and the checksum) identifies the setting to change and the value to set it to (at least in cases of selecting an effect; I haven't found this to work for setting parameter values such as Sensitivity, Level, etc.). The first 3 numbers are the address to which value will be written—that is, the parameter/setting to be changed; and the last two are the new value being written.
4B is a checksum calculated from the previous five hex numbers. (I have a formula in the Apple Numbers spreadsheet that calculates this.)
F7 ends a sysex string.

The five hex numbers between 12 and the checksum 4B need defining by which parts are the parameter, and which are the value; other BOSS MIDI implementation documents, such as the GT-1000 above, will probably help with that, and just using MIDI viewers and noting what is what can also help.

The checksum formula in Numbers is (assuming the values are split between cells F12 and G12): DEC2HEX(MOD(128−MOD(SUM(HEX2DEC(LEFT(F12,2)),HEX2DEC(MID(F12,4,2)),HEX2DEC(MID(F12,7,2)),HEX2DEC(RIGHT(F12,2)),HEX2DEC(LEFT(G12,2)),HEX2DEC(RIGHT(G12,2))),128),128),2)
That may work in Excel too; I haven't checked it to find out.

I've also confirmed that I can send the three sysex commands above, as well as program changes, over Bluetooth MIDI from the Song One app on iPad to the ME-90. That means you could run automations from an app like Song One, OnSong, BandHelper, etc., and also effectively build an ME-90 control panel in an app like Lemur, Loopy Pro, TouchOSC, or MIDI Designer.

Elantric


5454stevef

#8
Chetmaker :

Interesting that you are finding different PC values transmitted than what I'm seeing using MidiScope.  I get "0" from U1-1, and when sending a PC message from Bandhelper with "0" as the program value it switches to U1-1. 

I'm a total novice at this so the sysex info is beyond me... have you found a way to use a midi preset to do this:

Switch to one of the user presets
Enter manual mode

This would be really helpful to my typical application, almost always in manual mode, but it would be cool to switch patches without going back to "memory".

Elantric

#9
Quote from: ChetMaker on December 27, 2023, 01:40:56 PMHi Elantic

Using the midi monitor program for Mac I noticed that changing patches in memory mode generated a midi message with the user generated patch ie user bank U1 patch 1 generating the number 1 - not zero  - i also noticed that moving the expression pedal generated a message as well. When I moved the effect and parameter knobs or turned patches on and off no message was generated on the midi monitor program

08:22:43.024   From ME-90   Control   1   Expression (coarse)   1
08:22:43.025   From ME-90 DAW CTRL   Control   1   Expression (coarse)   1
08:22:43.035   From ME-90   Control   1   Expression (coarse)   0
08:22:43.036   From ME-90 DAW CTRL   Control   1   Expression (coarse)   0
08:27:34.511   From ME-90   Program   1   2
08:27:34.547   From ME-90 DAW CTRL   Program   1   2
08:27:43.348   From ME-90   Program   1   1
08:27:43.379   From ME-90 DAW CTRL   Program   1   1

I got these messages from the Mac but the iPad midi scope did not show anything despite it being connected to the me-90 via the dual audio/midi adaptor

Rather rudimentary not detailed results  and not much detail in that MINI MONITOR APP, I assume its forcing its own laymans english interpretor for the results, and not the actual MIDI SPEC data

I'll cross MIDISCOPE APP off my list, as it apparently displays weak ill defined results  ;)

Elantric

#10
QuoteI get "0" from U1-1, and when sending a PC message from Bandhelper with "0" as the program value it switches to U1-1.

Same ME-90 Patch Change experience  here

Also ME-90 MIDI CC# Data that can be transmitted/received via MIDI standalone without BTS running

Pedal                        CC#     Value
Expression pedal       CC#11   0–127

Expression Pedal toe switch ON/OFF
(EXP SW)                   CC#82   ON: 127, OFF: 0


CTL(REV) Footswitch
[CTL] pedal               CC#80  press: 127, release: 0