Showing posts with label synth. Show all posts
Showing posts with label synth. Show all posts

Tuesday, 22 November 2011

String synth hardware concept

Courtesy of Achim Ortmann, a selection of concept renders for a String hardware unit. There are currently no plans to actually make the physical unit, but thanks Achim! String is currently available - as software only - for Mac OS X, Windows, and Linux: download the demo here.



Tuesday, 27 September 2011

Loomer Cumulus - Computer Music Exclusive


Cumulus is a granular sampler which radically transforms sample content by breaking it into tiny slithers of audio called grains and reorganizing them to form new sounds. Cumulus is capable of a wide ranges of timbres: from evolving atmospheric soundscapes; to organic physical textures.
Up to eight Scenes can be created; a Scene corresponding to a particular sample position and set of synthesis parameters. Scenes can be played in realtime via MIDI, or arranged internally using the built-in sequencer.
Cumulus is available free on the cover-mounted DVD of Computer Music magazine from issue 170 and onwards. Cumulus is supported on Mac OS X (VST, AU, RTAS, and Standalone), Windows (VST, RTAS, and Standalone), and Linux (VST, Standalone), and natively supports 64-bit for VST, Audio Unit, and Linux Standalone formats.


Sunday, 28 February 2010

Karplus-Strong guitar string synthesis with Pure Data

Presented here is a Pure Data patch that generates, without samples, a fairly decent acoustic guitar sound. This uses the Karplus Strong algorithm, in which an initial noise burst is fed into a tuned delay line (a delay line whose length equals the period of the desired frequency). The string's vibration is damped by a lowpass filter in the delay's feedback line.


The synth is built from six instances of this karpluck~ abstraction, one instance representing a single string. Each is synthesized in complete isolation: in this simple model there is no sympathetic resonance crossover between the strings.

Patch articulation comes from a simple strummer sub-patch. This generates a random sequence of chords in a pattern typical of an acoustic guitar player. A very small latency (strum_speed) emulates the short time delay between each string being plucked as the plectrum moves across all six strings. Width effects the width of the initial noise burst, with higher widths producing a brighter sound. Decay and cutoff set the amount of attenuation and filtering, respectively, in the delay feedback.

Here is the patch in action:


Download the patch for Pure Data here.

Sunday, 6 December 2009

New oscillators preview

A sneak preview of some new oscillators. These have several advantages over the current Aspect oscillators:
  • Reduced CPU usage: They use, on average, about 30% less CPU resources. When taking the rest of Aspect's synthesis path into account, this translates into approximately a 10% reduction in CPU resources for a patch.

  • Reduced memory usage: Overall memory usage for oscillators is reduced by an impressive 80%, although this doesn't have much of an impact to the user.

  • Reduced aliasing and foldover noise: Aliasing and foldover noise at the ultra high end of the frequency range is reduced to practically negligible amounts. Here are two examples. Note that these are unfiltered raw oscillator sweeps, so ensure that your volume is at an acceptable level.
    The first example is a sawtooth sweeping from the low to the high frequency range, and then back again:

    The second example is a pulse wave with a duty cycle of 50% sweeping as in the previous example:


  • Removed DC Offset: There is no DC offset when sweeping the pulse-width of the Pulse waveform.

  • Reduced Sync Folderover Noise: Aliasing that could occur during an oscillator sync is significantly reduced.

  • Awesome sound: We can't quantify this one, so let your ears be the judge. Here are two raw sawtooth oscillator, with no filtering, tuned octaves apart. The pitch of one oscillator is slowly detuned relative to the other to introduce beating:

Friday, 27 November 2009

Loomer String Synthesizer

We're proud to announce our next product, String. String is a virtual instrument that emulates the beautiful sound of the polyphonic string synthesizer. Its authentic tone comes from its accurate emulation of the divide-down oscillator technology and bucket-brigade chorus units behind the lush ensemble synths of the 70s.



All being well, String should be available early next week for purchase at £50 (+ VAT if applicable). String comes in VST, Audio Unit, RTAS and Standalone formats for Windows, Mac OS X, and Linux.

Here are a few teasers of the type of sounds String does so well. All are from a single String instance, recorded dry, and only using String's built in effects. (Note that the first example also has a simple backing drum beat courtesy of some Korg Minipops samples taken from www.freesound.org.)





Monday, 22 June 2009

Modular Synth Patching in Aspect, part 2

We continue from where we left off at the end Part 1; exploring the Patch and Modulation capabilities of the Aspect semi-modular synth. This article will cover the last three components in the Patch section; the Lag Generator, the Adders, and the Sample and Hold unit. Download Aspect for Windows, Mac OS X, and Linux, in Audio Unit, VST, and RTAS Plugins formats.

The Lag Generator Component
The Lag Generator slews the input Modulation Source, reducing the speed of changes. Similar to how Glissando causes note pitches to slide into one another, the Lag Generator can be used to make any Modulation Source slide. As the Lag Parameter increases, more time is taken for the Modulation Source to slide between changes.

Slewed Filter Cutoff
This example uses the Lag Generator to slew a Square waveform LFO which is modulating the Cutoff Frequency of a Lowpass Filter.
  • Set LFO1 to Square shape, and Sync it to a rate of 1/2.
  • Connect LFO1 to the Lag Generator.
  • Change Filter1's Cutoff to about 50% and Resonance to about 30%.
  • Connect the Lag Generator Modulation Source to the Cutoff Modulation, with a Depth of about 90%.
Filter modulated by a slewed Square LFO in AspectHold down a note whilst slowly increasing the Lag Parameter. At low values of Lag, the Modulation Source still resembles a Square waveform. As Lag increases, the Square wave is softened and audible slides between the high and low values of the waveform can be heard. At higher values of Lag, the waveform starts to resemble a Sine, and eventually reaches a constant when the Lag is so much that any changes are too small to be heard.









Download the Slewed Filter Cutoff Patch here.

Emulating a Magnetic Tape Player
This example uses the Lag Generator to filter the White Noise Modulation Source. This creates a signal that slowly moves between random values (this type of movement is called Brownian Motion.) When used to modulate Pitch, this generates a meandering, detuned effect similar to the wow and flutter of an old tape recorder.
  • Connect the Noise Modulation Source to the Lag Generator.
  • Set the Lag to about 70%.
  • Oscillator1 should be a Sine shape, with a Pitch of 1 Octave up.
  • Connect the Lag Generator Modulation Source to Oscillator1's Second Pitch Modulation Source with a Depth of about 40 semitones.
Sines modulated by filtered white noise in Aspect









Download the patch here.

The Adder Components
The Adder components, Adder1 and Adder2, each take two Modulation Sources and produce a signal that is equal to the sum of the inputs. Because Parameters are already able to sum Modulation Sources (due to the fact that they all have three independent Modulation Slots), the Adder components may seem of little use. However, there are occasions when combining Modulation Sources outside of Parameter Modulation Slots is useful:

You may wish to connect several Modulation Sources to a component that only has one input connector (such as the Lag Generator, Sample & Hold, or Inverter components). Use an Adder to combine the Modulation Sources, and then connect this single Modulation Source to the chosen component.

If all of a Parameter's Modulation Slots have been assigned, and you need to add another Modulation Source, you can combine multiple Modulation Sources into a single one with an Adder. This single Modulation Source will allow two Modulation Sources to use up only one Modulation Slot in a Parameter.

The Adder can be used to combine signals to produce custom waveforms. This waveform can be fed directly into either Filter by choosing Adder1 or Adder2 from the Filter's input selector. The following example creates a waveform by subtracting one slightly detuned oscillator from the other:
  • Detune Oscillator2 by -1 cent.
  • Connect Oscillator2 to Inverter1.
  • Link Oscillator1 and Inverter1 into Adder1's inputs.
  • Choose Adder1 as the input to Filter1.
Custom waveform creation in the Aspect semi-modular synthBy summing an out-of-phase Sawtooth Oscillator with an inverted Sawtooth, we get a Pulse waveform. To add a bit of time-varying interest to the sound, an LFO will be used to add movement to one of the raw Oscillator sources:
  • Set LFO1 to Square, and Sync it to a rate of 1/4.
  • Link LFO1 to a one of Oscillator2's spare Pitch Modulation Slots, and give it a Modulation Depth of 12.00 semitones (remember: holding Shift will allow finely grained changes to be made to controls.)










Download the patch here.

The Sample and Hold Component
The purpose of the Sample and Hold (S&H) component is to keep a Modulation Source's value steady for a short time. The component takes two inputs, a Source and Clock; whenever the S&H Clock input source changes from a negative to a positive value (known as a zero-crossing), the current value of the S&H Input source will be taken and held steady until the next zero-crossing.

Here a Noise source is periodically sampled by the Sample and Hold component, with the sampling period controlled by a Sawtooth LFO connected to the Clock input. This creates a Modulation Source that changes to a different random value at the same rate as the LFO. To configure this in Aspect:
  • Connect the Noise Modulation Source to S&H Input.
  • Connect LFO1 to S&H Clock.
  • Set LFO1 to a rate of about 7Hz.
  • Connect S&H to Filter1's first Modulation Slot with a Depth to 100%.
  • Set Filter1's Cutoff to about 30% and Resonance to 100%.
Filter modulated by White Noise through a Sample and Hold unit.This S&H Noise to Filter creates a classic synth sound you've no doubt heard before:









Download the S&H Filter Patch here.

Sample Rate Reduction with the Sample and Hold Component
With Aspect, because there is no difference between Audio and Modulation signals the Sample and Hold component could also be used to sample an audio source at a specified clock rate. This distortion is known as Sample Rate Reduction, and produces a lo-fi, crunchy timbre.
  • Connect Oscillator1 to the S&H Input, and Oscillator2 to the S&H Clock.
  • Select S&H as the Input for Filter1.
  • Tune Oscillator2 up by 2 Octaves, and Tranpose is to 8.
  • Reduce the digital harshness slightly by setting Filter1 Cutoff to 50% and add a little bite by turning the Resonance to 50%.
Distortion via low sample rate in AspectThe pitch of Oscillator2, which is used to clock the Sample and Hold component, sets the Sample Rate of Oscillator1. Changing the Pitch of Oscillator2 changes the Sample Rate. At 2 Octaves and 8 Semitones, the Sample Rate is just over two and a half times the pitch of Oscillator1. This produces a particularly aggressive lo-fi metallic-sounding digital synth texture, which sounds like:









Download the Low Sample Rate Distortion patch here.

Monday, 4 May 2009

Modular synth sequencing, without a sequencer

This article presents a technique for producing step sequencer style patterns in a modular synth, without using a sequencer. We'll again be using the Aspect semi-modular synth. Download Aspect for Windows, Mac OS X, or Linux in Audio Unit, VST Plugin and Standalone application formats here. (Note: Only registered Aspect owners will be able to open the patches that accompany this tutorial.)

Start with a blank program configuration by clicking File / New Program.

A sequencer connected to a synth will trigger a succession of notes, where the volume contour of each note is controlled by the synth's amplifier envelope. This triggered envelope can be emulated by instead using a repeating modulation source to shape the note volume. We'll use a percussive volume contour: a quick attack, and slow decay. A Sawtooth LFO (Low Frequency Oscillator, in this case LFO1) will provide the shape we need, but from the following display we can see a problem: Aspect's Sawtooth LFOs ramp upwards, which is equivalent to a slow attack, and instant decay.

Sawtooth LFO modulation source

This is easily corrected by linking the LFO's output into an Inverter component (we'll use Inverter1 in this example). As you'd expected, this generates the shape we need (see diagram below.)

Inverted Sawtooth LFO modulation source
Which, when connected to the Output Amp Modulation and Synced to a rate of 1/16, produces the following 16th note pattern:









Download the gated patch for Aspect by clicking here.

The remaining 2 LFO components will be used to make the notes within our sequence play at different pitches. Both LFO2 and LFO3 are set to Synced Square waves. LFO2 is set to a rate of 1/8, and LFO3 to a rate of 1/4. when we align all three LFO signals we can clearly see a short sequence that repeats every four 16th notes:

Repeating LFO modulation pattern

The LFOs now need to be connected up as modulation sources to their required destinations. LFO2 should go to Oscillator1's second Pitch Modulation slot, with a depth of 2.00 semitones. (Remember that holding down the Shift key whilst dragging a rotary control will allow for more precise changes. This is useful when exact modulation depths are required.) LFO3 should be connected to Oscillator1's third Pitch Modulation slot, this time with a depth of 7.00 semitones.

With LFO2's Square modulation output causing Oscillator1's Pitch to move between 2 semitones up and 2 semitones down every 16th note, and LFO3 causing a modulation of 7 semitones, up and down, each 8th note, we get the following jaunty pattern repeated every four 16th notes:

+9 semitones
+5 semitones
-5 semitones
-9 semitones

When this is played through Aspect's lowpass filter, set to a moderate resonance, sounds something like:









Download the sequencer patch for Aspect by clicking here.

Due to Aspect's flexible semi-modular architecture, even without a dedicated sequencer interesting melodic patterns can be created. We've explored the simplest example - using LFOs to control a note's pitch - but for the more dedicated sound designer, Aspect's audio rate modulation sources and Patch section components provide the building blocks for a wealth of complex sequencer-style patterns.

Saturday, 21 February 2009

Kick Drum Synthesis

This tutorial presents an approach for synthesizing kick drum sounds using Aspect. Aspect is available for Mac OS X, Windows, and Linux in Audio Unit, VST Plugin, and Standalone formats. Download the Aspect evaluation here. The evaluation version is all that is required for following the tutorial. However, only registered users will be able to open the example patch accompanying this article.

Rather than a general kick drum synthesis guide, this will focus on recreating a specific kick sample. The analysis techniques outlined below can be applied to a wide range of sounds, and provide a solid starting point when attempting to recreate any sound. Here is the kick drum sample, a heavily processed 808, that we will attempt to recreate:








Download the 808 sample here.

Analyzing the source sample will reveal important cues that can help when recreating it as a synth patch. For this, we will use Audacity, a free, open-source, wave editor available for Windows, Mac OS X, and Linux. Audacity can be downloaded from here.

Load the original sample into Audacity. The default view in Audacity is the waveform, a graph of time (running along the x-axis) against amplitude (running up the y-axis).

Kick drum waveform
Several key points can be noted here:
  • The kick sample lasts approximately 0.43 seconds.
  • The kick amplitude envelope is more or less stationary until 0.12 seconds, at which point is decays towards 0.
  • The general wave shape is a sine. Zooming in closely to the waveform reveals that it isn't a perfect sine: there appears to be small amount of noise and grit in the signal.

Noise in kick drum waveform
  • The sine is gradually falling in frequency. This can be deduced from the increasing wavelength of the oscillator periods. A clearer view of the frequency content of the sample can be displayed by switching Audacity to its Spectrum display mode.

Click on the "808kick1" combo box at the top left of the Audacity track, and choose Spectrum from the display modes. Because the kick sample is made of low frequency content, changing the Spectrogram options (under Preferences) to 4096 sample FFT Size and Maximum Frequency of 2000Hz limits the display to the most useful content.

FFT view of kick drum
From this view, we can establish the following:
  • An initial burst of noise between 0.00 and 0.05 seconds.
  • A falling tone between 0.05 and 0.20.
  • A steady state frequency of about 50Hz.


This gives us enough information to begin synthesis. Open Aspect, and create an empty program by choosing File / New Program.

We know the general waveform shape, so change Oscillator 1's Shape to Sine. We don't need the Oscillator to track the keyboard, so remove Note Pitch from Oscillator 1's first modulation slot (by clicking on it and selecting "None" from the menu.) Finally, tune the Oscillator to a suitable frequency: an Octave of -3, Transpose of -7 and Detune of 24cents sounds about right. Playing a note gives a suitably sub-kick like sound.

Aspect settings for kick drum oscillator
Next, we'll shape the amplitude of the kick using Envelope 1. From our analysis, we know that that sample lasts around 430ms. Tweak Envelope 1 to have an approximate Attack of 1ms, Decay of 430ms, Sustain of 0%, and Release of 430ms. Surprisingly, this sounds much shorter that the source sample. Why? This is due to Aspect having particularly punchy envelopes. Decay and Release stages fall much more rapidly in Aspect than in an 808. Increasing the Envelope Decay and Release times to 880ms gives us the expected sound.

The initial noise burst is modeled using Envelope 2 (keeping with its default values of an Attack of 1ms, Decay of 5ms, 0% Sustain and 10ms Release) assigned to Oscillator 1's first modulation slot. A Depth of 39.33 semi-tones lends an appropriate crack to the drum sound. The falling tone is generated using Envelope 3, with an Attack of 1ms, Decay of 55ms, Sustain of 0% and Release of 60ms. This is assigned to Oscillator 1's second modulation slot, and given a Depth of 31.55 semitones.

A little grit is added to the drum by introducing a small amount of Noise (about 13%) into the Mixer. In order to add a small pitch variation, the Noise is also used as a the source for Oscillator 1's third modulation source. A Depth of 16.00 semitones sounds about right. Finally, any unwanted high frequencies components are removed by lowering Filter 1's Cutoff frequency to about 62%.

Altogether, this sounds like:








Download the Aspect 808 patch here.

Whilst it is not exactly identical to our source, it's certainly very close. And in the context of a mix, it'll be even more difficult to tell the synthesized kick from the source sample.

Monday, 2 February 2009

Unison in the Aspect Synthesizer

The classic unison sound, produced by mixing a large number of detuned sawtooth waveforms, is a defining element of many forms of electronic music. Genres such as trance owe much of their identity to this fat (or indeed, 'phat') sound. Its popularity can be traced to the supersaw waveforms of 1990's hardware synths, the Novation Supernova, or the Roland JP-8000. But its roots extend further back, to 1980's analogue hardware like the Roland Juno 106 or the Sequential Circuits Prophet 5. In the case of the Prophet 5, we have a five voice polyphonic instrument, with each voice having two oscillators. By sacrificing polyphony and turning on unison mode, all ten oscillators could be detuned and dedicated to a single voice.

This tutorial covers the basics of unison mode in Aspect. Aspect is available for Mac OS X, Windows, and Linux in Audio Unit, VST Plugin, and Standalone formats. Download the Aspect evaluation here. The evaluation version is all that is required for following the tutorial. However, only registered users will be able to open the example patches accompanying this article.

Aspect's Unison control is at the bottom right of the Aspect interface, next to the Polyphony control. This is no coincidence: unison is closely related to polyphony. With Unison set to '1 (Off)', Aspect acts a traditional polyphonic instrument. Each note played uses one voice of polyphony. Increasing the value of the Unison control increases the number of voices in a note. For example, setting Unison to '2' means that each note played will result in using two polyphonic voices.

Stacking voices is only useful when each voice is different. Five voices, all producing exactly the same sound, simply sounds like a louder version of one voice. The key to a powerful or interesting unison sound is in the differences between each voice. In Aspect, this variation comes from using the UnisonDepth modulation source to give each voice its own sound.

Supersaw
The first unison sound we will create is perhaps the most recognizable, and certainly the simplest: the supersaw. As you will recall from the introduction, the supersaw is created by stacking a large numbers of detuned sawtooth oscillators.

Start with the default patch (click on File, and then New Program). This gives a very basic starting sound of a single oscillator routed into a fully opened lowpass filter. Whilst not interesting in itself, it's an ideal base upon which to build more complex patches. Set the Unison to 5 voices by clicking on the Unison control and dragging upwards. Likewise, set the Polyphony to 20, and turn the Volume down slightly. The Global section should now look something like this:

Unison settings for synth supersaw in Aspect
In order to detune each voice, we now need to assign the UnisonDepth modulation to the Oscillator pitch. The first modulation slot has been assigned to Note Pitch, so we'll move onto the second. Click on Oscillator 1's second modulation slot (the white button in the middle that says 'Off', slightly below and to the right of the Detune control). Then click on the combo box above the button, and select 'UnisonDepth' from the modulation source list. Now, whilst playing a note, increase the modulation depth by turning the rotary control. Notice that as the UnisonDepth increases, the detuning becomes more prominent and the sound becomes fatter.

Now let's do the same to Oscillator 2. First of all, ensure that Oscillator 2 is routed into the main mix by turning up the Oscillator 2 control in the Mixer. Feel free to tweak each Oscillator's Octave, Tranpose, and Detune controls until you find a suitably big sound.

Oscillator settings for synth supersaw in Aspect
Choosing a suitably plucky Envelope 1 shape produces the following sound:







Download the Supersaw patch here.


Panning
Whilst the supersaw may be impressively big sounding, we can do better. Panning each voice around the stereo panorama produces a wider, more encompassing sound. The following steps detail how to use UnisonDepth to pan voices:

  • Set the Pan control in the Output section all the way to the left.
  • Route the UnisonDepth modulation source to the first Pan modulation slot.
  • Set the first pan modulation depth to 25%. The Pan position is represented as a percentage: 0% meaning panned hard left, 50% in the middle, and 100% panned far right. By setting the pan modulation to 25%, each voice will be placed as follows:
  1. First voice, 0%, left.
  2. Second voice, 25%, halfway between the far left and middle.
  3. Third voice, 50%, middle.
  4. Fourth voice, 75%, halfway between the far right and middle.
  5. Fifth voice, 100, right.

Pan position for unison supersaw in Aspect
Which sounds like this:







Download the Panned Supersaw patch here.


Unison Chords
Detuning each voice by a small amount, such as few cents, gives the impression of one fat sounding note. But rather than detuning oscillators by small amounts, we can also detune by much larger values. Detuning by semitones, for example, can create chords from single notes.

  • Start with a new, empty, program ( File / New Program).
  • Set the Unison to 2 and Polyphony to 12.
  • Route Oscillator 2 into the mix by increasing the Mixer / Oscillator 2 control.
  • Transpose Oscillator 2 by 3 semitones.
  • With Oscillator 1, select UnisonDepth as the second modulation source and increase the depth to 7.00 semitones. Note that any rotary control can be finely tuned by holding down shift whilst dragging it.
  • With Oscillator 2, select UnisonDepth as the second modulation source and increase the depth to 7.00 semitones.

Synth chord settings
Each note played will now produce a four note chord, which sounds like:







Download the Unison Chords patch here.


Additive Synthesis
Additive Synthesis involves mixing together sine waves of different frequencies to produce complex waveforms. A simple additive instrument to emulate is the drawbar organ - by combining just six sine waves, a convincing Hammond organ sound can be produced.

  • Start with a new, empty, program ( File / New Program).
  • Set Unison to 3, and Polyphony to 12
  • Route Oscillator 2 into the mix by increasing the Mixer / Oscillator 2 control to 100%.
  • Set both Oscillator 1 and Oscillator 2's shape to 'Sine'
  • Set Oscillator 1's second modulation slot source to UnisonDepth, and set a depth of 12 semitones.
  • Transpose Oscillator 2 down -3 Octaves, and set its second modulation slot source to UnisonDepth, and set a depth of 12 semitones.

Synth hammond organ oscillator settings
This will produce a sound that is a combined series of six sine waves, each an octave above the last. This sounds like:







Download the Sine Organ patch here.


Filter Mix
The Filter Mix modulation slots allow each voice within a unison note to have different mixes of Filter 1 and Filter 2. In the following example, a two voice unison note is split so that one voice consists of Oscillator 1 routed through Filter 1 and panned hard left. The second voice consists of Oscillator 2 routed through Filter 2 and panned hard right.

Dual filter settings

In this instance, the first voice is a simple bass note, whilst the second is a simple 2 note arpeggio. Altogether, this sounds like:







Download the Filter Mix patch here.


Formant Filters
Formants are resonant peaks within the spectrum of a sound. It is the formants caused by the mouth, vocal and nasal tracts that gives speech, particularly vowels, their identifying sound. Vowel formants can be approximated by using four parallel bandpass filters. Whilst Aspect may only have two Filters per voice, by using two unison voices per note we get the required four bandpass filters.

Formant vocal synthesis settings

This has a distinctly vocal flavour to the sound:







Download the Formant Filter patch here.

Conclusion
Aspect's unique architecture and UnisonDepth modulation source offer practically limitless flexibility. Stacking unison voices is a simple way to extend the limitations of two oscillators and two filters per voice. Variations within each voice is the key to producing interesting unison sounds.