Tapedeck is an audio editor for Linux with an alternative control interface. Instead of a mouse, keyboard, and screen, it uses a DJ board (the Hercules DJControl Instinct) and a set of LED graph displays (not currently implemented, simulated with terminal graphics).
The audio editing capabilities are built around two virtual tape decks, each of which is loaded with one virtual tape at a time. A tape has boundaries which can expand, an In point, and an Out point. The controls for each tape mirror each other on the left and right sides of the console.
The controls for the mixer are in the center section of the console.
The mixer has 3 inputs: both tape decks and the external audio input. Each has a volume control, and their signals are summed together. All mixer inputs are sent to any tape deck with recording enabled.
The mixer has two outputs: Monitor and Aux-Send. External input is sent to monitor. Tape output can be toggled between monitor and aux-send output (see below).
It is often useful to connect a loopback cable from the aux-send to input. This can be used to copy/mix data between tapes.
DJ Board Controls
- Jog wheel: Jog tape
- Vertical slider: Tape volume
- Play/pause button: Play/pause tape
- Pitch bend: Fast-forward/rewind
Cue button: Record switch. Tape will only record while it is playing. Recorded audio overwrites existing audio. To mix audio instead, enable Loopback.
While recording is enabled, the tape’s boundaries can expand if you jog/play past them.
- Headphone button: Toggle tape output to aux-send. See Mixer section above.
- -/+ buttons: Set in/out point. Hold to cut the beginning/end of the tape off at this point.
- RW button: Jump backwards to out point, in point, or start of tape.
- FF button: Jump forwards to in point, out point, or end of tape.
- Sync button: Toggle action when out point is reached
- Off: Continue
- On: Loop to in point
- Flashing: Stop
- Number keypad: Swap tapes. There are 16 tapes in a library, split across 4 tabs. Use the Mode button to switch between the tabs.
- Headphone -/+ buttons: Monitor volume (doesn’t affect Loopback)
- Horizontal slider: Audio input level
- Vinyl button: Toggle linked tapes. When enabled, moving either jog wheel or pressing either play/pause button will control both tapes.
- Down arrow button: Exit
(Currently there’s no support for real LEDs. They are simulated with terminal graphics.)
There is a row of 20 LEDs for the Monitor VU meter.
Each tape has 2 rows of 10 LEDs: the position graph and the in/out graph.
.......... At start #......... Just past start #####..... Middle #########. Just before end ########## At end .........# Tape has no data
.......... Before in point #......... At in point ##........ Just past in point #####..... Between in/out points #########. Just before out point ########## At out point .........# After out point #........# At in and out point (they are the same)
Required components: ALSA
Required development libraries: PulseAudio, ncurses
make. Compiles to
tapedeck.out. Run in a
terminal. To run you must have the DJ board connected
as a MIDI device, one audio input device, and two audio
output devices. Audio device names are set in
Tapes are read and stored as
.wav files in the current
directory. They are named with a letter (L,E,S,C) and a
number (1 through 4), like
L1.wav. Generally tapedeck
can only read
.wav files that it has written.