Tape stop

ATMOSYNTH built-in module

A tape slowing to a halt under whatever it was playing, and spinning back up again. Stop at nothing is the signal passing straight through, sample for sample; turn it past half way and the tape loses speed over Stop time, the pitch falling and the music dragging with it until it stops dead and goes quiet. Turn it back under half way and the tape comes back up to speed over Start time, the pitch rising out of nothing, and once it is running it crosses back to the music as it is now, since slowing down left it behind. A Start time of nothing comes straight back instead. Both times are counted in beats against the one tempo the whole instrument keeps — the same one the arpeggiator and the sequencer count against — so a stop of one is a beat long and a stop of four is a bar, and moving the tempo moves them with it. Curve is how the speed goes: at nothing it falls evenly, which is a hand on a turntable; turned up, most of it goes in the first moments and the rest is a long low growl, which is a heavy platter coasting to a halt. Stop is an input as well, with a depth for how far a signal there moves it, which is what it is played by: a controller, a square LFO stopping the tape on every bar, a sample and hold stopping it at random. Let go part way down and the tape spins back up from where it had got to; let go once it has halted and it starts again from the music playing now, because nothing was heard at the halt to jump from. It carries a small piece of code, because where the tape is is its speed added up over time, and nothing else here adds up. It holds sound that outlives the note that made it, so it is added shared — per voice, each note would take its own tape with it when it ended.

What it is made of

The Web Audio nodes inside this module and how they are wired. Fork it to open the same graph in the editor, where every part can be changed.

A patch connects to it through audio input ‘In’, audio input ‘Stop’ and audio output ‘Out’.

  • ‘in’ is an audio input this module declares, set to input in. Its output reaches input 0 of ‘tape’.
  • ‘stopin’ is an audio input this module declares, set to input stop. Its output reaches input 0 of ‘depth’.
  • ‘depth’ is a gain node. Its output modulates the stop of ‘tape’. A patch can set its gain, through ‘Stop amount’.
  • ‘beat’ is a constantSource node, set to signal beat. Its output reaches input 0 of ‘stoptime’. Its output reaches input 0 of ‘starttime’.
  • ‘stoptime’ is a gain node. Its output modulates the stopTime of ‘tape’. A patch can set its gain, through ‘Stop time (beats)’.
  • ‘starttime’ is a gain node. Its output modulates the startTime of ‘tape’. A patch can set its gain, through ‘Start time (beats)’.
  • ‘tape’ is a audioWorklet node, set to processorName atmosynth-tape-stop, numberOfInputs 1, numberOfOutputs 1, tail true. It runs its author's own code. Its output reaches input 0 of ‘out’. A patch can set its stop, through ‘Stop’. A patch can set its curve, through ‘Curve’.
  • ‘out’ is an audio output this module declares, set to output out.
  • ‘Stop’ is a setting a patch can turn, from 0 to 1.
  • ‘Stop amount’ is a setting a patch can turn, from -1 to 1.
  • ‘Stop time (beats)’ is a setting a patch can turn, from 0.0625 to 4.
  • ‘Start time (beats)’ is a setting a patch can turn, from 0 to 4.
  • ‘Curve’ is a setting a patch can turn, from 0 to 1.

No published patch uses this module yet

When somebody publishes a patch built on it, that patch will be listed here.

Browse Explore