Strata is a wavetable oscillator whose table is a volume. Its frames are arranged in columns, rows and layers, up to sixteen of each, and the sound is one point inside that volume. X chooses the column, Y the row and Z the layer, and between grid points the frames are blended rather than stepped, so moving the point is a continuous change of timbre in three directions at once.
I built it to play what WaveStack makes. WaveStack lays a table out as a grid and can stack grids into layers, and it writes that shape into the WAV in a small open chunk called wt3d. Strata reads the chunk and opens the table with every frame in its cell and the layers named on the screen. Any other wavetable WAV opens as a single row, and a folder of tables opens as layers, the first at the bottom.
Moving the point
The X, Y and Z knobs span the table. Their CV inputs add one volt per cell, so a sequencer stepping in whole volts walks the table cell by cell, and a slow LFO drifts across it. Each axis either stops at its edge or wraps around to the other side, chosen in the menu. Strata is polyphonic, with sixteen voices, and the X, Y and Z inputs are polyphonic too, so each note of a chord can read from its own part of the table. X, Y and Z outputs report where each voice is reading, which lets a filter or a second oscillator follow the timbre.
The point can also move on its own. Click frames on the screen to lay down up to sixteen waypoints, then patch a clock into CLOCK and each pulse moves on to the next one, with a trigger on STEP as it begins. GLIDE sets how long the travel lasts. By default the point moves at a steady speed, so a jump across the whole table lasts longer than a step to the neighbouring frame, which sounds like a hand moving rather than a crossfade. The menu switches that to a fixed time for every move, and chooses whether the path runs straight through the volume or along the grid lines.
Shaping the frame and breaking the read
WARP bends the cycle’s phase so one half of the frame passes quickly and the other slowly. FOLD drives the wave into a wavefolder, TILT darkens or brightens it, and SYNC runs the frame up to eight times faster than the pitch, restarting it each cycle like a synced oscillator. A HARD input restarts a voice’s cycle from outside.
The second row is for corrupting the read on purpose. RATE sets how many frames one cycle reads, from a quarter to four, and START offsets where the read begins, so a cycle stops lining up with any one frame and runs across the boundary into the next. CRUSH lowers the bit depth, and SHUFFLE cuts the cycle into anywhere from two to sixty-four pieces and plays them in a different order, with a menu item to pick a new order.
All of it is band-limited. Each frame is filtered once per octave when the table loads, FOLD and CRUSH run at four times the sample rate, and every hard edge the shaping controls introduce is smoothed with a band-limited correction, so the high notes stay clean.
Stereo from inside the table
The OUT jack carries each voice on its own channel. The L and R outputs are the whole mix heard from two listeners you drag around inside the cube on the screen. A voice is louder at a listener the closer its point is, so as the point moves through the table the sound moves between the two outputs. ROT X, ROT Y and ROT Z turn the pair of listeners around the middle of the cube, and they all have CV.
The screen
The left part of the screen draws the wave each voice is playing, large enough to see what WARP, SYNC and FOLD are doing to it. The right part draws the table as a cube with its axes labelled, the layer the first voice is reading drawn brightest, each voice’s point in orange and the waypoints joined by a path. Drag it to turn it, double-click to reset the view, click a frame to add a waypoint, and drag a listener to move it. Shift-drag lifts a listener up or down through the layers.
Tables
A new Strata opens on a factory stack of four layers: harmonics, formants, sync and pulse shapes, each eight by eight. There are also a one-dimensional row of sixteen shapes and a single harmonic grid. Any table can have more layers added on top, from a WAV or from the factory set, as long as the grids match, and frames can be normalised, have their DC removed or their zero crossings aligned as they load.
Inputs and outputs
Inputs: V/OCT, FM, X, Y, Z and HARD, all polyphonic, plus CLOCK, RESET, and a CV for every other control.
Outputs: OUT, X, Y and Z (polyphonic), STEP, L and R.
Patch ideas
A chord across the table. A poly V/OCT into Strata and a poly CV into X with a different voltage on each channel. Each note of the chord plays its own column.
A clocked tour. Click six or eight frames on the screen, clock CLOCK from Count, and set GLIDE to about half. The long jumps arrive later than the short ones.
Stereo from position. Drag the listeners into opposite corners of the cube and sweep X slowly. The voice crosses from one side to the other as it crosses the table.
Smeared tape. RATE a little off centre, START moving slowly, and a small amount of SHUFFLE. The read no longer lines up with any frame and the table blurs into itself.
Pair with
-
WaveStackWaveStack is where a table is drawn and laid out. It writes the table's shape into the file, so a 3D table opens in Strata as a 3D table.
-
CountOne of Count's outputs into CLOCK steps Strata through its waypoints at its own rate and mask.
-
CisternStrata's L and R outputs into Cistern's L and R inputs put the two halves of its mix at two sources in one room.
-
SigmaBoth are sixteen-voice instruments, so one poly V/OCT and gate can play Sigma's sine partials and Strata's drawn frames on the same notes.