From the original SynthMaker forum (2004–2014), with its members’ names and dates.
overhishead ·
ive got two synths that both output one poly stream and i wanted to mix them with a balance knob, but only one plays unless i convert first to mono, which i am trying to avoid.
there seems to be complicated issues around blending together the output of different independent modules in poly.
what if synthmaker wanted to mix the output streams of 20 separate synths (each with its own midi to poly,osc,adsr, and filter) for example? is this impossible? seems that way. its crash world.
is there a trick to it?
stefan ·
Are you using more than one Midi To Poly converter for the same poly section? If so, that doesn't work since the converter also does the voice management.
matti ·
overhishead wrote: ive got two synths that both output one poly stream and i wanted to mix them with a balance knob, but only one plays unless i convert first to mono, which i am trying to avoid.
Use only one midi-poly module to feed the freq input of all the oscillators. Synthmaker is a synthmaker, not a vst-host. When you have finished the synths you want you can then open them inside a vst-host and play several of them at the same time. Hope you get it working.
oddson ·
Seems to me you can have two synths in SM... you just need to mix them in mono-streams and not in poly.
overhishead ·
im basically trying to make something comparable to waldorf attack.
except waldorf has something like 24 sounds comprised of 2 oscillators each.
i was just trying to see if i could make a 12 sound drum synth (of 2 osc's each) and if i mix the sounds in mono, it causes great strain on my system. and it took me 80 hours to get there. i am sure it is because i know nothing. maybe something like this would have to be coded (right down the the voice management level), not put together the 'no-brainer' way.
specs for waldorf attack:
http://www.kvraudio.com/get/106.html
maybe the truth is that i am a bit disillusioned as to what these synth making programs make possible. again, i'm realizing there's no short cut to success.
oddson ·
I posted to your other thread.
stefan ·
You could also have arrays of values (for the settings for a sound), and depending on the pitch for the current voice pick different values by indexing this array. This way you don't need to duplicate everything, on the other hand, your poly section must be "static" (that is, you can't have different sections switched in and out depending on what sound you want to play).
oddson ·
You lost me Stefan... do you mean read the midi stream or the pitch from the midi2poly. If the latter, then do you mean change the parameter settings on the fly to select different voices?
Are you talking about something like your smackbox or an actual sample player? 😕
stefan ·
oddson wrote: You lost me Stefan... do you mean read the midi stream or the pitch from the midi2poly. If the latter, then do you mean change the parameter settings on the fly to select different voices?
The latter.
oddson wrote: Are you talking about something like your smackbox or an actual sample player? 😕
The method could be used for both 🙂 You could choose sample, loop points, envelope and filter settings etc by mapping the pitch to different values.
oddson ·
Wouldn't that require either downsampling to green-data speed (which I can't see working) or doing everything at sample rate (and wouldn't this be CPU heavy). 😕
overhishead ·
there must be a totally different approach to making a 48 oscillator vsti with filters and delays than is suggested by the plug and play (so to speak) method outlined in the synthmaker tutorial.
is this array idea the way to go?
is there a particular thread i should read about voice management that would help?
i hope these tough questions from an exceedingly ignorant person like me help everybody when all is said and done.
stefan ·
oddson wrote: Wouldn't that require either downsampling to green-data speed (which I can't see working) or doing everything at sample rate (and wouldn't this be CPU heavy). 😕
Hm, why would it require that? I might be missing something here since I haven't tried this with samples.
I was thinking that you put for instance sample index (as in which sample to play back) in an float array, then using the Float Array To Poly converter with a pitch-mapped index on the input to get for instance a pointer into a buffer where you have your sample data.
stefan ·
overhishead wrote: there must be a totally different approach to making a 48 oscillator vsti with filters and delays than is suggested by the plug and play (so to speak) method outlined in the synthmaker tutorial.
is this array idea the way to go?
is there a particular thread i should read about voice management that would help?
i hope these tough questions from an exceedingly ignorant person like me help everybody when all is said and done.
The array idea works fine for drum synthesis at least. Haven't tried it using samples but I think it should work for that as well. I have a drum synth using this methods in the works, but it is unfortunately still in the beta phase and not ready for prime time.
oddson ·
Stefan wrote: I was thinking that you put for instance sample index (as in which sample to play back) in an float array, then using the Float Array To Poly converter with a pitch-mapped index on the input to get for instance a pointer into a buffer where you have your sample data.
😕
A float array contains index values mapped by pitch values
FloatArray2Poly extracts the index where the samples are stored in a buffer.
The buffer is read for the sample and coverted to poly.
Sounds like the hard part would be building the buffer from sample wave files and storing the samples together is a single buffer structure.
If is have this straight I'd say it's no beginner project.
(and if I don't have this straight then I'd say it's no beginner project):S
infuzion ·
overhishead wrote: there must be a totally different approach to making a 48 oscillator vsti with filters and delays than is suggested by the plug and play (so to speak) method outlined in the synthmaker tutorial.
Are they all (each drum sound) mono?
sambean ·
oddson wrote:
Stefan wrote: I was thinking that you put for instance sample index (as in which sample to play back) in an float array, then using the Float Array To Poly converter with a pitch-mapped index on the input to get for instance a pointer into a buffer where you have your sample data.
😕
A float array contains index values mapped by pitch values
FloatArray2Poly extracts the index where the samples are stored in a buffer.
The buffer is read for the sample and coverted to poly.
Sounds like the hard part would be building the buffer from sample wave files and storing the samples together is a single buffer structure.
If is have this straight I'd say it's no beginner project.
(and if I don't have this straight then I'd say it's no beginner project):S
There's the multi-wav loader and player modules which can be used for this, you just give the windex (wave index) value and it plays the appropriate wave.. 😉
Sam
oddson ·
sambean wrote:
oddson wrote: ... Sounds like the hard part would be building the buffer from sample wave files and storing the samples together is a single buffer structure...S
There's the multi-wav loader and player modules which can be used for this, you just give the windex (wave index) value and it plays the appropriate wave.. 😉
😊 so I guess that's not the hard part.
(I guess if I'd got around to writing about it in the WIKI I'd have remembered it.)
stefan ·
Indeed, the multi-wav stuff would come in handy.
Still, I wouldn't exactly call it a beginners project...
overhishead ·
infuzion wrote:
overhishead wrote: there must be a totally different approach to making a 48 oscillator vsti with filters and delays than is suggested by the plug and play (so to speak) method outlined in the synthmaker tutorial.
Are they all (each drum sound) mono?
midi to poly-detune-osc select-adsr-lfo matrix-filter-poly to mono
this is the structure of synth that if you run through a balance control with an identical one and multiply that by 12 and try running through a virtual mixer creates a long load time and stuttering when hitting play in vst host.
(i presume because of poly to mono right after each chain so that each pair can be created instead of one osc cutting out the other, which it does in poly.)
one time i used waldorf attack and that must have been the inspiration to try this. all i remember is that waldorf was very fast and full of features.
is this because the code was super optimized? maybe the dorf is using poly instead of mono in a way that is yet unfamiliar to me.
waldorf had 24 pairs of oscillators all with delay and filter and ring modulation. hey, gotta be inspired somewhere right?
Wrote something here? To have a post removed or your name hidden, write to [email protected].