From the original SynthMaker forum (2004–2014), with its members’ names and dates.
iamnemo ·
Hello from Canada! A question for you SM experts: how easy would it be to create a VST hosting plugin (itself a VST) that would have a "tempo multiplier/divider" function?
It would then be possible to sync any VST inside of it to any fraction (1/2, 1/4, 2x, etc.) of the Host application tempo (e.g. Sonar). A lot of VSTi (e.g. NI West Africa) have nice arpeggiators built into them but no way to multiply the host tempo to play them slower (or faster). Sometimes it is not practical to set a fixed tempo because the song has many tempo changes itself. Each track could have a different tempo sync'ed to the Master Tempo of the main host (e.g. Sonar).
Been looking (as many others) for such a simple VST plugin for this purpose for a long time now to no avail...
Hi!
First of all, Synthmaker does not host VSTi. So you can't create a vst that host vst.
You can create a synth with any kind of arp with all fractions, using code and PPQ to sync host. There are a lot of examples.. (but a bit of code is required synce green data here on sm is not accurate).
But the fact is that you can't host a plugin inside, you can create one but no way to do such things.
Maybe synthedit has a built-in vst hosting function.
And, take a look of Sensomusic Usine.
Cheers
iamnemo ·
Thank you for your reply and suggestions. I've checked... no luck so far but good to know. I'm also looking into Plogue's Bidule and others.
Could you explain "synce green data here on sm is not accurate" please? I'm confused. Sorry if this is trivial... Thanks!
CoreStyler ·
Synthmaker is a VPL. "visual programming language" or environment.
This mean that you have some part of code, called primtives, that combined (linked) create a complex operations. Like read files, manipulate audio etc.
Green data (for SM and also code, since when you use a programming editor color changes based on kind of data.) mean integers, floats, strings, arrays..
This kind of data is easier to manipulate in synthmaker, and is visualized instantly.
To do 5 * 100, you just need to connect 5 [integer or float] to the primitive that do the multiply operation, and then connect with 100 [integer of float]. If you add a float or integer at end of the visual schema, you got 500. (or 500,0 if float).
Green data is not accurate because you won't get a perfect sync to the host using this way. (a bug of synthmaker, and error of other languages too)... And is also CPU intensive for an arpeggiator. (because values changes too rapidly).
Synthmaker allow low-level DSP programming via SM code or Assembly. By this way (but just a little for a simple arp) you get an accurate timing/syncing and less cpu usage from the arp.
As i said, Synthedit instead can host plugins. Should be possible to create a plugin, with hard-coded path of your vst you want to mod, that load the plugin inside your own plugin.. then you can create something as an effect.
But, since you can't access the plugin source, you will never able to create a poly arp!.
Since you can add parts only after the output of plugin. (same thing when you add a plugin to a mixer chain).
To create something that is like an arp for a plugin you don't own the code, should be almost possible to create a pitch shifter that modulate the pitch based on a sequence. (lfo or midi).
But this will be really hard if you (i can't help you) are not a programmer, DSP engineer.. or a good mathematician. 😀
About changing tempo of track (and pitch not) should be easier. But i don't know how.
Output tempo should be changeable creating an effect.. but to do accurate things will be complex too, also in low level code.
Why you don't change tempo/quarters inside midi message of your project? I don't know if sonar can do such things.. but recorder audio can be time stretched.
GaryG ·
CoreStyler wrote: You can create a synth with any kind of arp with all fractions, using code and PPQ to sync host. There are a lot of examples.. (but a bit of code is required synce green data here on sm is not accurate).
Do you have pointers to any examples? I've just broke SM out again for the first time in a couple of years, wanted to revisit an old project but sad to see the green-timing issues haven't been addressed yet.
Cheers.
edit: hee, forgot all about that avatar... 🙂
CoreStyler ·
I can post an example of arpeggiator using Step LFO synced with host. The sync code is made by others found here at sm website. But this will not work after voices combined... eg. after plugins output.
Im not at home, i can add it tomorrow if you want. 😉
iamnemo ·
CoreStyler wrote: But this will be really hard if you (i can't help you) are not a programmer, DSP engineer.. or a good mathematician. 😀
Funny you should mention this... I'm actually a research scientist (theoretical physics) and an electrical engineer very familiar with DSP audio applications 😀 I'm also a registered user of SM (my wife is a composer) and a user of similar systems (Matlab/Simulink) but I haven't used SM (or programmed myself) in a while and simply did not follow what you meant by "green data" in this context. But thanks anyway for the detailed reply... 😀
philter5 ·
i just remember that i read something about a tool
that uses MATLAB with Simulink and DSP System Toolbox .
you know this program?
http://www.kvraudio.com/product/audio-p ... or-by-dlab
good luck
phil
CoreStyler ·
Yes is a good solution the one presented by philter. It use Juce as framework if i remember well.
About "green data". We call these part green since these primitives inside SM are green.
Instead in Sm we can also say Blue data (mono), White data (poly, streams), Yellow data (gui)....
Good to ear that you are a scientist!.. Give us some DSP made in synthmaker.
About low-level programming, SM has a built in dsp language c-like. 😉
GaryG ·
CoreStyler wrote: I can post an example of arpeggiator using Step LFO synced with host. The sync code is made by others found here at sm website. But this will not work after voices combined... eg. after plugins output.
Im not at home, i can add it tomorrow if you want. 😉
It would be interesting to see this when you have the time, thanks.
CoreStyler ·
GaryG wrote:
CoreStyler wrote: I can post an example of arpeggiator using Step LFO synced with host. The sync code is made by others found here at sm website. But this will not work after voices combined... eg. after plugins output.
Im not at home, i can add it tomorrow if you want. 😉
It would be interesting to see this when you have the time, thanks.
Here:
It's the arp of my last synth Dominus. 😀 Not already out.
GaryG ·
CoreStyler wrote: Here:
It's the arp of my last synth Dominus. 😀 Not already out.
Thanks a lot for that, I need to pick it apart to see how I could use this in my project. Obviously being stream driven it only runs when a voice is active but I think I can work around that. 🙂
Thanks again.
Wrote something here? To have a post removed or your name hidden, write to [email protected].