Getting Started With Audio Synthesis

AudioNodes has various tools to generate (synthesize) sounds from scratch. You can create sound effects and melodic/instrumental sounds alike.

This guide will explain the basics behind building a simple supersaw synth sound with reverb, and then controlling it using a melody (either from a hand-edited melodic pattern, or a MIDI keyboard).

Creating the Sound Source

The Oscillator Node is a basic but powerful sound source. It’s able to synthesize various periodic waveforms, and has built-in per-note (or per-sound) ADSR envelope processing. To create an Oscillator Node:

  1. Right click on empty area on the Patcher to open the node browser
    • On a touch device, touch and hold on empty area to do the same
  2. Choose Audio Sources, then Oscillator – this will create the Oscillator Node
  3. Right click on the Oscillator Node you just placed, then choose Properties to customize the sound it produces
    • On a touch device, tap on the Oscillator Node, then tap on the gear button in the header
    • Check out the Oscillator Node docs for what each setting does – you can tweak them in real-time as you listen to the result (see next section), however, leave the “Mode” setting at “Frequency controlled” for now

Creating the Audio Output

By itself, the Oscillator Node doesn’t know what to do with its audio output. To listen to it, we need an Audio Destination Node. This is a special Node that simply forwards whatever you connected to it, to your system audio output.

Create it the same way you created your Oscillator Node, then connect these 2 Nodes:

  1. Click the Oscillator Node output (small dot to its right), then
  2. Click the Audio Destination Node input (small dot to its left)
  3. Hit play in the header

An Oscillator Node connected to an Audio Destination Node

Adding a Reverb Effect

Once you have your basic sound working, adding an effect like a reverb is easy. Instead of simply connecting your Oscillator Node to your Audio Destination Node directly, the idea is that first you’ll connect it to Convolver Node, then to your Audio Destination Node:

  1. Create a Convolver Node somewhere
    • By default, it adds a strong room reverb with a 50% dry/wet mix
  2. Connect your Oscillator Node to your Convolver Node
  3. Connect your Convolver Node to your Audio Destination Node
    • This will replace the previous connection from your Oscillator Node to your Audio Destination Node
    • If you want to connect multiple sources to an input, use an Add (Audio/Control) Node in between
  4. Optional: drag your Nodes to move them around, so there is room for your newly Convolver Node on the screen
  5. Play your project

Controlling the Oscillator Node

So far the Oscillator Node only does what you configured by hand. You can also automate or otherwise control its behavior in several ways.

Envelope Frequency Control

Just as you can set the Oscillator Node’s frequency by hand, you can also control it using a control signal. While there are several Nodes which output a control signal, for the sake of simplicity, this guide will use an Envelope Pattern Node:

  1. Create an Envelope Pattern Node somewhere
  2. Open your Envelope Pattern Node’s properties to draw its envelope
    • Either click in the envelope editor area to add control points manually (see Envelope Editor), or select a preset
  3. Again in the Envelope Pattern Node’s properties, set the Out min value and Out max value settings, so that they make sense as frequency values, in Hz
    • A good starting point is something like 220 (Hz) for the Out min value setting, and something like 880 (Hz) for the Out max value setting
    • The Envelope Pattern Node will generate an output control signal that goes between these 2 values
  4. Start connecting your Envelope Pattern Node by clicking its output, and notice how a new, faint input appears to the left of your Oscillator Node – connect to this input by clicking on it, then choose Frequency-Control Input from the dialog that appears
  5. Hit play to listen to the results

An Envelope Pattern Node controlling the frequency of an Oscillator Node

So what just happened?

You connected to the previously disabled Frequency-Control Input, enabling it the process, and causing the Oscillator Node to use the frequency in this control signal. This overrides the Frequency setting configured in the Oscillator Node properties, and thus whatever is given to this input, will be the frequency of the output audio signal.

You can always toggle back to manual Frequency control, by going to the Oscillator Node properties, and then hitting the “Automate Frequency from input” button near the top-right corner of the Frequency slider.

Note: you can also control the frequency of an Oscillator Node like this with the output of another Oscillator Node, ideally running on a different frequency. This technique is called FM synthesis, and is a very powerful way to synthesize complex sounds.

Melody Control

Another, more advanced way to control the Oscillator Node is by using a melody source, which is a sequence of melodic notes. In this case, every note in the melody is synthesized separately by the Oscillator Node, with unlimited polyphony (i.e. multiple notes can play at the same time). There are several melody sources in AudioNodes, but for the sake of simplicity, this guide will use the Piano Roll Node and MIDI Keyboard Node. The former is for creating a hand-edited piece of melody, the latter uses your MIDI keyboard (or computer keyboard, or touch screen) to create a live melody.

For the Piano Roll Node:

  1. Create a Piano Roll Node somewhere
  2. Right click the Piano Roll Node, then choose Edit to enter its editor view
    • On touch devices: tap the Node, then open its properties panel (gear button in the header), then tap the area that says “No notes yet”
  3. Double click (or double tap) in the Piano Roll Node editor to place notes, and build a melody – see the Piano Roll Node docs for everything you can do here
  4. Exit back to the Patcher when done by hitting the Patcher button in the top left corner (second button)

For the MIDI Keyboard Node:

  1. Create A MIDI Keyboard Node somewhere
  2. Open the MIDI Keyboard Node properties and select your device if needed (you can also choose the virtual keyboard)

Once you have your melody source Node (either the Piano Roll Node, or the MIDI Keyboard Node):

  1. Open your Oscillator Node’s settings, and change Mode to “Melody Controlled” – doing so will enable the Melody Input, and disable the Frequency-Control input
  2. Connect your melody source Node to the Melody Input on your Oscillator Node
  3. Play your project to listen to your melody (if you used a Piano Roll Node), or start playing on your keyboard (if you placed a MIDI Keyboard Node)

An Oscillator Node controlled by a Piano Roll Node

Final Step: Rendering Your Project

Once you are satisfied with the results, the final step is to render the results to an output audio file. In general, when rendering, you’ll hear the same results as during playback. Keep in mind this won’t work with the MIDI Keyboard Node.

To render & export:

  1. Click/tap the main menu (triple dot button in the top left corner)
  2. Choose Project
  3. Choose Export
  4. Tune output settings to your liking, or leave the defaults as-is if they are sufficient
  5. Hit Start

And that’s it.