|
Post by dimideo on Apr 8, 2020 14:11:02 GMT
Hello!
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.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 8, 2020 14:47:35 GMT
Hi dimideo , Your code will send a mute on with any MIDI event that does not match that CC. You need something like this: # look for the CC IF M0 == B0 2C IF M2 < 40 # mute = ON, if cc value is 'OFF' SND B0 5E 01 ELSE # mute = OFF, if CC value is 'ON' SND B0 5E 00 END ENDRegards, Nic.
|
|
|
Post by dimideo on Apr 8, 2020 15:59:51 GMT
Hi, Nic!
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.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 8, 2020 16:05:57 GMT
Hi dimideo , > 2. CC does not come from Pyramid (pattern is muted) - send to Analog Rytm CC94 vol 1How do we detect when something doesn't happen? :-) Or do you mean if no CC's have been received for a certain amount of time, then send the mute ON? Regards, Nic.
|
|
|
Post by dimideo on Apr 8, 2020 16:23:01 GMT
> How do we detect when something doesn't happen? :-) Well, look: On the example of a send Note 90 3C = B0 5E 00 - Pattern ON (Note ON), sending CC 94 vol 0 to Analog Rytm 80 3C = B0 5E 01 - Pattern OFF (Note OFF), sending CC 94 vol 1 to Analog Rytm But for a CC this does not work.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 8, 2020 16:58:35 GMT
Hi dimideo, A toggle CC will usually switch between the values 0 and 127, so the on and off messages look like: B0 12 7F (on) B0 12 00 (off) If all you need to do is convert a normal toggle CC to your mute CC, then it is something like: B0 2C 40-7F = B0 5E 00 B0 2C 00-3F = B0 5E 01but that is what I wrote for you at the start of this thread. I'm obviously missing something. What is the source message that you want converted to mute ON? (CC 94 value 1) Regards, Nic.
|
|
|
Post by dimideo on Apr 8, 2020 17:06:50 GMT
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.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 8, 2020 17:23:06 GMT
Hi @dimedo,
> 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?
Regards, Nic.
|
|
|
Post by dimideo on Apr 8, 2020 18:03:57 GMT
What are you using to route the Pyramid <-> Analog Rytm? iConnectMIDI2+
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 8, 2020 18:18:43 GMT
Hi dimideo, Are you using DIN midi for both hardware units? What app is hosting StreamByter? Check that the iConnect is not sending MIDI between the pyramid and rytm directly (use iConnectivity's configuration app) - you want only one stream of MIDI events going through StreamByter. The MIDI wrench finding might be a red herring - it is probably showing you the events from the pyramid, but the fact that the rytm is seeing your note means something is sending it on. somewhere. Regards, Nic.
|
|
|
Post by dimideo on Apr 8, 2020 19:22:12 GMT
Hi dimideo , Are you using DIN midi for both hardware units? Yes. > What app is hosting StreamByter? MidiFire > Check that the iConnect is not sending MIDI between the pyramid and rytm directly (use iConnectivity's configuration app) - you want only one stream of MIDI events going through StreamByter. Pyramid and Rytm connected not directly via iConnectivity app. I tried several routing options, but everything remains the same. That's why I started looking for another solution to this problem, because I could not find where this note is sent.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 8, 2020 20:08:55 GMT
Hi dimideo , 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. Regards, Nic.
|
|
|
Post by dimideo on Apr 9, 2020 13:47:49 GMT
Hi dimideo , 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. The way it is, when I break the connection in midfire - the Rytm does not respond. Check PM, please. I sent my settings. Maybe can solve this issue using CC messages?
|
|
|
Post by soundsfun on Sept 22, 2020 21:29:14 GMT
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?
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Sept 23, 2020 9:44:22 GMT
Hi soundsfun , The simplest, one line rule is: NX = BXThat 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 00If you only want to remap one specific note to one specific CC, then you can specify that too, for example: NX 3C = BX 07which 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. Regards, Nic.
|
|