I am trying to connect two devices: Analog Rhythm and Pyramid. It is necessary that a Note (C3) from the Pyramid is responsible for mute the sound in Analog Rytm. (CC 94 vol 0 - Mute Off / CC 94 vol 1 - Mute ON)
I wrote this code
90 3C = B0 5E 00 80 3C = B0 5E 01
And everything works fine. Until I want to use this in patterns.
In the Pyramid pattern, I set the note C3 with the duration of the entire length of the pattern. Now when I press play in Pyramid and turn off the pattern , I’m mute the sound in the Analog rhythm. But also the first sound disappears in Analog Rytm.
I decided to go the other way and reassign СС message from the Pyramid to the Analog Rhythm.
IF M0 == B0 2C SND B0 5E 00 ELSE SND B0 5E 01 END
Now, after Analog Rhythm receives a message CC 44 vol 0 to turn on the sound, immediately the sound is turned off. And I need that when the pattern is turned on, the sound is turned on, and when turned off, the sound is turned off.
Sorry for my English.
I hope I explained it clearly. I’ve been suffering with this problem for several months and it would be great if they helped me with the code.
Thanks so much for the quick reply! I tried this code, but it only works when the message comes from the Pyramid. The fact is that I need two values: 1. CC 44 from Pyramid - remap to CC 94 vol 0. 2. CC does not come from Pyramid (pattern is muted) - send to Analog Rytm CC94 vol 1
I want to do something like by analogy with Note ON/ OFF only for CC.
I almost managed to get to work with a remap note to CC, but I just can not understand why the Note is transmitted along with the message СС. If I look in the Event Monitor - it is clear that only the message is transmitted. But if I open Midi Wrench, I see that the note is transmitted.
I also want to add that if I do press Mute ON and after Mute OFF on Analog Rytm, everything starts to work without errors. But as soon as I stop and then press play, the first note continues to be transmitted.
> I almost managed to get to work with a remap note to CC, but I just can not understand why the Note is transmitted along with the message СС. > If I look in the Event Monitor - it is clear that only the message is transmitted. But if I open Midi Wrench, I see that the note is transmitted.
The rule you had to convert note to CC will remap so the note will disappear
If you are seeing the original note showing up in MIDI wrench then either you are seeing the original event from the Pyramid or the event is also travelling by a parallel path.
What are you using to route the Pyramid <-> Analog Rytm?
OK, so in MidiFire, you should only need a very simple routing setup:
Pyramid -> Stream Byter -> Rytm
And if MidiFire is the only thing between the two, then if you break either of the connections in MidiFire, then the Rytm should not respond to any Pyramid events at all. If it does respond, then there must another parallel path between the two. I would suspect the iCM2+ has a 'thru' setup between the two DIN ports, or maybe there is some other app running that is interconnecting them. Is this iOS or macOS?
If your MidiFire canvas is not straight forward as above, feel free to post/PM/email me your scene and I will take a look.
I'm just looking for a simple line of code to change a note into cc. I have an apc-40 and I need to change the button grid and various other buttons to cc. Also on a more tech side of things is it possible to run a Python midi remote script such as apc64-40 on ios?
That will map every note to corresponding CC (ie note 0 (C-2) will be CC 0) and uses the note's velocity to set the CC.
I would probably add this rule in front to ensure that a note off is converted to a note on with velocity zero:
8X = 9X XX 00
If you only want to remap one specific note to one specific CC, then you can specify that too, for example:
NX 3C = BX 07
which maps middle C to CC 7
As for your python question - I don't know. There is pythonista on iOS (and maybe another implementation) but whether these are rich enough to run that apc script is something you would need to find out.