F-osc

F-OSC

I originally set out to create a fart-oscillator for today (April 1st). However, I accidentally ended up with something, that might actually be useful :D.

The F-Oscillator is a complex oscillator based around delaying the signal inside a phase modulation feedback loop.
(so F stands for FM and Feedback now)

Which waveform of OSC 2 is used for the phase modulation feedback isn’t hardwired. Instead, you can chose one of the three waveforms by creating a cable from the output, to the feedback input.

Normally (also in version 1), the movement in the sound you get from offsetting the frequency of two oscillators gets faster as you play higher notes.

However, in version 2 of the F-OSC, the Hz offset between OSC 1 and 2 remains the same when other notes are played. This way, the movement doesn’t speed up when higher notes are played, which means you can use the frequency offset to create rhythms that stay the same across all notes. Going even further in this direction, I’ve added the option to control the speed of these rhythms via a clock input, so you can synchronize them with other elements in a patch.

(This documentation is for version 2. The difference is that version 2 has different / more control over the frequency offset between OSC 1 and 2. Version 1 only has a fine tune knob and no option to sync the oscillators.)


I/O

Input Signal Range Notes
109x118, 50% 1/octave Sets the base frequency which is used by the feedback delay and OSC 1 & 2.
133x144, 50% clock (1 - 0) When a clock signal is put in here, the frequency offset between the two oscillators will be controlled by that clock signal instead of the ‘motion‘ knob (for syncing rhythms to other elements in a patch).
131x142, 50% gate (0 - 1) Synchronizes OSC 1 & 2 and therefore resets the rhythm produced by the frequency offset between the two.
120x119, 50% audio (-1 - 1) input for phase modulation feedback

Output Signal Range Notes
137x139, 50% audio (-1 - 1) waveform output of OSC 1
121x316, 50% audio (-1 - 1) waveform outputs of OSC 2 (you can connect one of these to the feedback input to create the phase modulation feedback loop)

Controls

Knob Function Notes
199x202, 50% OSC 1 ratio Determines the number that the base frequency is multiplied by (for OSC 1).
199x202, 50% OSC 1 shape Changes the shape of OSC1s waveform
199x202, 50% PM feedback delay time Determines how much the signal that is fed into the feedback input is delayed, before it is used to modulate the phase of OSC 2. The delay time is also controlled by the 1/octave input.
186x189, 50% delay time modulation by OSC 1 Controls how much OSC 1 is used to modulate the feedback delay.
204x207, 50% OSC 2 shape Changes the shape of OSC2s waveforms
204x207, 50% PM feedback -> OSC 2 Controls how much the signal coming form the feedback delay is used to modulate the phase of OSC 2.
204x207, 50% PM OSC 1 -> OSC 2 Controls how much OSC 1 is used to modulate the phase of OSC 2.
204x207, 50% motion Can be used to set the frequency offset between the two oscillators. (even when the offset is controlled by the clock input, the polarity (±) of the offset is still determined by this knob)
204x207, 50% OSC 2 phase Determines the phase OSC 2 is reset too when the sync input receives a gate signal. This can be used to select a starting position in the movement / rhythm.

Displays

Meter Displays Notes
148x150, 50% the number that the base frequency is multiplied by for OSC 1 (set by the ‘ratio‘ knob)
314x282, 50% whether the frequency offset between OSC 1 and 2 is determined by the clock input or the 'motion’ knob


Version History

Revision File Date Notes
2.0 F-OSC.audulus (77.5 KB) 04/02/2021
1.0 F-OSC.audulus (40.2 KB) 04/01/2021

Demos

Revision File Date Notes
1.0 Flatulent FM.audulus (53.6 KB) 04/01/2021 Demo for v1.0
2 Likes

Update:

I added the documentation.
However, today I played around with this thing a bit more and came up with a version 2.
So the documentation is already for version 2 :slight_smile:
(the differences between v1 and v2 are also described above)

1 Like