VM2 - Hardware synth CV/Clock connectivity
-
- Posts: 29
- Joined: Sat Apr 18, 2020 9:18 am
Re: VM2 - Hardware synth CV/Clock connectivity
Ah right - so can be filtered...
-
- Posts: 29
- Joined: Sat Apr 18, 2020 9:18 am
Re: VM2 - Hardware synth CV/Clock connectivity
After extensive testing, I've settled on what I believe to be the only reliable and stable method of syncing VM2 as a slave to modular and semi-modular hardware.
CLOCK SYNC:
1. Pulse sync (from audio-input) needs to patched through the Cherry Audio Gain module (+12db) to achieve a robust pulse wave sync signal. I used Cherry Audio's Oscilloscope module to verify the wave. Thanks @Koshdukai for this tip
2. Patch out from the Gain into the Cherry Audio Clock Divider module. As I'm using 24ppqn on the external hardware (Arturia Minibrute2S in this case) I need to use both parts of the Clock Divider as the Cherry Audio divider only allows divisions of up to 16x.
3. Use Andrew Macaulay's Tempo module to verify the divided clock. At 12x division (I'm using 24ppqn) the tempo is double the source synth, so I need to patch into the lower section of the Clock Divider and divide by a further 2x to get the tempo I am feeding into VM2. Andrew Macaulay's Tempo module verifies that the sync clock is solid (at 100bpm in my test case). This clock is actually now far more stable than the MIDI clock in my experience.
4. I can then use the clock-out from the lower section of the Clock Divider to patch into an external clock in a sequencer module, for example. A Mult here would be sensible so you can distribute the clock. Remember to hit the "EXT" button to enable external clock on the sequencer.
TRANSPORT:
5. I could find no way to enable sequencer transport control in VM2 without resorting to MIDI. I tried many combinations of modules, but the Run/Stop triggers from my MiniBrute2s (routed in the same way as the sync) would not be reliably interpreted by the sequencer module (double first-steps, response delays). So instead, I had to use MIDI. I used the Cherry Audio MIDI In module, selected my hardware source, and patched the MIDI Out into a Cherry Audio MIDI-CC Converter module (converting CCs to CV triggers). I grabbed the MIDI CCs sent by the MiniBrute (again thanks to Andrew Macaulay's MIDI monitor module) and mapped Seq Start and Seq Stop and patched these to the sequencer's Stop/Start trigger inputs.
6. I patched the Seq Start CV from the MIDI-CC Converter into the RESET of the Clock Divider to keep the sync start tight.
Here's the modules I used:
Here's the patching:
I hope this is helpful to other VMers using hardware to drive VM2. It feels like a lot of hoops. I know this is "modular, right?" but I can't help thinking there's an opportunity for a much more elegant solution if Cherry Audio provided this capability in the IO panel. Also, I have concerns over the stability of some of the MIDI modules. For example, in one of my test iterations I used the MIDI Clock Divider module - which suffered from inconsistent timing AND nearly always needed resetting to the correct division when loading the patch - it didn't seem to be saved correctly.
J
CLOCK SYNC:
1. Pulse sync (from audio-input) needs to patched through the Cherry Audio Gain module (+12db) to achieve a robust pulse wave sync signal. I used Cherry Audio's Oscilloscope module to verify the wave. Thanks @Koshdukai for this tip
2. Patch out from the Gain into the Cherry Audio Clock Divider module. As I'm using 24ppqn on the external hardware (Arturia Minibrute2S in this case) I need to use both parts of the Clock Divider as the Cherry Audio divider only allows divisions of up to 16x.
3. Use Andrew Macaulay's Tempo module to verify the divided clock. At 12x division (I'm using 24ppqn) the tempo is double the source synth, so I need to patch into the lower section of the Clock Divider and divide by a further 2x to get the tempo I am feeding into VM2. Andrew Macaulay's Tempo module verifies that the sync clock is solid (at 100bpm in my test case). This clock is actually now far more stable than the MIDI clock in my experience.
4. I can then use the clock-out from the lower section of the Clock Divider to patch into an external clock in a sequencer module, for example. A Mult here would be sensible so you can distribute the clock. Remember to hit the "EXT" button to enable external clock on the sequencer.
TRANSPORT:
5. I could find no way to enable sequencer transport control in VM2 without resorting to MIDI. I tried many combinations of modules, but the Run/Stop triggers from my MiniBrute2s (routed in the same way as the sync) would not be reliably interpreted by the sequencer module (double first-steps, response delays). So instead, I had to use MIDI. I used the Cherry Audio MIDI In module, selected my hardware source, and patched the MIDI Out into a Cherry Audio MIDI-CC Converter module (converting CCs to CV triggers). I grabbed the MIDI CCs sent by the MiniBrute (again thanks to Andrew Macaulay's MIDI monitor module) and mapped Seq Start and Seq Stop and patched these to the sequencer's Stop/Start trigger inputs.
6. I patched the Seq Start CV from the MIDI-CC Converter into the RESET of the Clock Divider to keep the sync start tight.
Here's the modules I used:
Here's the patching:
I hope this is helpful to other VMers using hardware to drive VM2. It feels like a lot of hoops. I know this is "modular, right?" but I can't help thinking there's an opportunity for a much more elegant solution if Cherry Audio provided this capability in the IO panel. Also, I have concerns over the stability of some of the MIDI modules. For example, in one of my test iterations I used the MIDI Clock Divider module - which suffered from inconsistent timing AND nearly always needed resetting to the correct division when loading the patch - it didn't seem to be saved correctly.
J
- Attachments
-
- Screenshot 2020-05-31 at 11.59.48.jpg (802.73 KiB) Viewed 5428 times
Re: VM2 - Hardware synth CV/Clock connectivity
I'm assuming you've routed the MS2S Run signal through a 2nd audio channel and got it through a Binary module to get Start vs Stop signals out of the single Run signal?JayBee6244 wrote: ↑Sun May 31, 2020 11:34 amTRANSPORT:
5. I could find no way to enable sequencer transport control in VM2 without resorting to MIDI. I tried many combinations of modules, but the Run/Stop triggers from my MiniBrute2s (routed in the same way as the sync) would not be reliably interpreted by the sequencer module (double first-steps, response delays).
I'm not near my MS2S right now, so I can't confirm this nor I remember if Run is a Gate or a Trigger type of signal.
Either type, you might need some extra logic (probably Boolean Logic and/or Trig-to-Gate modules) to convert either the Run Gate to Reset Trigger or Run Trigger to Start/Stop Gates
Also, check the Run signal strength. It might need some extra Gain help, like the Clock pulses did.
...because, if you're going to use MB2S MIDI for Transport, then you might as well use its MIDI Clock too, no?
-
- Posts: 29
- Joined: Sat Apr 18, 2020 9:18 am
Re: VM2 - Hardware synth CV/Clock connectivity
Yes, separate audio input for Run/Stop (which is a trigger signal) into Gain (checked in Oscilloscope). I'll experiment with some logic modules as I didn't try this - but it didn't occur to me as I could see the trigger voltage in the 'scope.I'm assuming you've routed the MS2S Run signal through a 2nd audio channel
Re: VM2 - Hardware synth CV/Clock connectivity
ok, so if the RUN signal is Trigger, you can use it to reset clock like you did with CC54
then, unless you have a module that toggles Gate state through Trigger, you might be better doing this for SEQ Play and Stop:
use TRIG-TO-GATE to convert Clock to PLAY (Gate Length 100ms should be enough)
then use that same signal but negated to control STOP
to negate it, feed it to both inputs of a BOOLEAN LOGIC module's NAND (since I can't find any Boolean NOT module) I think the MS2S only outputs Clock while playing so the above should be enough to control PLAY/STOP with Clock while Run should be able to reset clock.
I may want to look at this module, if you're interested:
https://store.cherryaudio.com/modules/t ... ate-toggle
then, unless you have a module that toggles Gate state through Trigger, you might be better doing this for SEQ Play and Stop:
use TRIG-TO-GATE to convert Clock to PLAY (Gate Length 100ms should be enough)
then use that same signal but negated to control STOP
to negate it, feed it to both inputs of a BOOLEAN LOGIC module's NAND (since I can't find any Boolean NOT module) I think the MS2S only outputs Clock while playing so the above should be enough to control PLAY/STOP with Clock while Run should be able to reset clock.
I may want to look at this module, if you're interested:
https://store.cherryaudio.com/modules/t ... ate-toggle
Re: VM2 - Hardware synth CV/Clock connectivity
btw, did some tests with 48PPQ and that's kinda compatible (still half though) with VM's own Sync Generator, so you can use the SYNC DIVIDER module with "raw" (gain corrected) Clock pulses instead of the CLOCK DIVIDER module, if that's more suited.
-
- Posts: 29
- Joined: Sat Apr 18, 2020 9:18 am
Re: VM2 - Hardware synth CV/Clock connectivity
Hmmm, interesting.
I've tried the Sync Divider and it works as advertised BUT, the timing is perceptibly 'late' when compared to using the Clock Divider. Switching between the two setups one after the other reveals a noticeable difference - I mean milliseconds - but perceptible. I'm sticking with the clock divider, divided by itself.
I've tried the Sync Divider and it works as advertised BUT, the timing is perceptibly 'late' when compared to using the Clock Divider. Switching between the two setups one after the other reveals a noticeable difference - I mean milliseconds - but perceptible. I'm sticking with the clock divider, divided by itself.
Re: VM2 - Hardware synth CV/Clock connectivity
For what it's worth, midi clock is always a bit inconsistent no matter the program. Sending out Midi Clock from DAWs always has some jitter. If the tempo is 110, my external gear would read the tempo around 109.9,110.1, with it never being steady.
My solution has been to send out a multiplied clock as audio into my modular and it syncs perfectly, with no jitter.
My solution has been to send out a multiplied clock as audio into my modular and it syncs perfectly, with no jitter.
-
- Posts: 29
- Joined: Sat Apr 18, 2020 9:18 am
Re: VM2 - Hardware synth CV/Clock connectivity
@Koshdukai
Here's where I've ended up (THANK YOU for all your help and ideas!)
I tried the Trigger Sync and Gate Toggle module, but in the end I found a solution using Andrew's CV-Gate module. I added +12db gain to the Run trigger and set Trigger at +5V and Release at -5V, patching respectively to sequencer start/stop.As you suggested, Clock reset came from Run trigger too. Tempo is rock solid and transport functions work perfectly. This is now a very good solution - which also gets around some issues I've experienced with the MIDI In and MIDI-CV Converter modules, which seem to repeatedly crash VM2 (reported).
I'm far from a purist (I'm a modular noob) but this solution - avoiding MIDI where it has no business - is much superior and definitely in the spirit of hardware->software modular connectivity.
Here's where I've ended up (THANK YOU for all your help and ideas!)
I tried the Trigger Sync and Gate Toggle module, but in the end I found a solution using Andrew's CV-Gate module. I added +12db gain to the Run trigger and set Trigger at +5V and Release at -5V, patching respectively to sequencer start/stop.As you suggested, Clock reset came from Run trigger too. Tempo is rock solid and transport functions work perfectly. This is now a very good solution - which also gets around some issues I've experienced with the MIDI In and MIDI-CV Converter modules, which seem to repeatedly crash VM2 (reported).
I'm far from a purist (I'm a modular noob) but this solution - avoiding MIDI where it has no business - is much superior and definitely in the spirit of hardware->software modular connectivity.
Re: VM2 - Hardware synth CV/Clock connectivity
Cool! That's great to know