this post is a Wiki. you can edit it if you’d like to add clarifications or questions
W/Tape takes the original W/ firmware and strips it back to the essentials. It’s designed to operate as a virtual tape deck with a long record time (~3 hours per tape), for capturing performances and sonic vignettes. Full vari-speed control, even while recording, allows histories to be manipulated in a performative style.
The static ‘cues’ of v1 have been removed, instead opting for a simple live-looping style. This change has drastically simplified the user interface, and makes it far easier to know “what’s going on” at a glance. (Some people really loved those cues, so we’re planning on a ‘vintage mode’ which will emulate the cue system.)
The tape is now a giant loop of audio. ~3 hours continuously rolling. There is no longer a ‘start’ or ‘end’ of the tape, just a giant blank canvas to layer upon. NB: 3 tapes (3 hours each) will be available with the 2.1 update.
Recording is continuously variable between overdub & overwrite (from the front panel), so you can layer additively, or have the past gradually fade away with each pass.
Playback is controlled with the ‘play’ button along with the toggle (‘up’ and ‘down’). Playback can be in either direction, with varying speeds, and nudged around manually.
- play: start/stop playback state (maintains speed & direction)
Change playback direction (works while stopped or playing)
- down+play: activate playback in reverse direction
- up+play: activate playback in forward direction
Change playback speed
- play+up: increase playback speed (double)
- play+down: decrease playback speed (halve)
Manual motion (stopped)
- up: fast-forward, accelerating the longer you hold (up to 2x)
- down: rewind, accelerating the longer you hold (up to 2x)
Manual motion (playing)
- up: momentarily push speed faster (up a perfect fifth)
- down: momentarily pull speed slower (down a perfect fourth)
The white play light indicates forward playback, pulsing relative to the playback speed
The yellow play light indicates reverse playback, pulsing relative to the playback speed
Recording is a simple toggle on/off, though the ‘style’ of that recording can be modified. Do this by holding ‘record’ and either up(overwrite) or down(overdub). The yellow light above record will indicate the style chosen. As the brightness increases, the ‘erase head’ is more active, clearing more and more of past recordings. The erase level will also be shown above the toggle while ‘record’ is held.
- record: enable/disable recording mode
- play: start/stop the recording
Set recording style
- record+up(hold): stronger erase head. set to max for overwrite
- record+down(hold): less erase. set to min for overdub
The white record light indicates whether record is engaged.
The yellow record light indicates the amount to reduce previous recordings.
Looping is similar to many loop pedals and is oriented toward live usage. There are three states to looping: empty, capturing, playing. Press loop to set the start point and again to set the end point, automatically engaging the loop (and disabling recording). You can retrigger a playing loop to the start with a quick tap of loop. Cancel an active loop (or a capturing loop) by holding loop.
Looping is independent of Recording, so if you want to live-loop input, you’ll need to have record active when setting the loop. In order to enable cleanly capturing a loop of sound, record will be disabled when defining the end of the loop. If you want to layer sounds frippertronics-style, you’ll need to re-engage record after defining the loop end.
Loops can be scaled by holding loop and flicking up/down to double/halve the length of the loop. When dividing the loop in half, W/Tape will zoom into the half that contains the current playhead. Zooming out to a bigger loop will always push out the loop end.
Loop is empty
- loop: set the start point of a new loop → capturing
Loop is capturing
- loop: set the end point of the loop, and disable recording → playing
- loop(hold): cancel the start point → empty
Loop is playing
- loop: retrigger the start of the loop
- loop(hold): clear the current loop → empty
*NB: If you don’t want recording to disable when you set the loop-end point, you can override it by attaching a CV to record.
- loop+up: double length of the loop
- loop+down: halve length of the loop
NB: when scaling, if you release the toggle before the loop button, the loop will retrigger when releasing loop. If you don’t want to retrigger, release loop before releasing the toggle.
empty both lights are off
capturing the yellow light will pulsate
playing the lights will fade yellow to white (or vice versa if playback reverses)
In addition to the live performance controls listed above there are additional parameters for configuring the tape machine. These are accessed by ‘chording’ two buttons and modifying via the toggle (which will display the current value):
- (loop+play) + (up/down): ‘Monitor’ level. Control the amount of signal at the IN jack to be passed to the OUT jack. Essentially a ‘dry’ level control
(play+record) + (up/down): ‘Record’ level. Sets the gain of the IN jack before being recorded to tape. Reduce it below unity to enable more layers of sound-on-sound before clipping, or increase it above unity if your sound source is too quiet (warning: the lights will not show how far above unity you are, but will be limited to 2x gain). REMOVED, CV control remains.
- (loop+record) + (up/down): ‘Echo Mode’. see next section.
In normal usage, it is customary to playback the tape after first erasing old material. This means that when ‘overwriting’ the tape, you won’t hear any (unrelated) sounds previously recorded over the tape. Indeed that is the desired behaviour when ‘recording over’ unwanted material.
In contrast, when setting up a tape loop or echo it is desired to hear the delayed sound before erasing & replacing it with new sound. To enable this feature, use Echo mode:
- (hold loop+record) + (up/down): change head-order, displayed above the toggle. yellow(down) is standard tape deck, white(up) is echo mode.
Note that in ‘overdub’ mode, this setting has no impact, as the erase head is effectively disabled.
When the recording-style is between ‘overdub’ and ‘overwrite’ modes, Echo Mode determines whether the first echo is at the erase-head level (normal mode), or full volume (echo mode).
THIS and THAT can be freely assigned to any of 6 parameters by holding record while inserting the cable. Each input is assigned separately and have the same destination options. Choose the destination parameter by pressing the 3 buttons, then press down to confirm your choice. If you don’t want to change the assignment, just flick the toggle up to return.
- yellow+white: allows clocked looping. Resets to the start of a playing loop.
To record a loop, triggered by CV:
- Attach & assign your CV cable to loop
- Tap loop to ‘arm’ loop recording. It will flash like a regular loop press
- The first CV pulse after arming, sets the loop-start point (both loop lights will flash)
- The next CV pulse will set the loop-end point and start looping (and disable recording).
- Any subsequent CV pulses will reset to the start of the loop.
- yellow: tape speed (additive). when stopped it’s fast-forward / rewind.
when playing it adds to the current speed for vibrato and FM effects.
- white: tape speed (exponential multiply). when stopped has no effect.
when playing shifts the tape speed, where 1-volt-per-(double speed).
pitch shift a recording like a melody by using a sequencer.
- yellow+white: record level. At 0V no recording or erasing occurs. As the voltage fades up to 5V record level is increased to full, and the erase-strength reaches whatever the panel erase strength is set to.
From 0V down into negative regions behaves the same as positive, except fades to the opposite erase-strength vs positive voltage. If your erase strength setting is set to overdub, negative voltages will approach overwrite.
Use a 5V+ gate signal as a momentary record gate.
- Monitor level. Adds the CV input to the monitor level setting. The volume control goes through-zero and up to 2x gain, so there’s plenty of creative things to do without even touching the tape. Send in negative values to invert the input signal, or positive values to add gain to a signal. It handles audiorate reasonably well for balanced-modulation of the dry signal. Can be a nice way to do double-duty if W/Tape is just acting as a backing track.
- Input gain. Sets the gain level of the input signal before it enters the tape machine. Happens in parallel to monitor so they are independent of each other. Essentially a VCA right before the record head. When activated the ‘default’ level (0V) is zero gain, so attach a unipolar envelope to increase record level with CV, or a voltage offset to control the level directly.
W/Tape has an extensive ii implementation, allowing for many extended techniques not possible (nor practicable) via the front panel.
--- crow style ii interface
record( is_recording ) -- set state of recording
play( is_playing ) -- set state of playback
reverse() -- reverse tape direction
speed( rate/num, (optional)denominator ) -- tape rate as a float, or fraction
freq( v8 ) -- set rate in terms of 1-volt-per-octave, where freq(0) == speed(1)
erase_strength( level ) -- when recording, sets the gain of old material. 0==overwrite
monitor_level( gain ) -- set the gain of the 'dry' path direct from IN to OUT
rec_level( gain ) -- set the gain of IN before sending to the tapedeck
echo_mode( active ) -- set to 1 for 'destructive looping' effects
loop_start() -- start a loop at the current tape location
loop_end() -- set the end point of the loop at the current tape location
loop_active( is_active ) -- activate the loop (can recover old loops)
loop_scale( scale ) -- multiply or divide loop size by scale. send 0 to reset.
loop_next( direction ) -- move loop brace forward/backward to adjacent tape. 0 jumps to start of the current section (ie retriggers)
timestamp( seconds ) -- move tape playback to an absolute location in seconds
seek( seconds ) -- move tape playback by seconds relative to the current location
get('record') -> is_recording
get('play') -> is_playing
get('speed') -> rate
get('freq') -> v8
get('erase_strength') -> level
get('monitor_level') -> gain
get('rec_level') -> gain
get('echo_mode') -> is_active
get('loop_start') -> timestamp in S
get('loop_end') -> timestamp in S
get('loop_active') -> is_active
get('loop_scale') -> scale
get('timestamp') -> timestamp in S
Using a combination of local storage and the
timestamp commands, your script can replicate the behaviour of the cue system.
loop_next can be used for dynamic rhythmic looping with nested slicing & playback of the tape.
freq can be used to modulate tape speed in musical ways, especially useful for treating recordings as samples to be re-pitched.
freq is an easy way to have musical relationships of tones, while
speed makes poly-rhythmic playback or just-intoned harmonies possible through ratiometric speed setting.
In a pinch, you can use a stream of ii commands to add additional CV control over W/Tape. Parameters like
rec_level which are not available as CV destinations on panel, can thus be added.