String Orchestra Synthesis

Post any examples or modules that you want to share here
k brown
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA
Contact:

Re: String Orchestra Synthesis

Post by k brown »

Spogg wrote:I can’t pretend to understand your explanation unfortunately

Glad I'm not the only one :? :oops: :D
Website for the plugins : http://kbrownsynthplugins.weebly.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: String Orchestra Synthesis

Post 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
  }
adamszabo
Posts: 667
Joined: Sun Jul 11, 2010 7:21 am

Re: String Orchestra Synthesis

Post by adamszabo »

Very cool Martin! Can one convert this to poly or its designed for mono only?
User avatar
Spogg
Posts: 3368
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England
Contact:

Re: String Orchestra Synthesis

Post 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. :lol:

If I have indeed got the idea right, what is the waveform in the waveform table?

Cheers

Spogg
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: String Orchestra Synthesis

Post 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:
Attachments
capture.png
capture.png (16.85 KiB) Viewed 21611 times
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: String Orchestra Synthesis

Post 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.
k brown
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA
Contact:

Re: String Orchestra Synthesis

Post 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
StringOrchestra2 copy.jpg (141.16 KiB) Viewed 21334 times

SOS_arpGUI_d2.fsm
(2.06 MiB) Downloaded 1266 times

I really love this thing. Haven't explored Randy2 yet.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA
Contact:

Re: String Orchestra Synthesis

Post by k brown »

Martin - just noticed, inside Randy2 the verb is called MVerb 8B; is this an update or a typo?
Website for the plugins : http://kbrownsynthplugins.weebly.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: String Orchestra Synthesis

Post 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.
Post Reply