|
Post by janosax on Nov 27, 2018 14:13:19 GMT
Ok thanks Nic, that works much better!! I need now please to know how to change midi notes/channels in this code # toggle/latch IF LOAD ASS K0 = 92 3C # incoming note ASS K2 = B0 32 # outgoing CC ASS L0 = 7F # toggle flag END # match incoming note (press down) IF M0 == K0 K1 7F SND K2 K3 L0 # send outgoing CC MAT L0 = L0 ^ 7F # flip toggle END XX = XX +B As I need to remap for example button 4 Hold, button 3 single tap plus hold. I’ve changed notes code but I suppose midi channel music be set too to allow this to work? Also, if I place the new latch module after blue velvet I’ve also to connect blue velvet to janosax custom for allow other notes to play. In that case monitoring shows CC message and initial midi note, in this case C3. So what I need is a streambyter code to place after janosax custom to block only midi note(s)/channel(s) I use to control CC. see attachment. Thanks you
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 27, 2018 14:28:07 GMT
Hi janosax , These two lines change the incoming note event (from Blue Velvet) and the outgoing CC: ASS K0 = 92 3C # incoming note ASS K2 = B0 32 # outgoing CCAs you know, the 4 buttons generate A=C3/3C, B=D3/3E, C=E3/40, D=F3/41 (from your code). So change that 3C to 3E/40/41 depending upon whether you want button B, C or D And each type of event appears on a different channel: channel action ------------------------------------- 2 hold 3 single tap 4 single tap + hold 5 double tap 6 double tap + hold 7 triple tapSo, change that 92 to 9X for the type, where X is the number from the above table - 1 (eg. hold == 91) The outgoing CC is similarly adjusted. Replace B0 with BX where X is the channel number less 1 in hex and replace 32 with the CC number in hex. > Also, if I place the new latch module after blue velvet I’ve also to connect blue velvet to janosax custom for allow other notes to play. In that case monitoring shows CC message and initial midi note, in this case C3. So what I need is a streambyter code to place after janosax custom to block only midi note(s)/channel(s) I use to control CC.Probably all you need to do in Janosax Custom is to remove the mappings that are being handled in the other module(s). However, if you want to block specific events in Janosax Custom you just pattern match them. For example to block Button A - Hold, add: N1 3C = XX +Band add similar lines for other Blue Velvet events you wish to block. Regards, Nic.
|
|
|
Post by janosax on Nov 27, 2018 18:56:59 GMT
Hey Nic that works perfectly now thanks you very much for writing those rules and giving me explanations. I’ve to try Robotic Knob now. Here is screenshot of my current scene:
|
|
|
Post by janosax on Nov 28, 2018 3:10:49 GMT
Hey Nic, I’ve almost finished my setup, it will works equally well with Ableton and iOS so I’m pretty happy. I’ve made 16 and 24 actions variants with different latency settings. The CC latch version works now without any issues, with button 4 hold and single tap + hold sending CC’s. Scene-Jsx BlueVelvet 24 Latch.mfr (17.74 KB) Still have some issues with robotic knobs version as sometimes it send ramp up, most of time only CC 127 and never ramp done. Still with button 4 hold and single tap + hold. I’ve followed your instructions but I may miss something. Scene-Jsx BlueVelvet 24 robotic.mfr (19.91 KB) This is the only issue still there, that’s a pretty powerful setup now, thanks for all your help. Jean
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 28, 2018 10:17:00 GMT
Hi janosax , OK, I understand the problem with the Robotic Knobs - It's really subtle and I missed it. The Robotic Knob ramps up[/down on note ON events only. We are sending a note OFF when we toggle! So, here is how to fix: In both your Latch 4 Hold CC and Latch 4 STHold CC, make the following changes: Replace: SND K2 K3 L0 # send outgoing CCWith: SND 90 L0 10 # send outgoing noteIf you like, you can delete the line ASS K2 = 90 33 # outgoing note since it is no longer needed. Modify your 2 Robotic Knobs and change trigger type to 'Keyboard Position' Regards, Nic.
|
|
|
Post by janosax on Nov 28, 2018 15:51:32 GMT
Thanks Nic that works perfectly now.
I love how MidiFire can extend possibilities and customize everything to user needs. It’s a bit a hard learning curve concerning language, even if I know and understand what I wand/need to do, but you have been really helpful giving rules and explanations.
I love robotic knob speed settings, works so well with delays mix knobs in AUM. Now I can:
Triggers instrumental loops in Loopy HD with button A and B with up to 12 actions including effects if I need for example a bit crusher or delay on drums.
Trigger with button C record/overdub, toggle reverse, toggle fading, mute all, undo, clear all in blue Loopy version live saxes loops with individual pan settings.
Change VoicerackFX presets with round robin rules (I need only 4 on 5 presets bank), trigger on/off with adjustable ramp up/down up to 4 effects in AUM.
And I can do exactly the same thing with Ableton Live on laptop using rtpMIDI with midi over LAN-USB using shared iPhone connection.
So my two setups are unified and much much more powerful than before: very happy customer here, big thanks again :-)
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 28, 2018 18:24:38 GMT
Hi janosax , > It’s a bit a hard learning curve concerning language, even if I know and understand what I wand/need to doActually, Stream Byter itself is really quite simple. It only has 4 directives (ASS/MAT/IF/SND), pattern matching and variables. There is not much to it. If you have a good understanding of MIDI messages, then all that Stream Byter stuff makes much much more sense. My goto guide for MIDI messages is somascape - definitely worth getting a bit familiar with. > very happy customer here, big thanks again :-)Peut-etre vous pourriez laisser une critique? Regards, Nic.
|
|
|
Post by janosax on Nov 28, 2018 22:25:33 GMT
Je viens de laisser un avis sur l’AppStore, il devrait bientôt être visible :-)
Thanks for the link, I wish to go deeper in MidiFire and will try some stuff you’ve done in the video with the guitar and Robotic knobs!
Do you plan to do a Windows version? Instant buy for me if you make one!!
|
|
|
Post by janosax on Nov 30, 2018 17:39:31 GMT
My Midifire review is now visible on the AppStore :-)
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 3, 2018 14:25:48 GMT
Merci!
Regards, Nic.
|
|
|
Post by janosax on Jan 9, 2019 16:21:03 GMT
Hi Nic, happy new year! I use now MidiFire with BlueBoard everyday, it has really improved my live setup capabilities and works flawlessly! Perhaps you can help me for something else I need with that MidiFire Scene. I use a double Loopy setup (one for backing loops one for audio recordings) which allows me to record audio in various loops slots with individual pan settings. This gives a nice pre-mix with loops placement in stereo field, allowing the solo part to be dominant in the live mix. What I wish to do now is to use only one Loopy app using only one or two slots for audio, and to do some panning in Ableton Live with looper too. In the Janosax Custom module, there is that round robin set of rules which can play different notes for effects presets triggering. Is it possible to add some instructions for those 4 notes which allows for that: If F4 G4 A4 B4 are played, send also random CC XX value between XX and XX. Only one CC number is needed. Random CC value should not be set two consecutive times, with a minimum of perhaps 5% difference (can be randomly more of course too) between them, and one time on first half value range next time on other half (for pan settings one time on the left one time on the right), and with a fixed dead center zone of perhaps 10%. The desired behavior is that each time one of those 4 notes is played it also send a randomized CC value in a determined range. That way I could change effects presets via round robin notes but also trigger with random values pan setting on mixer channels sent to looper input channel, between for example 30% left 30% right, with the possibility of modifying all those values. Hope this can be done, I’ve seen randomization is possible with Streambyter, I don’t know how complicated it can be, but I suppose it is. Thanks in advance, Jean
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jan 10, 2019 9:45:17 GMT
Hi janosax , Right at the bottom of Janosax Custom is this code which rewrites the notes when button D is pressed/double pressed: IF M1 == 41 ASS M0 = MT KL0 ENDTo simply send a CC with a random value: SND B0 23 R7FWhich will send CC 35 on channel 0 with a random value between 0 and 127. A variable beginning with the letter 'R' will result in a random variable between 0 and the value that follows it. The extra trick here is we need to send the CC *before* the note, so merging/adjusting both of the snippets above we get: IF M1 == 41 ASS M0 = MT KL0
# send random CC first SND B0 23 R7F
# send the actual note SND M0 M1 M2
# block original note XX = XX +B ENDThis is just the basics. If you want to prevent the same random number occurring sequentially, minimum sequential random difference, specify a random range and parameterise the random ranges as you describe, then that requires more rules to massage the value passed to the R variable and afterwards. ;-) Regards, Nic.
|
|
|
Post by janosax on Jan 10, 2019 23:40:27 GMT
Thanks Nic, that works as it should Unfortunately, that don’t sounds good from a mix perspective. I really need the other variables. I sent you a pm. Regards Jean
|
|
|
Post by janosax on Jan 13, 2019 1:41:11 GMT
So here are the other variables needed:
The idea is to give a dead zone space in center to help sax solo part to be dominant: 5% on left 5% on right, for a total of 10% in the pan center where pan knob will never be triggered.
Dead zones are also needed on the extremes, but that can be done in the DAW easily via midi learn settings. This helps to center saxes loops in the stereo field.
Each time a pan value is triggered, that should be one time on left range and one time on right range. Because, with pure randomization, I can record three consecutive loops on the left or right, and it will not sound balanced in the mix. So the rules should allow to trigger alternatively on right and left, within authorized zones.
And each time a value is triggered on left or right it should not be the same value of previous one, this is to avoid phase issues. Two loops exactly on say 10 left will sound bad. So perhaps it’s possible to allow rules to set a minimum value difference between each left or right trigger, for example 3 or 5%. At the end of a cycle that can be a value already triggered, that’s not a problem.
See the Loopy screenshot above, there are 5, 10 , 15 ... up to 30 % alternatively on left and right. I usually record max 6 loops and erase everything and start recording new loops. If it’s more easy, rules could reproduce that, but randomization could be cool :-)
Thanks Nic for all your help!
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jan 14, 2019 9:43:29 GMT
Hi janosax , OK, that makes more sense to me now. Thanks for the explanation. Sounds like it would be best to create a separate module for the random panning that only triggers on specific notes (which in itself is probably best as a separate module) and feed this from the janosax custom. Please leave this with me and I'll come back with a mergable scene to try out over the next few days.. Regards, Nic.
|
|