Hi,
I need to send a MIDI command from an external device to stop a running arp, is there a specific CC, Sysex or any other MIDI event for this?
Earlier I used a foot switch pedal for that (Foot switch assigned to Arp Start/Stop) but now I need to use the pedal for a different task.
Thank you,
Eldad
You have options. The hard way would be to send Sysex to turn off arpeggios. An easier way would be to switch from one arpeggio to another and have the arpeggio you switch to set to "Mute 4/4" (or the time signature of your tune) so that the arpeggio is still running but sends no output. Switching to "Mute 4/4" can be done by a scene change (program the scene to set the arpeggio number to one which switches to "Mute 4/4" ). Switching scenes is more widely supported because scene switching is done with a CC message.
The CC for scene switching defaults to CC#92. You can verify this by navigating to [UTILITY] "Settings" -> "MIDI I/O"
Assuming you are using the default of CC #92:
CC92 = 0-15 Scene 1
CC92 = 16-31 Scene 2
CC92 = 32-47 Scene 3
CC92 = 48-63 Scene 4
CC92 = 64-79 Scene 5
CC92 = 80-95 Scene 6
CC92 = 96-111 Scene 7
CC92 = 112-127 Scene 8
If you programmed scene #8 to switch to arpeggio #5 (for example) and this arpeggio set "Mute 4/4" - then you would set CC92 to 112 which would tell MODX to switch to scene 8 and this would set the arpeggio(s) to "Mute".
That's probably how I would tend to do this.
If you wanted to turn off the arpeggio master switch, you could send a Sysex with H/M/L address of 0x30/0x47/0x03 and data value of 0x00 for off. 0x01 for on.
For more information about the H/M/L (high, middle, low) addressing and other details - see:
https://www.yamahasynth.com/ask-a-question/how-to-send-sysex-commands-to-modx
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Hi,
I need to send a MIDI command from an external device to stop a running arp, is there a specific CC, Sysex or any other MIDI event for this?
Earlier I used a foot switch pedal for that (Foot switch assigned to Arp Start/Stop) but now I need to use the pedal for a different task.Thank you,
Eldad
You can use cc64 Sustain instead of “Arp Hold = On” on those Parts, where applicable, to manage when the Arps run and when they stop.
Background
Arpeggios use the Clock but must be able to run with or without a Sequencer running. Therefore Starting and Stopping an Arpeggio is separate from Starting or Stopping a MIDI Sequence.
Sending just FA (the MIDI message for Start) will not cause an Arpeggio to start, nor will it cause a Motion Sequence to run. Both require a musically placed, trigger event involving the Keys (Note-On). The standard Transport controls: Start (FA), Continue (FB) and FC (Stop)* sent via MIDI do not affect the Arpeggiators or Motion Sequences in the same way it would a sequencer device.
* an important note, Yamaha added a feature that allows you to STOP an Arp by physically (directly) pressing the Transport [STOP] button (but this was added because so many people would reach for it as a means to Stop an internal Performance with multiple Arpeggios... but as you realize, the Arpeggiators need to be able to run completely independent of the Sequencer, and the FC message via MIDI is not recognized by the Arpeggiator Block.
Three Types of Arpeggio HOLD
_ When Arp Hold = On, once the Arp Phrase is triggered the Phrase will continue to play even without keys being held down. The Arp Phrase will always start from the top of the Phrase in response to the initial note-on. And it will continue playing whether or not you physically continue holding down keys.
_ When Arp Hold = Off, once the Arp Phrase is triggered the Phrase will begin to play and play as long as keys are held down. The Arp Phrase will always start from the top of the Phrase, and restart, from the top when all keys are released and new note events are played.
_ When Arp Hold = Sync-Off, it is exactly like Arp Hold = Off with the exception that the Arp Phrase starts from the top on the initial note-on but it does not restart the Phrase on subsequent note-on events. (It is like a hybrid of Arp Hold On and Arp Hold Off. The Phrase maintains its running status, and will sound only when keys are pressed (peek-a-boo).
In the case of “Arp Hold = Off”, and “Arp Hold = Sync-Off”, stopping an Arpeggio is as simple as letting go of the keys that are triggering it. When no Note-Ons exist, no Arpeggios will run. Stopping the external clock is sufficient to stopping these Arp Phrases
In the case of “Arp Hold = On”, the behavior is exactly like a cc64 On message (127) was inserted on the track — it plays continuously... and will stop only when the next Sustain Off cc64 (0) is received.
I would imagine it is the Parts with “Arp Hold = On” that are the ones you are concerned with stopping (controlling).
Solution
You could simply replace using “Arp Hold = On” with a cc64 message of 127 at the top of Sequence Tracks where you want the Arp to play continuously... then place a cc64 message 0 in the Track, at the point you want the Arp to Stop.
Arpeggios are musical entities that, like the music they contain, will only play when the Notes that trigger them are engaged. The Sustain pedal on electronic instruments differs from its acoustic counterpart. It works to replace holding down keys manually — in the case of the Arpeggiator Blocks, this means you do not have to manually hold the keys, the sustain message does that for you.
While Sysex can be used to turn the Master Arp or Part Arp Switches to OFF, it is not necessary to go that complicated a route.
Substituting the “Mute Arp” will accomplish silence but the Arpeggiators are actually still running (the instrument’s being controlled are just in a musical Rest). And you need to use a Scene button
Alternate CC method would be to send a Volume (cc7) or Expression (cc11) message (0) to the Part(s) at the required time on the Track.
Thank you Jason and Big Mister for the detailed answers!
Yes I meant "Arp Hold = On"
I find that the scene switching solution has advantage over the other solutions so it can stop the arp synchronized with the current quantization time, E.g. once I switch a scene then the arp will keep on playing until the selected quantization period has passed and only then it will stop.
I also find the SYSEX to be the most easy to implement, calculate the bytes data and just send them when needed (e.g. I use Camelot Pro).
What exactly do you mean by
replace using “Arp Hold = On” with a cc64 message of 127 at the top of Sequence Tracks
?
I programmed and use lots of arps, do you mean I need to edit each arp and add CC64 with value 127 at their beginning?
What if the arps were already recorded with sustain notes inside them?
Also - there are cases where I continue to play other regular parts (non-arp) using my sustain pedal while arps are held, will it cause the arps to stop?
I programmed and use lots of arps, do you mean I need to edit each arp and add CC64 with value 127 at their beginning?
No, the cc64 message must be sent IN via MIDI.
If you were to edit each Arp you would discover what I mean by how the Sustain message differs when Arp Phrases are involved... recording a cc64 message in the Arp data would cause the sounds in the Arp Phrase to sustain (like piano sustain). But I’m referring to sending cc64 to a Part under Arp control ... this will cause the Arp Phrase to HOLD (continue to loop)
You didn’t initially mention what type of device you are sending MIDI messages from... but if a Note-On triggers the Arp Part, a cc64 message on that same channel will cause the Arp Phrase to continue running until a cc64 message of 0 is received. Because a Sustain message takes the place of you holding the keys — when you hold the keys on an active Arp Phrase it continues to loop.