Download and open the attached XRNS song: 1480 synth.xrns
play the song
Go to sample editor and watch for Instrument 00 - sample 00, called “Synth destination”.
note: it is recommended to turn off sample editor undo even when running the simple LiveSynth script
This script will scan any loaded song for:
- an instrument called "Synth";
- inside this instrument, samples which have the name "Synth source"
- inside this instrument, a sample which has the name "Synth destination"
- in the master track, a MidiCcDevice and will create it if not present
if everything is found/created successfully, the first parameters of the first MidiCcDevice found/created will control
the "weight" of each source sample in the creation of the synth destination sample, which will also used as the only
sample for the instrument (id est: its sample ordinal number will be set as the only
sample present into the notes split array).
Note that you can use this script inside an existing song by creating/renaming the instrument and samples as needed.
of course, this same technique can be used to allow Sample loop markers to be moved using DSP sliders
complete support for more than one Synth instrument into the same song
Morpher might be introducing some kind of undo bug, maybe it happens when I create new sample for “Morpher source 1” and “Morpher destination”. I think they’re suppose to be the same type of sample, so sometimes I just copy paste instead of creating the same exact sample twice (using ZynZilla). I’ll keep at it until I figure out the sequence of events in order to replicate this.
Basically I can no longer undo and the undo history is gone and when I try to manually undo by clicking on edit and highlighting undo, it says “undo change sample data”.
edit: i have an lfo -> midi cc set up, the last quick debugging i did, i was messing around with the lfo and i was able to replicate the undo bug. prior to messing around with lfo, i was creating new samples for the three slots and changing them to the proper names. will test more later.
update: I have managed to mix more than two sources and add more synths and sources “ad libitum” (currently limited to 2 synths with a maximum of 8 sources each per song), but I’m facing with a problem which I feared since the beginning: when using more than two sources, you need to set one parameter for each source to define how much that source will “count” into the destination sample, so you will need a DSP slider for each source and you have to put a notifier on each slider. Unfortunately, this means that the notifiers will try to work concurrently on the destination sample if more than one parameter gets changed at a time, causing hiccups. With two sources, the situation is good on my quite fast PC, but with three sources problems start to arise.
I will try to think more at a solution for this. I will probably avoid this concurrence with simple “semaphores” (programmers who are familiar with threading will understand)
note: it is recommended to turn off sample editor undo even when running the simple LiveMorpher script
thanks to Taktik help, I have managed to finish another step: go on top of this page to download version 0.2 which now can mix more sources into a single one.
About concurrency: now the mixing of the samples happens in background. This is the only way to prevent GUI from being sluggish, but still does not solve a problem which cannot be solved anyway: the sample writing does not happen in real-time so, if you try rendering songs in real-time priority, the result won’t play well.
Next step: the code is almost ready to support more than one Synth instrument per song. To manage this scenario better, next version will create/search one MidiCcDevice for each Synth instrument, and the device must reside into a dedicated send track with a specific name. This way, you will be able to mix up to 16 samples together per Synth, and have more than Synth per song.
hey thx again 4 ur hardwork…unfortunately i can’t use your tool just yet as it automatically creates morpher destintation as expected but just a horizontal wave in the slot…plus it seems to crash whenever i use it…something to do with failing notifiers…would u like me to post the message i get?
thanks for reporting. this was quite a hell to sort, but should work now. Please download version 0.21 from the top of the thread. If everything works well now, I could start the last step. As far as I have tested it, it worked.