Algorithms (oscillator combinations)

Algorithms (oscillator combinations)
« on: January 27, 2016, 02:19:47 PM »
Being keen on FM synthesis I was keen to work out all of the permutations of oscillators for the Prophet 12, but the same patterns work for AM and presumably Sync.

The first thing to consider is the position for the Sub Octave (attached to oscillator 1). In a chain of connected oscillators with different frequencies choose the frequency you want for the Sub Octave, and make the oscillator at that frequency your Oscillator 1, then fit the chain of connected oscillators around that.

Because of the Sub Octave I am referring to my oscillators as D,C,B and A instead of 4,3,2 and 1, so if you want the Sub Octave on C then C is oscillator 1.

 If you assign as many modulations as possible from the oscillator select buttons you will save on using up slots in the Mod Matrix - If B modulates A, and B is the desired Sub Octave then B is oscillator 1 and A should be Oscillator 4 to save using a Mod Matrix slot.

I canít post diagrams so I am using B>A for B modulates A. It is possible to create loops, for example B>A, C>A,C>B. in this example C modulates A both directly and indirectly via B but factors such as wave shape and slop can cause C to have two different influences on A.

Here is the full set of ĎAlgorithmsí possible for a voice on the P12

B>A.           (Output A,- C and D free)
C>B,C>A.           (Output A and B,- D is free)
C>A,B>A.           (Output A ,- D is free)
C>B,B>A.           (Output A ,- D is free)
D>C,B>A.           (Output C and A )
C>B,C>A,B>A.           (Output A ,- D is free)  (has 1 loop)
D>B,D>A,C>A.           (Output A and B)
D>C,D>B,C>A.           (Output A and B)
D>A,C>A,B>A.           (Output A)
D>C,D>B,D>A.           (Output A,B and C)
D>C,C>A,B>A.           (Output A)
D>C,C>B,C>A.           (Output A and B)
D>B,C>B,B>A.           (Output A)
D>C,C>B,B>A.           (Output A)
D>B,D>A,C>A.           (Output A and B)
D>C,D>B,C>A,B>A.           (Output A)
D>B,D>A,C>B,C>A.           (Output A and B)
D>C,D>A,C>B,C>A.           (Output A and B)  (has 1 loop)
D>C,C>B,C>A,B>A.           (Output A)  (has 1 loop)
D>B,D>A,C>B,B>A.           (Output A)  (has 1 loop)
D>C,D>B,C>B,B>A.           (Output A)  (has 1 loop)
D>C,D>B,C>B,C>A.           (Output A and B)  (has 1 loop)
D>C,D>B,D>A,C>A.           (Output A and B)  (has 1 loop)
D>C,D>B,D>A,C>B,C>A.           (Output A and B)  (has 2 loops)
D>C,D>B,D>A,C>A,B>A.           (Output A)  (has 2 loops)
D>B,D>A,C>B,C>A,B>A.           (Output A)  (has 2 loops)
D>C,D>B,D>A,C>B,B>A.           (Output A)  (has 3 loops)
D>C,D>A,C>B,C>A,B>A.           (Output A)  (has 3 loops)
D>C,D>B,C>B,C>A,B>A.           (Output A)  (has 3 loops)
D>C,D>B,D>A,C>B,C>A,B>A,           (Output A)  (has 4 loops)

Itís great to just mess with the P12 and come up with great sounds, but for FM synthesis the structure of oscillator interaction defines the possible sounds - probably why Yamaha printed the Algorithms on the top of the DX7 (they only used some of the 6 operator combinations for their 32 Algorithms but I have listed all the possible patterns for 4 oscillators here).
« Last Edit: January 27, 2016, 02:24:27 PM by Chaparral »

Re: Algorithms (oscillator combinations)
« Reply #1 on: January 27, 2016, 03:10:00 PM »
Nice post, thanks.

There's the other layer as well for two sets of the above, so quite a few combinations!


Re: Algorithms (oscillator combinations)
« Reply #2 on: January 27, 2016, 07:37:28 PM »
Thank you for this!

Re: Algorithms (oscillator combinations)
« Reply #3 on: January 28, 2016, 01:40:24 PM »
Excellent resource - thanks Chaparral !  8)



Re: Algorithms (oscillator combinations)
« Reply #4 on: January 29, 2016, 12:23:24 AM »
Huge thanks for this Chaparral! :D

Re: Algorithms (oscillator combinations)
« Reply #5 on: February 04, 2016, 07:34:08 PM »
This is really interesting.  Thank you for sharing!  Could you explain the "loop" process?  I think I may get it but am trying to understand what the loop is providing as far as sound goes?  That said I'm going to try this in a few minutes to see if I can figure it out...
Fantom 7 | Moog One | Pro3 | Summit | OB-X8 | Digitakt | Digitone | Syntakt | Iridium KB | 7u x 104hp Eurorack | H9000 | A&H SQ5 Mixer

Re: Algorithms (oscillator combinations)
« Reply #6 on: February 05, 2016, 04:04:36 AM »
A very good question, I'm not a 'Techie' so I only have a users answer. The DX7 FM was based on chains of oscillators where one or more oscillators could modify the next oscillator down the chain. The oscillator(s) at the bottom of the chains were audible and the rest were 'modulators' (there were also some 'feedback loops' which exaggerated the effect of some modulators)

The P12 is a very different beast in several ways.
1. All the oscillators can be audible.
2. All the oscillators can be modulators
3. Because any oscillator can modify any other (with FM, AM, sync etc) Osc 4 could modify Osc 2 directly and also via another oscillator - (say osc 4 mods osc 3 and then osc 3 mods osc 2) so the influence of Osc 4 reaches Osc 2 in two distinct ways. I have called this a loop to distinguish it from the DX7 format. These loops create real differences in the end sound as the multiple influences of one oscillator are different to just one influence.

Perhaps 'Loop' is not the right word since the flow of modulation is still down the chain even if it uses more than one route. Since in the above example you could use Osc 2 to modulate Osc 4 as well, then the whole chain becomes looped back up to the top of the chain - I have not tried this yet, and once you take Audio Out to modify Osc 4. . . . .

 I have not covered all of the possibilities in my original post, just the ones I was familiar with from the DX7, and their 'cousins' with the 'Loops' moving down the chain of modulation.

Just for the record, as I build FM voices with the above patterns I seem to find better sounding results by sometimes substituting AM for FM. If the FM modulation sounds wrong the AM quite often yields a better result - as I said I'm not really a techie. I hope this helps. I will be exploring the more complicated 'up chain loops', but at the moment I'm having so much fun just with simpler structures and 'down chain loops'. I am building 50 'FM' voices but so far they are crude timbre and envelope affairs, I have yet to add filters, LFO, Echo, Distortion and all the other things that give a voice life.

Re: Algorithms (oscillator combinations)
« Reply #7 on: February 05, 2016, 08:18:01 PM »
I think I get it now.  I just attempted to make a loop FM sound.  I say attempt because it really sounds like 1960's Dr. Who sound effects.  Like a TARDIS databank or something.  I'm keeping it!  I've attached it to this thread if you want to check it out.

Essentially I "looped" all 4 oscillators to oscillator 1.  Only the 1 is audible.  I then played around with the filters some, especially the high pass.  I also applied LFO 1 to modulate ALL OSC Freq.  Then, for added effect went a little nuts on the feedback amount and tuning with 2 delays at the end.  It isn't very playable but this kind of stuff is why we have these awesome dedicated synthesizers like this.  To play with sound!  And it is fabulous!

Oh, and if you have one, throw this through a Strymon BigSky Cloud Reverb algorithm and go nuts...
Fantom 7 | Moog One | Pro3 | Summit | OB-X8 | Digitakt | Digitone | Syntakt | Iridium KB | 7u x 104hp Eurorack | H9000 | A&H SQ5 Mixer