Octatrack MKII Gate Pattern Change like MachineDrum

The order should be
Notes on > PC
Notes on > B35
Notes off > Stop

This is wrong of course. Choose continue instead.

Thank you!

This generic code is now working. However, on the Machinedrum I can move between patterns playing seamlessly, and it only stops when there are no keys pressed.

With the code below on the Octa I can move between patterns but I have to lift the key fully before I press another key, or else it might get stuck on a stop.

So in other words. I need to filter out the stops from taking place when a key is being pressed. The stop should only occur when no patterns are playing/ no key is being pressed.

Make sense?

F0 00 00 50 29 02 00 00 02 00 7F 01 03 01 7F 02 02 00 7F F7
9C 00 00
CC 00
{ Setting #1: Map all Note-On events of velocities 1 - 127 on MIDI channel 13 to Program Change events on MIDI channel 13, with the incoming Note number mapped to the outgoing Program Change number. Continue to process settings (right-click to edit) }

F0 00 00 50 29 03 01 00 02 00 7F 01 03 01 7F F7
9C 00 00
9C 23 40
{ Setting #2: When the Note number of Note-On events on MIDI channel 13 moves into the range 0 - 127 and the velocity moves into the range 1 - 127, trigger a Note-On #35 of velocity 64 on MIDI channel 13. Continue to process settings (right-click to edit) }

F0 00 00 50 29 02 02 00 02 00 7F F7
9C 00 00
9C 21 40
{ Setting #3: Map all Note-On events of velocity 0 on MIDI channel 13 to Note-On #33 of velocity 64 on MIDI channel 13. Continue to process settings (right-click to edit) }

Quite tired and late for me but I guess it’s because you don’t send notes off when you hold keys.
Workaround would be send a note off when you send a note on maybe. :wink:

The issue is the Processor has no way of knowing that I am holding a key, or changing back and forth between other keys.

Each time I lift a key, a note off is sent, therefore sending the stop message. So depending on timing of key presses, sometimes the pattern plays, and some times it stops.

The only time note off (stop) should be sent is when no pattern play keys are being pressed. So I guess I will need some conditional argument where the “stop” is only sent if there are no incoming note on events.

I appreciate the help. There is no rush.

I will do some of my own research tonight, and experiment.

I appreciate the idea ! :slight_smile:
I have to try it anyway so you can count on me for (possible) improvements !
We need a kind of monophonic behavior.
Try to map a Stop when receiving a note on, after PC message maybe…:sketchy:

2 Likes

Exactly.

I am going to experiment with some conditional settings.

2 Likes

I think this could be done with a Bomebox? I know you probably don’t feel like investing in one since you already have a MPP, but anyways…

I would be happy to do so if it will work. I am still banging it out with the MPP trying to get it to work. I am eyeballing another Machinedrum to control the OT as an alternative. But I will be selling myself short not being able to use Plocks if I do that. I have heard about the Bomebox. What is the difference?

So far I am able to get the patterns to play as needed, but the fail is where the stop comes into play. As Sezare said, it needs to have a Monophonic action. The stop needs to be filtered until there are no incoming keyboard messages at the final note off.

I would like to see if it is achievable with the MPP. Playing around with it is at least getting me to learn how to get things done. I am new to this stuff. I have a MD to learn from, but I do not think it is sending out the midi gate events that are taking place internally. It does send the pattern changes though.

:coffee:
Trying possibilities of the EPP soft I almost thought it was impossible but I had an idea :
Store each note as a variable 1.
Map note off with this variable 1 to Stop.
Only the last played note off would stop the sequencer…:loopy:

I hope it works !
Advice : Check settings numbers when you modify a script, the order can be wrong)

F0 00 00 50 29 02 00 00 02 00 7F 01 03 00 7F 02 02 00 7F F7
9C 00 00
CC 00
{ Setting #1: Map all Note-On events on MIDI channel 13 to Program Change events on MIDI channel 13, with the incoming Note number mapped to the outgoing Program Change number. Continue to process settings (right-click to edit) }

F0 00 00 50 29 02 01 00 02 00 7F 01 03 00 7F 03 03 00 7F F7
9C 00 00
9C 23 00
{ Setting #2: Map all Note-On events on MIDI channel 13 to Note-On #35 events on MIDI channel 13, with the incoming velocity mapped to the outgoing velocity value. Continue to process settings (right-click to edit) }

F0 00 00 50 29 07 02 00 02 00 7F 01 03 00 7F 02 00 00 7F F7
9C 00 00
{ Setting #3: With all incoming Note-On events on MIDI channel 13, store the Note number in “variable 1”. Continue to process settings (right-click to edit) }

F0 00 00 50 29 02 03 01 03 00 7F 10 02 00 00 F7
8C 00 00
FC
{ Setting #4: Map all Note-Off events matching the note number in “variable 1” on MIDI channel 13 to MIDI Stop events. Continue to process settings (right-click to edit) }

2 Likes

That did not work for me. I made some changes to the variable settings and was able to get the stop to occur as it should. However the behavior is similar to the prior stop code. The stop code needs to be skipped all together when there is any action on the keyboard. There are still other options for achieving this I think.

I have had the most luck with stop messages being sent as #33. The OT does not seem to respond to the “Stop” command, whatever that is.

I can confirm that the MD only sends Program changes. Nothing else to capture. Same story with the keyboard. So it looks like coding it is the only way to make it happen.

I have to say though. I am pretty happy with the results thus far. I am able to play the patterns as long as I am carful to lift off of each key before moving to the next pattern. That is a great start!

1 Like

So I guess you play synths or something with the same keyboard and same notes when you change OT patterns ?
Otherwise if you don’t hold several keys only the last played will send stop. You can also select a range for patterns only…

I don’t think there’s a way to analyse when there is 1 or several notes.
There is a “Turn of setting” event. :thinking:

I just came to that conclusion myself. I am happy with the outcome though.

I will pick up another MD. In the mean time though this is a great way to write patterns into a DAW. One of the biggest gripes on the OT has been the dreaded delay of the patterns needing to complete. With this bolt on you can put the pattern starts exactly where you want them, and size them to your liking.

Thanks for all your input!

I have been toying around with the turn off setting function. Nothing working so far. There is not much to go off of when the notes are just on or off. There is no way to count them with this processor. But if there was…

If you have ever used the gate feature on the MD it becomes addicting. It really helps in coming up with grooves when you can switch it up like that. It brings a very nice live feel to what otherwise would sound like a XOX sequencer. Unless of course you programmed the hell out of it. Is it worth owning another MD for just that one feature? I think so.

Does this mean I should not edit posts? Is that considered withdrawn?

Don’t know but yeah with MD it should work, mapping PC to B35.

I bring MD only with me today !

The MD works out of the box. You can map each pattern to any key you want, and select Gate instead of Que or Start. Why they left this out in later boxes is a mystery to me.

Once I married my MD to external drum boxes, even the OT I was in heaven. It really is the best drum brain out there IMO. I actually only picked up the OT to expand my sample options, as swapping out samples on the MD UW is a time warp.

1 Like

I meant MD controlling OT.
Analog Four has Multi Map for pattern changes, but no GATE if I remember well.

1 Like

Bomebox can run full bome MIDI translator scripts. Bome MIDI translator is pretty powerful and can manipulate MIDI data in quite complex ways. There’s also support for local and global variables for storing and manipulating data etc.

https://www.bome.com/products/miditranslator

1 Like