Best Friend - 3 Osc Synth

first synth i’ve “finished” (always hard to say when something is actually done), called the Best Friend - a semi-modular (kind of) taking some light inspiration from the Sequential P6, completely built with free modules.

here’s the full mess (yikes!)

simplified UI:

(along with some helpful notes)

sounds here - all made using the internal clip recorder in a single take (16 is the newest patch iteration fwiw)

https://soundcloud.com/best-friend-synth/sets/synth-test

features include:

  • 3 VCOs, completely clean below 25% volume and begin to distort past 50% volume

    • 2 morphing VCOs using Audible Instruments Macro Oscillator 2

    • 1 standard VCO with selectable waveshapes using BogAudio VCO

    • distortion is using Vult Lateralus diode ladder filter (set flat)

    • Pan Spread of Osc 1 + 2 using Mockba ASSprdr - each OSC is opposite the other and moves inversely in the stereo field. Pan Unison syncs them.

  • Noise Generator using MSM Noise

  • Ring Modulator using BogAudio VCO + BogAudio AM/RM

    • selectable carrier (Osc 1/2/3)

    • selectable modulator (“Internal VCO” or external source)

    • lfo to audio rates

    • distortion using Mockba Tuube

  • Amplitude EG using VCV ADSR EG

  • Filter EG using VCV ADSR EG with assignable velocity per filter

  • HPF using Venom Multimode Filter

  • LPF using Nozoid 68_VCF_MOD

Semi-Modular section:

  • 2 Aux LFOs using BogAudio VCO

  • 2 Aux EGs using BogAudio DADSR(H) - each routed to the Aux LFOs (Aux EG 1-> Aux LFO 1, Aux EG 2-> Aux LFO 2) - [visualizers]

  • 2 identical bays of Aux Ins with Depth Controls

  • 1 bay of Aux Outs

  • 1 bay of miscellaneous Aux Ins

Poly Pan:

this is a complex panning section that overrides Pan Spread, applied to Osc 1+2 (with Osc 3 being selectable). When using sine modulation each voice receives an output phase shifted 30degrees from the fundamental for swirling phase panning effects.

  • switchable between Sine using 3 BogAudio 8FOs and Random using 3 docB RndC

  • LFO Sync switches between one 8FO as the master control or each of the 3 8FOs running independently with frequency offsets set by the VoiceSpread control (8FO 1 to Osc 1, 8FO 2 to Osc 2, 8FO 3 to Osc 3)

  • Sync Voices switches between panning per voice or panning per Oscillator

Poly AM: [visualizer]

similar to Poly Pan but utilizing banks of random sinewaves using docB RndC controlling VCAs for slow amplitude modulation. Poly pan on/off must be turned on to activate Poly AM (although Poly Pan Depth may be zero of course)

  • Sync Voices switches between AM per voice or “global” (Osc 1+2 and 3 if selected)

Global controls:

  • 2 Distortion stages (both stereo)

    • (pre-filters) summing using a pair of Vult Lateralus diode ladder filter (set flat)

    • (post-filters) using Vult Debriatus wave destruction

  • Chorus using Vult Jorus analog chorus

  • Limiter using BogAudio LMTR

  • FM using BogAudio LLFO + BogAudio DADSR(H) for delay - [visualizer]

  • Warble (from Noise)

  • separate sutble Slop controls for V/Oct, EG/VCF and LFOs using 3 docB RndC + Grande Split8

  • Glide controls

  • Unison switches between polyphonic and monophonic key control

  • Velocity to V/Oct - adds between 0 to +16cents per voice based on velocity.

  • simple audio clip recorder using VCV record

Effects Send/Return using 4ms AuxSends:

  • Delay using Bastl Basil

  • Spring reverb using a stereo pair of Befaco Spring Reverb + Bacon Music SampleDelay for stereo width

  • Reverb using Valley Plateau

  • Sidechain compression of effects using Frozen Wasteland Manic Compression

other additions - mod wheel! (how could i forget that?), MIDI map (already added since writing all of this but it isn’t shown in the screenshot)

ideas on how to further optimize CPU are greatly appreciated - the most obvious answer here is to reduce the number of RndC but i would like to keep all of the variability.

any idea how to get a proper polyphonic/monophonic mode without using 2 separate instances of MIDI->CV? summing to an individual channel does not give the desired results.

download here - Best Friend | Patchstorage

to initialize poly/mono in MIDI->CV, set both of them to your MIDI device!

9 Likes

Very cool! I think this is one of the best things about software modular synth… we can create custom musical instruments to play!

A lot of developers around here use VCV Rack patches as a prototyping tool for designing new modules they want to create. Whether you are a developer or not, it is a great way to design fun things…

1 Like

thank you! i had two goals with this project and feel like i executed on them both. #1 - building something that i really wanted to play and record with and #2 - gaining a better grasp on how to implement all of the switching/routing involved with creating a simplified ui.

1 Like

This looks like a lot of work, and sounds fantastic! Proof that soft synths can sound as good as anything else with the right attention to detail and sound design. The demo is gorgeous too, great job.

1 Like