Yarns And Pamelas Workout


Speaking of SYSEX is there even a good software tool that acts like a BCR2000? I would love something like that for converting CCs to learned SYSEX messages. I could just use my Beatstep to send CCs over USB to change SYSEX over USB to MIDI.

Now that is a mess, but it would work.
Not to mention the advantages of sequencing CCs from a DAW to a device that has no issue handling quite a few active changes.


Funny, I never had issues with live and MIDI, I must be a lucky person :smiley:


Standard MIDI, a Xio25 and the GM5x5x5 has been good to me in the world of Live, but I haven’t pushed the boundaries, brought sysex pain into it, my BCR2000 or done anything fancy. I like it just for the FM synth, working with clips and audio.

I’m sort of hoping that Bitwig will just expand upon that, kiss and make it better.


It’s always Live because that’s what all the kids start out with these days.

And yeah, Live sucks if you want NRPN or SysEx, but that’s not the issue here or even in most cases.

The basic stuff just work perfectly fine, including sync while using it as a master (I don’t think really there’s any DAW that works well slaves to an external clock source).


@audiohoarder That is pretty easy to do if you don’t mind writing some code.


@t2k: I don’t mind writing some code; do you mind pointing me in the right direction?


So no-ones ever had sync problems with live? Ive sat there and listened to it clear drift in and out of sync - this was an OT, Matrix 1000 (which are notoriously sloppy) and shruthi.
Im planning an Expert sleepers ES3 for sample accurate MIDI - and all the cool CV stuff for modular.
Am i wasting my money?


> sample accurate MIDI

MIDI timing accuracy depends on the receiving hardware.

I’d try to understand first what causes the timing to be sloppy in the first place… There’s no point in having sample accurate MIDI if there’s jitter introduced by the software running on the receiving end. Which is probably going to be the case for any old vintage synth (say the Matrix 1000).

Similarly, the Shruthi has, by design, up to 1ms of delay between the time the last clock transition of the last byte of the MIDI message; and the moment the note starts.


Unfortunately I cannot get Pamela to sync properly but I think that is where the problem lies.

I have got Yarns running perfectly now with Ableton and clocking my Intellijel Metropolis sequencer so the problem must be with Pam.


Yes Ive read the innerclock test where they how well HW clocks to midi and there is a huge difference.
I cant afford the ES right now so it will be interesting to see how it behaves now Ive got a new MIDI interface (iconnect) and properly setup.
I have a number of other reasons for the ES route but sync is one. Ill take sample accurate everytime.
I was unaware the MIDIpal was so accurate.
Totally OT but I got the Iconnect working perfectly with OP-1, Midipal combo :))))))


@audiohoarder Might not sound like the most obvious choice, but I’ve been using simple Node.js scripts for this. I found that the Node.js event model works well for this kind of MIDI handling and there’s a very nice wrapper for the RtMidi C++ library (see https://www.npmjs.org/package/midi). The biggest benefit of this wrapper is that you can set up virtual ports for your DAW to connect to (doesn’t work on Windows though) so that you can use your script to convert CCs sent from Live to SysEX.

If you want to look at some code, then https://github.com/tvandervossen/pg-mks-50 might be of interest. This is primarily a simple patch editor for the Alpha Juno and MKS-50 that uses the Killamix Mini as its input device, but it also opens a virtual port that does CC to SysEx conversion (start looking from https://github.com/tvandervossen/pg-mks-50/blob/master/programmer.js#L117 onwards).

I could write a reduced script with this functionality only to get you started if you like.


@t2k: I did a few searches and ended up there thanks to the MI forums too. As I am not familiar with Node.js, I would appreciate a reduced script. :slight_smile:
I will have to find away around the DAW thing. I kind of forgot that when the MIDI ports are in use by another program they aren’t usable by the DAW. Or if they are in use by the DAW they can not be used by another program. However, you can use “rewire” to send midi and other stuff like automation to another DAW, so it looks like I will have to make a kind of VST/DAW wrapper, and that will not be so straight-forward.

So it looks like I will be double-wrapping it. :wink: Never a good idea, however I doubt the latency will be noticeable with such small data messages.


@audiohoarder On OS X, those ports are shared in my experience. What platform and DAW are you on?


@t2k: I am on Windows 7 using FL studio.
I will say that when I use C6 to back up patches the MIDI in FL Studio throws an error. Close C6 and it goes away.


@audiohoarder This is not gonna work for you if you’re on Windows. You really need to be able to create and connect to virtual MIDI ports for this stuff to make sense.


@t2k: When I read this the other day I thought there was something obvious in the way. :frowning:
It looks like the only “good” option is a VST wrapper inside the DAW. Each plugin in FL Studio can be assigned a self-contained MIDI port and channel that communicates fine with the outside world. These don’t need to generate audio. Conveniently there is already a module in FL studio that generates and receives all the CCs you could want. So it is an issue of running that MIDI signal though the converter. And back again.


@audiohoarder Yes, my understanding is that on Windows your MIDI mangling should be done using a plugin inside your DAW while on OS X and Linux you have the ability to route virtual MIDI devices between multiple applications.


@t2k: If I didn’t think that it would be a good idea to have SYSEX profiles saved, this could be a simple hardware thing, but software seems the better choice for this. Unless Node.js and the C++ wrapper can be shoved on a cheap arm connected to an SD card or other storage medium.
Then there is still the issue of managing the profiles anyway. :smiley:
Then again it would work with any MIDI enabled device. Pros and cons…


@audiohoarder This should run fine on a Raspberry Pi, but I really can’t guarantee anything. I’m also no longer using the computer for music, so this is not something that has my immediate interest.

A benefit to writing your own code is that you have full control over how the CC-to-SysEx translation works exactly, but it only makes sense if all the components are available and work well.


@t2k: At this rate I will have to change my screen name to devboard hoarder, haha.
I will have to think about how to even go about this. I will admit it is not high on my list either. Most people would have no use for it, and I only want it for sequencing parameters on older synthesizer from my sequencer of choice as most support CCs.

I am far more interested in what I can squeeze out of efficient PIC programming and analogue components. This is what is catching my attention at the moment. It is cheaper to have modular PICs than to have one overpowered microcontroller.