Strata

Strata is a polyphonic voice that plays one designed sound. The sound is stored as a spectral document rather than a recording: a description of the sound's frequency content over a few seconds. Strata reads that description and synthesizes it at whatever pitch you play, so one design works across the whole range.

How the sound is described

The document describes the sound on a grid of time and frequency. Each point on the grid stores three things:

  • Level: how loud that frequency is at that moment.
  • Tuning: the exact frequency of the tonal part.
  • Noisiness: how much of the energy is noise rather than a pure tone.

When you play a note, the tonal part transposes with your pitch and the noise part stays at its designed frequencies, so breath and air stay in place while the pitch moves. Short attack events, called transients, are stored separately. They replay at the same speed at every pitch, so attacks stay sharp on low notes.

The display

The panel shows a spectrogram of the current sound. Time runs left to right. Frequency runs bottom to top on a log scale from 30 Hz to 16 kHz, with gridlines at 100 Hz, 1 kHz, and 10 kHz. Brightness shows level. Color shows character: cyan is a pure tone, orange is noise. The two dashed vertical lines mark the loop region. The orange arrow on the left edge marks the design pitch. White ticks along the bottom edge mark transients.

The readouts under the display show the clip length, the design pitch, and the loop region.

Playing

Patch a pitch source into V/OCT and a gate into GATE. MIDI-CV and the Piano Roll both work. Strata plays up to eight notes at once, and released notes finish fading while new ones start.

A held note plays from the start of the clip into the loop region, then repeats that region until you release the gate. On release the sound fades out, either by playing on past the loop or by continuing to repeat it. Loop Release picks which. Playing the design pitch reproduces the sound exactly as designed; other notes transpose it.

Editing the sound

The panel is a full editor. The left column lists the document's layers, the center shows the spectrogram, and the right column shows the knobs for whatever is selected.

A layer is either a source or a transform. Sources add energy: partial series, noise bands, formants, transients, and so on. Transforms reshape the sound flowing into them: EQ, blur, freeze, spectral delay. The list reads top to bottom in the order the sound is built. The first source sits at the top and the finished sound comes out at the bottom, so a transform affects everything above it.

The layer list

  • Click + Add and pick a layer type. The new layer lands below the selected row, or at the end of the chain when nothing is selected.
  • Click a row to select it. Shift-click selects a run of rows. Ctrl-click adds or removes a single row.
  • Click the dot at the left of a row to bypass the layer. Bypassed layers stay in the document but make no sound.
  • The two glyphs at the right of a row duplicate and delete the layer. Press Delete to remove everything selected. Right-click a row for the same actions in a menu.
  • Drag a row up or down to reorder the chain. A line shows where the row will land.

The knobs

The right column shows the selected layer's parameters. Sources also get a Blend menu, which sets how the layer's energy combines with the sound below it. Every layer has a Mask section, collapsed by default: a frequency band and a time window that limit where the layer acts. Click the Mask header to open it and the toggle to turn it on.

Every source starts with Transpose, which moves that layer up or down in whole semitones. The box to its right names the interval as you drag, so you can stop at P5 or 8ve without counting. Transposing places the layer's partials at their new frequencies rather than shifting a finished sound, so an interval is exact however far you go. Give two Partials layers the same settings and set one to P5 and the sound plays in fifths.

With nothing selected the column shows the document knobs: Length, Base Pitch, Loop Start, Loop End, and Loop Release.

Blend modes

These combine the layer with everything beneath it, frequency by frequency.

  • add — the two sum. The default, and the right answer most of the time.
  • multiply — energy passes only where both have it, which is the ring-modulator sound.
  • max — whichever is louder at each frequency wins.
  • subtract — the layer's energy is carved out of the sound below it.
  • min — only frequencies present in both survive, at the quieter level. Thins a sound down to what its layers agree on.
  • screen — a gentler sum that levels off instead of piling up. Use it to stack layers without the result turning harsh.
  • gate — this layer is the sound you hear, but it only speaks where the sound below it has energy. Put a rhythmic or vocal-shaped layer underneath and it stamps that shape onto this one.
  • difference — keeps whatever the two layers do not have in common. Metallic and clangorous.

How a note ends

The loop region splits the sound in two. Everything between Loop Start and Loop End repeats while you hold a key. Everything after Loop End is the release: it is only ever heard once you let go, and letting go jumps straight to it.

That is why Release sits under each source's Decay rather than being one control for the whole sound. Each layer fades through the tail at its own rate, so a bell can ring on while the breath under it stops immediately. Pair it with a layer's time mask and a source can appear only in the release, as a sound that arrives when you lift your finger.

The release can only last as long as there is sound left to play, and that is Length x (1 - Loop End). A two second sound with Loop End at 0.90 leaves 200 ms of tail, so a four second Release on a layer is cut short. For long releases, raise Length or move Loop End earlier.

Loop Release, in the document knobs, is the other way out of that problem. Leave it off and releasing a key jumps to the tail, as described above. Turn it on and the sound keeps circling the loop region while it fades, so the release lasts as long as you set it no matter how little tail is left. Use it when the loop sits near the end of the sound.

While you drag a knob the spectrogram previews the change. The sound and the undo history update when you release, and each drag is one undo step. Double-click a knob to reset it. Undo and redo work on every edit.

Useful layers to know

  • Waveform is the familiar oscillator shapes written as a spectrum: sine, triangle, saw, square. Saw and square carry every harmonic and get gritty quickly. Triangle keeps only the odd ones and stays hollow. Partials is the same idea with the harmonic content under your own control.
  • Gain raises or lowers everything flowing into it. Pushing it well past 0 dB drives the output into saturation. That is a usable sound, not a mistake.
  • Tilt / Peak EQ shapes the spectrum: a tilt across the whole range plus two parametric peaks of up to 36 dB each. Use one peak to lift a resonance out of the sound and the other to duck whatever is masking it. A narrow peak with a large boost turns a band into a ringing feature.
  • Arpeggio plays the sound through a chord instead of holding one pitch. Pick a chord, a direction (up, down, up and down, or random), and how many octaves to cover. The pattern is built into the sound, so it is not a live arpeggiator: it does not respond to which keys you hold, and every note you play gets the same riff transposed to that pitch. Rate sets the speed in Hz. Gate controls whether the steps sound like separate notes or slide into one another: turn it down and the pattern becomes a stepped glissando. Arpeggio works on tonal material. Noise smears when it is shifted, so use the layer's Mask to limit it to the harmonic part of the sound.

Turn on Sync to Loop once the loop region is where you want it. The rate then shifts slightly, to the nearest whole number of steps per loop, so the pattern finishes cleanly each time the loop repeats. Leave it off while you are still moving the loop points, or every adjustment changes the arpeggio speed.

  • Resonate rings a chord out of a sound. Pick a chord and it pulls nearby energy onto those notes, boosts them, and cuts what falls between. Root moves the chord up in semitones from the design pitch, so it follows whatever key you play, and Chord steps through 32 shapes from unison through intervals and triads to sevenths. Resonance sets how hard it grips: how much energy is pulled onto the notes, how loud they ring, and how much of the rest is cut.

Resonate concentrates energy the sound already has rather than adding notes of its own, so feed it noise, grains, or anything inharmonic. A plain harmonic source already sits on its own grid and barely changes. It also gets loud toward the top of the Resonance range, which drives the output into saturation.

  • Ripple adds a repeating rise and fall in level, across time, across frequency, or both. Time Rate reaches 60 Hz. Up to about 10 Hz it sounds like tremolo. Past that the steps stop being rhythm and start adding a rough, metallic edge to the tone.
  • Shepard builds the endless rising or falling tone. Rate reaches 8 octaves per second in either direction.

The keyboard

The keyboard along the bottom of the panel plays the sound without patching anything, which is useful while you are editing.

The keyboard shows a range wider than the panel. Hold the middle mouse button and drag left or right to move through it, or point at the keyboard and scroll. It moves smoothly rather than snapping to notes or octaves. Keys that would only partly fit are hidden at each edge, so the range you can see is the range you can play.

Controls

  • Tilt: tips the balance between low and high partials, in decibels per octave around 1 kHz. Positive brightens, negative darkens. It is a filter that follows the harmonics rather than sitting at a fixed frequency, so it keeps its character as you play up and down the keyboard.
  • Stretch: spreads or squeezes the spacing between partials, around the note you play. 1.00 leaves the sound exactly as designed. Above that the partials spread and the sound turns bell-like and clangorous; 2.00 leaves only every other harmonic, which takes a full, buzzy tone toward a hollow one. Below 1.00 they bunch toward the fundamental.
  • Rate: how fast the sound is read, from the knob beside Volume. 1.00x plays it as designed. Lower values stretch it out, and the pitch does not change with it, so 0.25x takes four times as long to unfold and still plays in tune. Above 1.00x it runs faster. Negative values play it backwards.
  • Volume: output level, 0 to 100%.

Making the sound move

Everything above designs a sound. The Rate knob and the SCAN input change how that finished sound is read back, which is where Strata gets its movement.

The layers already change across the document's length, through their attacks, decays, and layers like Sweep, Ripple and Arpeggio. Rate sets how fast you move through that. SCAN sets where in it you are reading.

Rate only makes a difference when the sound changes across its loop region. A steady pad, where the loop is deliberately the unchanging part, sounds the same at any rate. It matters on designs that move.

Patch SCAN and its voltage offsets the reading point, forward or backward, while playback continues underneath. The offset covers one loop region and wraps around inside it, so while you hold a note it always stays in the body of the sound rather than straying into the attack or the release. A slow LFO into SCAN makes the sound drift around itself while it keeps playing. Pull Rate down toward 0 at the same time and that drift becomes the only movement left.

Rate and SCAN work together: Rate is how fast you travel, SCAN is where you are.

Tilt and Stretch change the sound's colour, and they work on any sound, steady or not. Both follow the note you play, so they hold their character across the keyboard. They update about 190 times a second: smooth for a slow sweep or a gentle wobble, and stepped if you modulate them faster than that.

Import and export

Import and export let you move sounds between patches and share them with other people. Click Export to download the current sound as a .strata.json file. Click Import and choose a .strata file to replace the module's sound; that is a single undo step.

The document is saved inside your patch, so a saved patch keeps its sound without any extra files.

Inputs & outputs

  • V/OCT: pitch, 1 V per octave. 0 V plays middle C.
  • GATE: starts a note when it rises and releases it when it falls.
  • SCAN: offsets the point being read, by up to one loop region in either direction across -10 V to +10 V. Playback keeps running underneath it.
  • RATE: adds to the Rate knob, up to 2x either way across -10 V to +10 V.
  • STRCH: adds to the Stretch knob, up to 1.00 either way across -10 V to +10 V.
  • TILT: adds to the Tilt knob, up to 24 dB/oct either way across -10 V to +10 V.
  • L / R: the audio output. The voice is mono and both jacks carry the same signal.