Open raphaelquast opened 3 years ago
Hi there!
Iβm not having much luck getting the beatstep working with this script. Iβm on Live 10 and Mac Big Sur. Iβve moved the script into the Midi Remote Scripts folder. When I boot up live and plug in the BeatStep, nothing seems to happen - it acts as a standard midi controller and I donβt seem to be able to access any of the 6 pages enabled by the remote script.
How can I help debug this? I have attached a section of the live log.txt file from the time I booted and setup the script.
Cheers!
Hey,
thanks for reaching out!
I have been trying to get to the source of this problem for quite some time now... but unfortunately I don't own a Mac myself so it's quite difficult to track down where the problem occurs. (especially since there's no problem on Windows at all)
Here's what I found so far (via quick tests on Mac's from other people):
Right now I have no clue where or why the error occurs.... and without a Mac at hand I'm also not really sure how to proceed debugging this... (but if you are actually willing to help, I'm certainly willing to spend some time to get to the bottom of this!)
Do you know how to work with python?
If yes, my first step would be to check if the MIDI sysex-messages that are used to communicate with the controller are sent properly if Ableton is not involved at all... e.g.:
- using some python-library like mido together with the BeatStep_Q script to send the sysex-messages to the controller
- monitoring if the commands have the desired effect via a midi-monitoring tool
(I could prepare the scripts that perform the tasks, but you'd need to deal with running them... )
Another thing would be to check if there's actually a difference when using Ableton 9 / 10 .
e.g. install Ableton 9 and check if the script works ... this would narrow down the issue quite a bit
Cheers, Raphael
Hey, thanks for the quick response. I'd love to try and help out. I'm testing out a beatstep for a month, so maybe we'll be able to figure it out before I return it if I don't buy it.
I have some familiarity with python, and can definitely run some scripts. I took a look through the library a bit, but am not familiar with Ableton's APIs. Can you advise to get started executing the scripts outside of ableton (/ with a tool like mido?). Otherwise, I'll try and poke around when I have free time. Aside - I don't own Ableton 9 (I upgraded directly from 8 -> 10).
Hey, awesome! Then let's give this a try!
The first thing I would like to check is if the setup of button- and encoder behaviours works on MacOS without Ableton involved. (not sure if this will lead to anything already, but we have to start somewhere... so let's check the basic functionalities first π )
... to be more clear, I want to test if the functionalities of QSetup.py work on MacOS (they definitely should since it's just about sending MIDI sysex messages, but since the initialization-step of the BeatStep_Q script does not succeed, the problem might be already somewhere in there)
Thanks a lot for helping out! Let's hope we get to the bottom of this quickly! (and if not you'll at least get a good impression of what you can really do with your beatstep during the process...)
By the way... you can get any previous version of Ableton if you log in at ableton.com and go to "Download-Archive"
Sounds good! I have tried downloading Live 9 but the beatstep did not work as intended either. So perhaps this is something specific to being on a Mac in general.
thanks for trying out! ....well that again adds to the confusion... I still can't see a reason why the script would work on an old MacBook with Ableton 9 but not on a new one...
I've prepared a gist that shows how you can change the behavior of BeatStep's buttons & encoders via python:
first you need to install mido
and rtmidi
(https://github.com/mido/mido)
When you run the script you'll get a class object x
which you can use to send various commands to the controller,
for example:
x.set_B_color(5, 1)
will set the color of button 5 to "red" (e.g. 1)
x.set_B_color(5, 0)
will turn the LED off again
I've added several commands in the script so you can see whats possible. (unfortunately I've not added much documentation... but there's an overview of the functions at the top of QSetup.py )
What I would like to know is if all those commands to what they are supposed to do...
Let me know if this is clear to you or if you need further help to test this!
Thanks for creating the script. I managed to get it working, but I had to make these changes:
# didn't work:
# setup I/O for the BeatStep controller
# x = beatstep_io(outport='Arturia BeatStep 1',
# inport='Arturia BeatStep 0')
# works:
x = beatstep_io(outport='Arturia BeatStep',
inport='Arturia BeatStep')
Hey, well that's good news! π It is not surprising that the MIDI-port names are different... that was expected.
Does this also mean that all settings had the desired effects? e.g.:
Great! I tested every button and knob and this is the output of it.
From my reading of your script, lines such as this:
# set button 1 to "toggle" behaviour
x.set_B_behaviour(1, 0)
should be making it so that when button 1 is pressed it simply turns on and stays on, which is not the case when I tested the beatstep.
Thanks for testing! From the log it's pretty clear that the settings didn't work... ...looks like we're on the right track !
Did the LED's work? e.g.
# turn button 1 red
x.set_B_color(1, 1)
I'll think about why this does not work on a Mac and hopefully come up with a new plan soon π
This is quite strange. After testing changing a custom colour as you suggested above, pad one and pad 5 seem to be set to "toggle" mode. Perhaps I need to install some arturia software to set the beatstep to some kind of default?
well, I've started expecting strange results with this issue... but you are right, this is indeed unexpected... (especially the fact that the behaviour of multiple buttons is changing with a single command)
in general you should not need to use any Arturia-software to initialize a default config since the script is actually doing just that... it sends a set of midi-sysex messages that are supposed to do the job just as arturia's MIDIControlCenter does
QSsetup.py
is basically just a library of the sysex-codes that perform the tasks, e.g.
QSetup().set_B_color(1, 1)
>>> (240, 0, 32, 107, 127, 66, 2, 0, 16, 112, 1, 247)
What puzzles me is the fact that those codes do not seem to work on particular MacOS versions. I don't really get why... after all the very same controller would work equally well on Windows where the messages are working just fine.
For now i see several ways to go:
As a first start, you could install Arturia's MidiControlCenter.... (check here: https://www.arturia.com/beatstep/resources) with this it is possible to identify at least some of the required sysex-codes and we can check if they are in fact different
after installation, plug in your beatstep and click the "sync" button on the top left
then go to > view > MIDI console
to get a console that shows the messages that are sent and received while you change the settings
now (in the MidiControlCenter) click on button 1 and then change one of "mode", "option", "channel", or "note" and check the sent sysex-message code.
repeat the process for at least button 2 & 3 so that we can identify the pattern of the messages
report your messages (and what setting you have changed) and I'll compare it with what I get on windows
If that's not going anywhere, I'll try to contact Arturia's technical support (there's not really an officiall support for hacking the Beatstep like that, but they have been helpful before... maybe they know what's going on here and are willing to shed some light on how to fix it...)
Awesome - thanks for the detailed comments. Here are the results of following your steps:
Out: F0 7E 7F 06 01 F7 | Sysex
In: F0 7E 00 06 02 00 20 6B 02 00 06 00 03 00 02 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 00 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 00 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 00 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 00 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 0A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 0A 15 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 0A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 0A 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 0A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 0A 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 70 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 70 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 70 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 70 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 70 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 70 2C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 70 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 70 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 70 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 70 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 70 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 70 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 71 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 71 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 71 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 71 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 71 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 71 2D F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 71 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 71 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 71 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 71 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 71 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 71 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 72 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 72 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 72 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 72 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 72 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 72 2E F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 72 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 72 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 72 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 72 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 72 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 72 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 73 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 73 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 73 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 73 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 73 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 73 2F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 73 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 73 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 73 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 73 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 73 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 73 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 74 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 74 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 74 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 74 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 74 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 74 30 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 74 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 74 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 74 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 74 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 74 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 74 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 75 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 75 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 75 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 75 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 75 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 75 31 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 75 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 75 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 75 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 75 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 75 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 75 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 76 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 76 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 76 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 76 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 76 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 76 32 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 76 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 76 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 76 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 76 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 76 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 76 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 77 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 77 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 77 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 77 08 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 77 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 77 33 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 77 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 77 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 77 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 77 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 77 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 77 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 0B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 0B 15 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 0B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 0B 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 0B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 0B 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 78 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 78 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 78 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 78 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 78 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 78 24 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 78 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 78 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 78 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 78 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 78 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 78 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 79 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 79 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 79 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 79 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 79 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 79 25 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 79 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 79 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 79 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 79 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 79 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 79 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 7A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 7A 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 7A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 7A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 7A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 7A 26 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 7A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 7A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 7A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 7A 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 7A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 7A 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 7B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 7B 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 7B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 7B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 7B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 7B 27 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 7B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 7B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 7B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 7B 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 7B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 7B 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 7C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 7C 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 7C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 7C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 7C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 7C 28 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 7C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 7C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 7C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 7C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 7C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 7C 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 7D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 7D 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 7D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 7D 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 7D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 7D 29 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 7D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 7D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 7D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 7D 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 7D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 7D 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 7E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 7E 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 7E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 7E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 7E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 7E 2A F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 7E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 7E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 7E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 7E 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 7E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 7E 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 7F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 7F 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 7F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 7F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 7F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 7F 2B F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 7F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 7F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 7F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 7F 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 7F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 7F 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 0C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 0C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 0C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 0C 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 0C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 0C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 0D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 0D 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 0D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 0D 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 0E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 0E 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 0E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 0E 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 0F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 0F 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 0F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 0F 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 01 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 01 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 01 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 01 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 01 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 01 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 02 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 02 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 02 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 02 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 02 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 02 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 20 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 20 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 20 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 20 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 20 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 20 0A F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 20 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 20 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 20 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 20 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 20 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 20 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 21 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 21 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 21 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 21 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 21 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 21 4A F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 21 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 21 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 21 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 21 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 21 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 21 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 22 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 22 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 22 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 22 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 22 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 22 47 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 22 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 22 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 22 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 22 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 22 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 22 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 23 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 23 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 23 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 23 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 23 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 23 4C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 23 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 23 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 23 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 23 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 23 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 23 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 24 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 24 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 24 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 24 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 24 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 24 4D F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 24 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 24 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 24 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 24 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 24 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 24 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 25 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 25 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 25 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 25 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 25 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 25 5D F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 25 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 25 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 25 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 25 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 25 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 25 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 26 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 26 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 26 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 26 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 26 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 26 49 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 26 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 26 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 26 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 26 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 26 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 26 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 27 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 27 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 27 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 27 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 27 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 27 4B F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 27 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 27 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 27 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 27 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 27 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 27 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 41 03 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 41 03 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 03 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 03 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 03 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 03 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 03 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 03 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 28 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 28 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 28 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 28 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 28 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 28 72 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 28 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 28 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 28 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 28 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 28 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 28 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 29 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 29 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 29 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 29 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 29 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 29 12 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 29 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 29 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 29 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 29 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 29 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 29 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 2A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 2A 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 2A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 2A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 2A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 2A 13 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 2A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 2A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 2A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 2A 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 2A F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 2A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 2B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 2B 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 2B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 2B 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 2B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 2B 10 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 2B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 2B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 2B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 2B 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 2B F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 2B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 2C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 2C 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 2C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 2C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 2C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 2C 11 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 2C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 2C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 2C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 2C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 2C F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 2C 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 2D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 2D 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 2D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 2D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 2D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 2D 5B F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 2D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 2D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 2D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 2D 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 2D F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 2D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 2E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 2E 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 2E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 2E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 2E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 2E 4F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 2E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 2E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 2E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 2E 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 2E F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 2E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 2F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 2F 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 2F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 2F 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 2F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 2F 48 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 2F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 2F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 2F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 2F 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 2F F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 2F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 30 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 30 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 30 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 30 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 30 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 30 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 30 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 30 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 30 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 30 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 30 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 30 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 41 04 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 41 04 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 04 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 04 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 04 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 04 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 04 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 04 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 05 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 05 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 05 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 05 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 05 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 05 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 40 06 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 40 06 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 06 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 06 10 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 06 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 06 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 06 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 06 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 07 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 07 32 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 07 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 07 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 07 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 07 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 58 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 58 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 58 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 58 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 58 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 58 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 58 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 58 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 58 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 58 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 58 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 58 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 01 59 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 01 59 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 02 59 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 02 59 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 03 59 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 03 59 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 04 59 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 04 59 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 05 59 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 05 59 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 06 59 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 06 59 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 08 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 08 4C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 08 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 08 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 08 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 08 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 50 09 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 50 09 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 52 09 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 52 09 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 01 00 53 09 F7 | Sysex
In: F0 00 20 6B 7F 42 02 00 53 09 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 00 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 00 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 0A 15 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 0A 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 0A 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 70 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 70 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 70 2C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 70 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 70 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 70 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 71 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 71 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 71 2D F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 71 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 71 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 71 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 72 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 72 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 72 2E F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 72 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 72 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 72 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 73 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 73 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 73 2F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 73 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 73 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 73 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 74 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 74 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 74 30 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 74 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 74 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 74 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 75 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 75 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 75 31 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 75 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 75 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 75 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 76 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 76 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 76 32 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 76 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 76 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 76 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 77 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 77 08 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 77 33 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 77 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 77 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 77 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 0B 15 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 0B 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 0B 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 78 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 78 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 78 24 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 78 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 78 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 78 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 79 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 79 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 79 25 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 79 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 79 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 79 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 7A 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 7A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 7A 26 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 7A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 7A 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 7A 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 7B 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 7B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 7B 27 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 7B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 7B 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 7B 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 7C 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 7C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 7C 28 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 7C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 7C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 7C 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 7D 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 7D 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 7D 29 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 7D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 7D 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 7D 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 7E 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 7E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 7E 2A F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 7E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 7E 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 7E 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 7F 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 7F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 7F 2B F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 7F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 7F 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 7F 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 0C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 0C 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 0C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 0D 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 0D 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 0E 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 0E 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 0F 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 0F 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 01 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 01 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 01 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 02 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 02 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 02 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 20 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 20 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 20 0A F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 20 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 20 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 20 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 21 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 21 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 21 4A F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 21 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 21 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 21 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 22 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 22 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 22 47 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 22 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 22 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 22 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 23 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 23 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 23 4C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 23 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 23 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 23 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 24 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 24 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 24 4D F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 24 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 24 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 24 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 25 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 25 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 25 5D F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 25 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 25 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 25 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 26 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 26 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 26 49 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 26 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 26 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 26 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 27 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 27 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 27 4B F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 27 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 27 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 27 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 41 03 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 03 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 03 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 03 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 28 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 28 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 28 72 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 28 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 28 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 28 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 29 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 29 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 29 12 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 29 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 29 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 29 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 2A 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 2A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 2A 13 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 2A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 2A 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 2A 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 2B 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 2B 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 2B 10 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 2B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 2B 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 2B 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 2C 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 2C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 2C 11 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 2C 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 2C 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 2C 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 2D 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 2D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 2D 5B F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 2D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 2D 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 2D 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 2E 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 2E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 2E 4F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 2E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 2E 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 2E 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 2F 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 2F 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 2F 48 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 2F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 2F 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 2F 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 30 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 30 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 30 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 30 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 30 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 30 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 41 04 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 04 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 04 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 04 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 05 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 05 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 05 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 40 06 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 06 10 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 06 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 06 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 07 32 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 07 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 07 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 58 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 58 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 58 02 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 58 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 58 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 58 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 59 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 59 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 59 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 59 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 59 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 59 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 08 4C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 08 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 08 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 50 09 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 52 09 3C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 53 09 7F F7 | Sysex
I tapped pad one, then changed its channel from 1
to 2
In: 90 2C 45 | Ch 1 Note On G#1
In: 80 2C 00 | Ch 1 Note Off G#1
Out: F0 00 20 6B 7F 42 02 00 01 70 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 70 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 70 2C F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 70 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 70 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 70 01 F7 | Sysex
In: 91 2C 2F | Ch 2 Note On G#1
In: 81 2C 00 | Ch 2 Note Off G#1
In: 99 2D 66 | Ch 10 Note On A1
In: 89 2D 00 | Ch 10 Note Off A1
Out: F0 00 20 6B 7F 42 02 00 01 71 07 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 71 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 71 2D F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 71 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 71 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 71 01 F7 | Sysex
In: F0 7F 7F 06 2D F7 | MMC
undefined
there.In: 99 2E 57 | Ch 10 Note On A#1
In: 89 2E 00 | Ch 10 Note Off A#1
Out: F0 00 20 6B 7F 42 02 00 01 72 08 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 72 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 72 2E F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 72 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 72 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 72 01 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 01 72 08 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 02 72 09 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 03 72 2E F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 04 72 00 F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 05 72 7F F7 | Sysex
Out: F0 00 20 6B 7F 42 02 00 06 72 00 F7 | Sysex
In: B9 2E 7F | Ch 10 CC 46 - Undefined
Hope this helps! I appreciate your prompt debugging help. I'll buy you a coffee :)
Hey, Thanks for the coffee! I equally appreciate your quick responses!!
unfortunately we reached a dead end here... all messages are exactly as expected π (the "undefined" is somewhat strange... but i have no clue what it means in this context)
... here's how to check it in case you're interested: (this will reproduce the output of your first test, e.g. changing channel to 1
from QSetup import QSetup
Q = QSetup()
button = 1
setdict = {'mode': 9, 'channel': 1, 'cc': 44, 'off': 0, 'on': 127, 'behaviour': 1}
for what, val in setdict.items():
print([i[2:].upper().zfill(2) for i in map(hex, getattr(Q, f"set_B_{what}")(button, val))])
so we're back to identifying why python seems to have problems sending MIDI sysex-messages... It's really hard to come up with a plan on how to resolve this since I still don't know where the actual problem is happening.
I searched a bit if anyone had similar problems but there's not much info out there on this topic... However, I still found this site that has an interesting MIDI Q/A for MacOS: www.noterepeat.com
(I'm no Mac user so I guess you can judge the usability of the ideas better than me)
Troubleshooting USB MIDI devices on Mac
at the end of the page... "Testing to see if MIDI devices are transmitting data using MIDI Monitor"
pyton + mido
vs. using the MIDI ControlCenter
...
here's the official download for the MIDI Control Center: snoize.com/midimonitor
there's also a tool called "SysEx Librarian" snoize.com/sysexlibrarian that we could use to check if the Sysex-messages work outside of the MIDI ControlCenter (it's written in "swift" so in this way we could circumvent any python-problems)
Mac OS X - Problems with MIDI devices after an update
Mac OS X - How to Re-Configure Your MIDI Studio
Awesome - thanks for the resources. I will poke around the midi internals on mac. I wonder if something on Big Sur changed things, or perhaps a python version / dependency issue...? Anyway, I'm just guessing in the dark. If I come up with anything I will let you know!
hey, did you have any luck with the MIDI Monitor tool? (a python version conflict does not make sense since you tried both Ableton 9 which runs on python 2.7 and Ableton 10 which runs on python 3.6 or so...)
I digged a bit deeper and I'm more and more convinced that this might actually be a MacOS MIDI driver issue...
and the fact that a very simple python-script using mido
already fails supports that as well...
(mido
uses rtmidi
(which itself goes back to OSX's own CoreMIDI API rtmidi-low-level APIs))
in 2014 somebody wrote on a related Java-problem: Send sysex message with Java
The reason SysEx messages were not sent is because OSX is has a broken MIDI system. It cannot send SysEx messages. MMJ seems to be a library to workaround this problem.
one might think that such problems are fixed 8 years later but you never know π
it is really strange that there is literally no info on sending sysex-messages on OSX aside of using existing software-tools....
right now the only option I see is to get in touch with either the rtmidi
team GitHub - rtmidi
or the rtmidi-python bindings GitHub - python-rtmidi ... they might not solve our problem but they might give the right clues to what's going on here...
Since I don't own a Mac it does not make a lot of sense that I start such a discussion since I can not help debugging in any way... (however I'd be happy to join the discussion and help as much as i can to solve this! )
OK... I got a final idea... maybe MacOS is simply choking on too many simultaneously sent sysex messages...
@teesloane can you try to use this branch hardware_setup and then simply
the top-row buttons (one after the other) turns first
red
, thenblue
and thenoff
... it might happen that the LED response from BeatStep's internal initialization is interfering with the sequence...
so please also try to disable and enable BeatStep_Q as a control-surface... (with BeatStep plugged in!) ... e.g.:
...this should show the same sequence again...
(afterwards the script will NOT work! ... this is just a test if this could be the problem... i sincerely hope this is the problem π
Hey - I I haven't tried the midi sysex stuff yet - but I will try and get to that before the weekend. I did try putting your branch into the midi remote scripts and followed your steps. I've attached a video of the results. Interestingly, when I plug the BS in it does it's normal sequence and nothing happens, but if I disable and enable the control surface, it seems to be lighting up in the manner you suggested.
hey, awesome! π₯³ thanks again for the quick response!!
the behaviour in your video is exactly what I was hoping for...
if you look closely you see that the sequence is actually also running when you plug the controller in... it is just inter-mixed with BeatStep's startup sequence (which turns all buttons off all the time so you only see a faint blinking of the top row buttons)
I think now we're actually on the right track! As I understand it, the problem is the following:
some ideas I found on the way why this might be happening:
I think we can skip the MIDI Monitor stuff for now and I will try to fully incorporate this way of sending the sysex messages for the startup-configuration and the layer-change mechanisms... (It'll require quite some changes so be patient π) ... I let you know once I have a working version ready for testing!
I am still not sure why the simple python script we tested did not do it's job... but from what I'm seeing here this seems to be a whole other problem... (after all Ableton is not using this approach but some C-instances that seem to do the job properly)
Great! It sounds like this is moving in the right direction.
* some claim that usb-hub`s can also be problematic in this case
I am currently connecting the beatstep through my monitor, which has USB-A
ports (my macbook only has usb-c
) - I'm not sure if that counts as a usb-hub. I do not have a usb-mini
to usb-c
, so I can't test a connection directly to the macbook, unfortunately. Let me know when I can help with testing again. Thanks!
well, I'm not sure about that... but it would not be the first problem I've encountered with usb-c....
anyway, a proper implementation that works on any connection would be a nice thing to have!
could you try the hardware_setup branch once more? (just added 1 tiny commit) I've changed the way how I send the messages a bit and now the sequence is much longer, so before I continue implementing this I would like to confirm that it still works on your side as well... Thanks!
Sure thing. Here's me with the latest change from hardware_setup, plugging it in, removing the control surface and adding it back in.
Thanks! hah, good that we checked again... seems like now we loose about half the messages on the way now... (It was supposed to light up all buttons in red, blue and magenta) ...the good thing is that this kind of confirms my idea on the origin of the problem so I'm positive that this will work in the end!
If you don't mind I'd like to test the progress every now and then... to that I don't stumble upon pitfalls along the way... I've opened a pull-request #72 to keep track of the progress (I'll let you know when there's a version that's worth testing!)
Sounds good. I'll rent the beatstep for another month (should have it for another 45 days or so). Good luck - I'll keep an eye on the pull request, but feel free to ping me here if you need something tested!
Hey, thanks for that! I really hope we get this running in the next month... (there's a lot of other stuff to do as well but I try to keep on track in the evenings...)
I've tested several approaches for sending the messages but the general Tasks-module that is used for threading is so horrifyingly undocumented that I got annoyed (and somewhat lost) on the way... π (while trying python's internal threading module I ran into some boost.python errors that tell me that this might not be the way to go...)
However I've now implemented a straight-forward "message-scheduling" approach that simply makes sure that there's a slight delay between all messages... I've implemented it such that activating layers etc. should also work (if the method works on a Mac as well) can you give #72 a try?
Hey!
I gave 72 (cloned the repo, checkedout the branch "hardware_setup") a try but didn't see much difference. I'm not totally sure how layer activation works, but based on the images in your readme, I tried activated the mix
and launch
by pressing shift + chan
and shift + store
respectively (tried to demonstrate this in the video). Let me know if I'm missing something. Good luck with the tasks module...sounds hairy.
Damn, i really had my hopes up for this one... It's very odd that no matter how the messages are sent every second message seems to get lost on the way... (The code actually sends messages to turn every button LED on and off) I'm away for the next couple if days but then i'll try to prepare a more thorough test to see if this has something to do with the delay of the messages or if there's something else causing this...
Thanks for continuing to test my ideas! (I still have no way to reproducethis on my pc so without you i would not be able to track this down... You definitely got yourself a place on the "thank you" list of the next release π
Hey, guys! Big thanks to author and Teesloane for debugging attempts.
I've tested the scripts on MacOS Big Sur (11.4), with both Live 10 and Live 11. Here's results of my attempts to bring BeatStep to Live with Beatstep_Q, hope this will help you some way:
Live 11: initialization failed (no backlight for random number of pads during init), working inproperly. Live 10 (v10.1.1): init success, all seems working good
I've gone a little further and made two separate branches to test with:
[TL;DR: It seems that Live 11 on MacOS have an issue with MIDI Remote Scripts itself. Live 11 dropping messages scheduled for the one tick, even if optimized=false parameter set. One tick is 0,2 seconds (if I'm not mistaken here), and sending one command per tick - is too slow for work. ]
Made indication working in parallel with the pads/encoder setup process, tried to add parameter optimized=false for delayed 'send_midi' calls according to Remote Scripts API documentation, to avoid commands dropping.
Live 11 working only with INDIVIDUAL_MESSAGE_DELAY set to 1, but setup/init process is too slow for normal workflow (you'll need to wait for 10 seconds every time you press 'Shift' button before you can use pads). If you change the delay (INDIVIDUAL_MESSAGE_DELAY) to smaller value, Live will ignore some of the commands (seen by gaps in pads backlight sequence). Probably, Live 11 dropping midi messages scheduled for one tick. Setting INDIVIDUAL_MESSAGE_DELAY to 0,5 made Live to drop a half of messages for pads/encoders setup (visible by the backlight missing for a 8 pads) as a result, only half of the encoders/pads worked. Scheduling messages/commands for another ticks is too slow for normal work.
In Live 10 the scripts working well; commands, scheduled for one tick executed at the same time, which is seen by pairwise switching on of the backlight on pads, while INDIVIDUAL_MESSAGE_DELAY set to 0,5. The value of 0,01 is better for more convenient workflow, as all the setup/init process executed nearly instantly. For live 11 such value made it ignore all the messages, but Live 10 working great.
All send_midi calls executing with the parameter 'optimized_false' to avoid messages dropping. Backlight sequence executed via schedule_message independently of pads/encoder setup.
Live 11: initialization sequence executed visually correct (no gaps in backlight, because it all set in other ticks), but pads working incorrect, 'Shift' mode activates only on second press of a button instead of button hold. Live 10: initialization is correct and buttons works as supposed.
Hope, this helps somehow. If you need more testing or info, feel free to reach me out :)
@dtrs Hey! Awesome! thanks a lot for your efforts!
Unfortunately I don't have a lot of time right now to work on this issue myself... also I don't have access to a Mac, so it's quite impossible for me to pinpoint where the problem is coming from. (This also means that I can't really test your branches since so far any method of sending the messages seems to work just fine on Windows. )
...but I'm of course happy to provide any Ableton/python help I can give and I'd accept any pull-requests that help to get the script working on Mac + Ableton11
Do you have any Idea why Ableton11 is loosing MIDI messages on MacOS on the way? (I can't seem to find any indication of what changed in the way MIDI messages are sent...)
Also I get from your comment that the script is working just fine on your Mac when using Ableton10 ?
Hi! Any progress on the Mac side ? :-) Recently bought a beatstep and I'm trying out your scripts without success. Big Sur 11.5.2 with Live 10.1.41. Lights initialisation goes well but that's it. Some knobs are working but in a bad way. Need to turn left/right a lot of times to see something move. Hope this nice project is still alive.
Hi, unfortunately there has not been any progress on the MacOS side...
I tried my best, but so far I was unable to identify the actual cause of the problem on MacOS, and since I do not own a Mac myself debugging this is really hard... It seems that somehow MIDI messages get lost on the way but there's really no indication on why this is happening (and on Windows everything works just fine).
I'm happy to provide feedback and accept pull-requests that tackle this problem, but at the moment I do not have the time to look into this myself.
Also I get from your comment that the script is working just fine on your Mac when using Ableton10 ?
Yes, right. Works as intended (device controls working, arming/muting tracks, adding scenes, etc.) with Live 10.1.1 @ BigSur 11.5.2 (tested again at the time of writing this, sorry for the delay), with this settings for control surface in Live:
Currently I've switched to Live 11 and Push2 as a main controller, so Beatstep resting most of the time, but all seems to work well for me.
@dtrs thanks for the clarification... it adds to the general confusion on what's going on here π (sure the BeatStepQ script is no competition to the Push2... except for the price-tag and the portability)
It seems that there must have been some changes in the way MIDI sysex messages are sent on MacOS in Ableton11 but there is no indication at all what changed and how one should adjust to those changes...
Maybe in a couple of months I'll have more time and I'll give this whole problem another thought... after all the solution is most probably already hidden somewhere in the Push2 MidiRemoteScript... (if only it would be properly documented... π )
I also tried again on Big Sur 11.5.2 with Live 10.1.41 with same settings as @dtrs. When using the knobs, scrolling in the slots is sluggish and not usable at all. Also the clip start/recording is not working. I searched the net for solutions, and arrived here : https://www.reddit.com/r/ableton/comments/86zepx/help_using_arturia_beatstep_as_both_surface/
"I found a better solution guys and is to store the Control Surface mapping to a memory slot on beatstep i.e. memory slot 2 so you can recall it anytime you want, iΒ΄'ll share the map on a drive link but if you can create mirror or permanent links that will be useful for everyone. https://drive.google.com/open?id=1NzRv9GmtoqMSZfPzViUcYggdjLwPDfZw hope this helps."
So I uploaded via the Arturia Midi Control Center file "ControlSurface.beatstep", saved it to slot 2, and I'm using this with success. All knobs, pads are working fine in control surface mode (beatstep), no hick-ups. :-)
@Acidity2012 thanks for the comment! (and sorry for the late response)
you mean all functionalities are working if you just save & load the script to slot 2 ? That's somewhat strange but good news π As I see it this should only work if there's a static MIDI-mapping... but the script actually changes the MIDI assignments several times during runtime, for example:
can you confirm that switching layers & changing the MIDI notes actually works as expected?
Hello - I'd love to have this working with my Beatstep and Live 11 (currently OSX 10.13.6), but not working as detailed in this thread.
I think @Acidity2012 is writing about using an alternative control surface mapping, not Beatstep Q, with only a fraction of the functionality. I'm afraid I don't have the skills to help you fix it, but I hope you can find success.
Hello...I am having the same problem. And I bought a beatstep to use this script! I am using Live 11.0.2, MacOS 10-15.7 (Catalina).
I am getting the "frozen lights" in the initialization of the beatstep as described at the start of this thread...The script was installed properly, and I can see the red rectangle in Live signaling that I could launch those clips (Beatstep_Q is active, beatstep controller is not runnign it though...).
anyone has fixed this issue yet? What can I do?! (Unfortunately I am not good with code either...:P)
Hey, @Helder-boop
I really tried hard to get my head around this problem, but after a lot of try-and-error, I'm again completely lost... (also I don't own a Mac so I can't reproduce it and I can't test for possible solutions)
The problem I've identified so far is that somehow MIDI messages get lost along the way when the script initializes the controller. How or why this is happening on MacOS (and not on Windows) remains a mystery and I haven't found any clue yet.
Unfortunately solving this will definitely require a bit of python-code... (and maybe even some insights on MacOS MIDI internals or whatever is causing this) Right now my time is rather limited to actively attempt another solution, but I'd be happy to share my knowledge and of course I would merge any proposed fix that solves this issue!
Thank you so much for taking the time to reply raphaelquast.
Yes, it is a bummer, and I am willing to try something, if you want me to, and if you can explain exactly what I should do. I do not have any knowledge of coding unfortunately.
Is this an issue for all macOSs and all Live versions? Is it worth waiting/hoping for the issue to be resolved, or would it be better to just return the controller? It is a shame indeed, I was quite excited about this! I was hoping to use this instead of Push or something like that!
Best.
@Helder-boop Well without any programming knowledge it would be down to me to fix this and as I said before, without a Mac this is quite impossible since I have no means of reproducing the issue.
I tried it on a quite old MacBook with Ableton 9 and (quite puzzling) the problem did not occur... On a newer one (don't know the explicit OS version) the problem was as described by previous users.
I'm really sorry to disappoint you in that manner, but I doubt that this issue is going to be resolved soon... (except somebody shows up with an idea on what is going on) (The only thing I haven't tried so far is to contact either Ableton or somebody else that knows more about Midi RemoteScripts on MacOS, but I doubt that Ableton's support will be of much help since RemoteScripts are not officially supported.... )
Thank you so much for your reply. No problem - it is not your fault really! Although I was very excited to try this script I understand. Maybe the issue will be resolved in the future. In the meantime I mapped my beatstep to a max for live sequencer and can use it as a step sequencer, which is what I wanted mostly. If this script starts working on Mac then I will be even happier! π
Yes, I can also try to contact Ableton Support about this issue. They might be interested actually, if it works in previous versions but not in the new ones...we'll see.
Thanks again and have a nice day!
From: Raphael Quast @.> Sent: Sunday 28 November 2021 15:52 To: raphaelquast/beatstep @.> Cc: Helder-boop @.>; Mention @.> Subject: Re: [raphaelquast/beatstep] problem with MacOS (#58)
@Helder-boophttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FHelder-boop&data=04%7C01%7C%7C9bcba2efa44c4c14a0df08d9b28727a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637737115815558567%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=G5wsjEdGH53OeUo%2FQfI2kOGjEH5Ocs4lRK8VcfzpSvk%3D&reserved=0 Well without any programming knowledge it would be down to me to fix this and as I said before, without a Mac this is quite impossible since I have no means of reproducing the issue.
I tried it on a quite old MacBook with Ableton 9 and (quite puzzling) the problem did not occur... On a newer one (don't know the explicit OS version) the problem was as described by previous users.
I'm really sorry to disappoint you in that manner, but I doubt that this issue is going to be resolved soon... (except somebody shows up with an idea on what is going on) (The only thing I haven't tried so far is to contact either Ableton or somebody else that knows more about Midi RemoteScripts on MacOS, but I doubt that Ableton's support will be of much help since RemoteScripts are not officially supported.... )
β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fraphaelquast%2Fbeatstep%2Fissues%2F58%23issuecomment-981108027&data=04%7C01%7C%7C9bcba2efa44c4c14a0df08d9b28727a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637737115815558567%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=DC3QEg8Z42bo2K4L2zTjW%2FpnGUe6f0kliu7xcssMWdU%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWUD6PSZBNT336WD5XZU6XTUOJF5XANCNFSM4224VMWA&data=04%7C01%7C%7C9bcba2efa44c4c14a0df08d9b28727a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637737115815568526%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=QQO4kA9AzGVDWiaa6QevyEeRHbTGtPIsL30VrPbd34I%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7C%7C9bcba2efa44c4c14a0df08d9b28727a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637737115815568526%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=pXQxVQAB8kpTUoL2%2B9Ov1RQml76yRL2iqsuf81xsCF0%3D&reserved=0 or Androidhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7C%7C9bcba2efa44c4c14a0df08d9b28727a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637737115815568526%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=3OOCPXdly3MmUBOjCcaUGFra7RMNZYknEn7A51%2BfZhY%3D&reserved=0.
Hi I would be happy to help here. I am no magician but I own a Mac, Ableton a Beatstep and I know some python. So have your testscript running and i was wondering if I should run a midi analyzer on a raspberry Pi to analyse the MIDI signal transmitted over USB. What are your thoughts about that approach? Additionally I was thinking about changing the Backend of Mido.
@dwi-iwb Hey, awesome, thanks!! I'd love any new insights on this! Basic python knowledge, a Mac and some motivation is all we need...
Analysing the transmitted MIDI signal sounds like a good approach to get a better idea on what's happening... (however I have no experience with raspberry Pi's ... but I guess you have π )
mido
only used for analysis purposes... the script ultimately does not use mido
... it uses Ableton's API to send and receive MIDI messages...I'm happy to help wherever I can to get to the bottom of this! (I've opened a discussion here to avoid using this issue for general communication)
initialization is not performed properly on some systems using MacOS + Ableton 10