greetings, thanks, a conundrum & a little present
Posted: Fri Jan 17, 2014 6:53 pm
Hello!
I've been lurking here for about a month now, avidly devouring all the info that you guys have kindly shared with your examples, explanations and debates. There is a wealth of info here and at the SM site that has been monumentally useful in getting to grips with FS. Your generosity in sharing ideas is a credit to you all and much appreciated. I've been tempted to post with questions before, but have always found some useful pointers on the forum, but now I'm really stumped as to how to proceed with my project, so could do with some insights.
My project;
I built a simple MIDI / NRPN interface for one of my samplers (korg esx). Each incoming hit triggers exactly the same sample on the machine, but with a different start point. simple and very effective, plays live great, massively exploits the functionality of the machine.
The problem;
Although the plugin plays live without problems, when i try to record to the machine's internal sequncer, results are haphazard. Notes are allways recorded in the right place, but the NRPN data was often on the next step of the sequencer. I figured that because of the sequencer's low resolution (1/16), note and NRPN data were being seperated. I thought that by using a piano roller or adding a sequencer to my plugin I could get the input accurate enough to record correctly on the machine, but noticed EVEN MORE CONSISTENT FAIL. Every incidence of NRPN / CC data was on the step after it should have been.
A moment of clarity;
I realised that the problem wasn't accuracy it was rather that the sampler's sequencer records note and NRPN data differently. Note start point is quantised to the closest step start position, but cc data is recorded at the value it was at the start of each step. considering that the midi clock triggers the plugin, the CC data is never going to be right on the money and will always get shifted to the next step. to test this, i setup a midi loop in ableton and FL, triggering my plugin and.....turned off grid and shuffled the whole selection a nudge to the left. PERFECT results.
This leaves me with a big conundrum that kind of decides whether it is worth continuing development and if so how.
I want to make my plugin (or standalone) transmit data from just behind the midi clock, not exactly on it, but have no idea how to do this.
I have tried using the delay compensation primitive on the vst version of my interface, but this doesn't do the job, it delays the playing of everything except my interface, but still send clock and NRPN at the same sync
I think now that the only way forward now a standalone interface, where the clock and sequencer are slightly off sync (the clock very slightly behind the sequencer tick). Any suggestions as to how to do this would be greatly appreciated.
A present
I said in the title that there was a present and indeed I'd hate to introduce myself without anything to offer, so....here is an abomination that I made, it's based on the on the fly pattern switching that i used to use with FXpansion's Guru or now with midi clips in ableton. It is a ham fisted amalgamation of; my crappy clock / ticker, myco's tabbed GUI and the arp sequencer from the example synth. It is far from perfect, most of the schematics used are a bit of a mess as I'm still very much finding my way, but maybe someone will find the idea useful (although it's probably been done much better already), anyways, here it is.
use the 3 buttons to flick between which sequence is playing and sent to the outs.
The switcher also gives an idea of how the clock and the sequencer interact in my plugin too.
edit; oooooops, seems that my schematic is so bloated that i can't attach it (the enormous background image probably doesnt help!)
so here's a dl linky
https://www.dropbox.com/sh/m8egok231qkgio0/jj4RdrrdOR
thanks in advance for any pointers
I've been lurking here for about a month now, avidly devouring all the info that you guys have kindly shared with your examples, explanations and debates. There is a wealth of info here and at the SM site that has been monumentally useful in getting to grips with FS. Your generosity in sharing ideas is a credit to you all and much appreciated. I've been tempted to post with questions before, but have always found some useful pointers on the forum, but now I'm really stumped as to how to proceed with my project, so could do with some insights.
My project;
I built a simple MIDI / NRPN interface for one of my samplers (korg esx). Each incoming hit triggers exactly the same sample on the machine, but with a different start point. simple and very effective, plays live great, massively exploits the functionality of the machine.
The problem;
Although the plugin plays live without problems, when i try to record to the machine's internal sequncer, results are haphazard. Notes are allways recorded in the right place, but the NRPN data was often on the next step of the sequencer. I figured that because of the sequencer's low resolution (1/16), note and NRPN data were being seperated. I thought that by using a piano roller or adding a sequencer to my plugin I could get the input accurate enough to record correctly on the machine, but noticed EVEN MORE CONSISTENT FAIL. Every incidence of NRPN / CC data was on the step after it should have been.
A moment of clarity;
I realised that the problem wasn't accuracy it was rather that the sampler's sequencer records note and NRPN data differently. Note start point is quantised to the closest step start position, but cc data is recorded at the value it was at the start of each step. considering that the midi clock triggers the plugin, the CC data is never going to be right on the money and will always get shifted to the next step. to test this, i setup a midi loop in ableton and FL, triggering my plugin and.....turned off grid and shuffled the whole selection a nudge to the left. PERFECT results.
This leaves me with a big conundrum that kind of decides whether it is worth continuing development and if so how.
I want to make my plugin (or standalone) transmit data from just behind the midi clock, not exactly on it, but have no idea how to do this.
I have tried using the delay compensation primitive on the vst version of my interface, but this doesn't do the job, it delays the playing of everything except my interface, but still send clock and NRPN at the same sync
I think now that the only way forward now a standalone interface, where the clock and sequencer are slightly off sync (the clock very slightly behind the sequencer tick). Any suggestions as to how to do this would be greatly appreciated.
A present
I said in the title that there was a present and indeed I'd hate to introduce myself without anything to offer, so....here is an abomination that I made, it's based on the on the fly pattern switching that i used to use with FXpansion's Guru or now with midi clips in ableton. It is a ham fisted amalgamation of; my crappy clock / ticker, myco's tabbed GUI and the arp sequencer from the example synth. It is far from perfect, most of the schematics used are a bit of a mess as I'm still very much finding my way, but maybe someone will find the idea useful (although it's probably been done much better already), anyways, here it is.
use the 3 buttons to flick between which sequence is playing and sent to the outs.
The switcher also gives an idea of how the clock and the sequencer interact in my plugin too.
edit; oooooops, seems that my schematic is so bloated that i can't attach it (the enormous background image probably doesnt help!)
so here's a dl linky
https://www.dropbox.com/sh/m8egok231qkgio0/jj4RdrrdOR
thanks in advance for any pointers