Page 4 of 4
Re: String Orchestra Synthesis
Posted: Sun Dec 22, 2019 10:25 am
by k brown
Spogg wrote:I can’t pretend to understand your explanation unfortunately
Glad I'm not the only one

Re: String Orchestra Synthesis
Posted: Sun Dec 22, 2019 11:05 am
by martinvicanek
Spogg wrote:I can’t pretend to understand your explanation unfortunately
Then I did a terrible job explaining it. Let me try again.
Suppose you work at a company that makes regular deliveries to some destination. You meet monday morning and plan for the week. Let's say item A is due every other day, item B is due twice a week and item C is due every day. Your schedule could look like this:
Code: Select all
Monday ABC
Tuesday C
Wednesday A C
Thursday BC
Friday A C
Saturday C
Sunday A C
The rest of the week you just deliver according to your schedule.
Not sure the analogy is clear. If you prefer (simplified pseudo-)code;
Code: Select all
float position[k]; // next spike from voice k
float period[k]; // period for voice k
float wav[index]; // wavetable
every 512 samples do{ // prepare schedule for next frame
for all voices k do{ // schedule all spikes from this voice
p = position[k]
while p < index + 512 do{ // add spike and increment position
wav[p] = wav[p] + 1
p = p + period[k]
}
position[k] = p // store new position
}
}
}
every sample do{ // read wavetable
output = wav[index]
index = index + 1
}
Re: String Orchestra Synthesis
Posted: Sun Dec 22, 2019 12:28 pm
by adamszabo
Very cool Martin! Can one convert this to poly or its designed for mono only?
Re: String Orchestra Synthesis
Posted: Sun Dec 22, 2019 1:34 pm
by Spogg
Please be patient with an old fool (me).
The impression I get reminds me of wavelet granular synthesis:
-There is a defined 512 sample waveform table.
-Information as to how this is read comes from within a “spike”. This determines the readout rate of the index and the start value of the index.
-The spike happens once per desired cycle period and is just to initiate one complete cycle. In between spikes the oscillator gets on with reading out the waveform.
-In this way the spike is a single sample data word which is, in effect, being sampled and held for one cycle by the oscillator.
How far off the mark am I? In kilometres please.
If I have indeed got the idea right, what is the waveform in the waveform table?
Cheers
Spogg
Re: String Orchestra Synthesis
Posted: Sun Dec 22, 2019 9:03 pm
by martinvicanek
Yes, essentially it is a wavetable, however one that is constantly being (over)written. The resulting waveform is an overlay of hundreds of spikes, so quite random looking and constantly changing. Here is a snapshot:
Re: String Orchestra Synthesis
Posted: Sun Dec 22, 2019 9:08 pm
by martinvicanek
adamszabo wrote:Can one convert this to poly?
Good question. My intention was to provide a poly version of this, however so far I haven't found a way how to do it.
Re: String Orchestra Synthesis
Posted: Mon Jan 20, 2020 8:39 am
by k brown
I was a little unsure if 'Randy 2' is intended to supplant 'String Orchestra' or what - Martin said back in Nov. that he was 'adding stuff'; is that what became 'Randy 2'?
Anywho, I did a third version of SO, with a second 'generator' that can be tuned to semitone intervals with the first and has it's own Phat and Width controls. With this tuned to say a fifth above, it's Phat and Width at near minimum, one gets almost a soloist-with-orchestra effect. Also added a LoCut to the wet of MVerb 7b; keeps things from getting muddy with bass-heavy sounds - also sounds more like a real world concert hall. Most good halls have much less reverberation at lo freq than high.

- StringOrchestra2 copy.jpg (141.16 KiB) Viewed 21345 times
I really love this thing. Haven't explored Randy2 yet.
Re: String Orchestra Synthesis
Posted: Mon Jan 20, 2020 10:27 am
by k brown
Martin - just noticed, inside Randy2 the verb is called MVerb 8B; is this an update or a typo?
Re: String Orchestra Synthesis
Posted: Tue Jan 21, 2020 9:23 pm
by martinvicanek
k brown wrote:Martin - just noticed, inside Randy2 the verb is called MVerb 8B; is this an update or a typo?
It is supposed to be an update, basically making the echo build-up softer. Not sure if I shold keep it - it is quite CPU hungry.