Overdub external audio onto four tape loops
I only have a Norns Shield for two days, so this is my first proper project, after only a small encoder test script hacking. Yay! How cool is coding in Lua?! Anyway … I’ve had this idea in my head for a while and thought it might be easy enough to get me acquainted with the system.
There are four tape loops onto which you can record external audio. At any time you may set the record head to another loop, splitting the external audio across the loops, which are stereo-panned from left to right. An overdub level control lets you adjust the mix between the old audio on the tape loop and the new one. It’s fun
- External audio input (or audio from Tape)
- MIDI input (optional)
There are four 20-second “tape loops”, represented by four vertical columns, stereo-panned from left to right.
A record head, represented by a white line, constantly moves over one of the loops. Make it jump to another loop with E3 (t). Press K2 (rec) to start and stop recording external audio at the position of the record head. Erase the tape by pressing K3 (del).
Adjust the speed of the currently selected tape loop by turning E1. Reverse playback is possible too, by turning E1 counterclockwise past zero. The speed is indicated by the number in the bottom right corner of the screen.
Turn E2 (lvl) to adjust the overdub level. 10 means the external audio will overwrite the tape completely. Turning E2 (lvl) down will record the external audio quieter, letting the already present audio on the tape loop still sound trough, mixing both signals.
Hold K1 to display alternative control functions.
Holding K1 and pressing K2 (rOFF/rREC/rDEL/rALL) will switch random modes:
- rOFF: random mode off
- rREC: randomly toggle recording, switch tape loop and change level
- rDEL: randomly toggle deletion and switch tape loop
- rALL: both of the above
Holding K1 and pressing K3 (clear) will erase the entire tape loop under the record head.
Holding K1 and tuning E1 offsets all four tape speeds.
Holding K1 and turning E2 (fade) adjusts Softcut’s fade parameter, inserting a fade between loop start and end points. Turning this up can make the audio sound smoother.
Holding K1 and turning E3 (mon) blends between monitor and Softcut audio signals, letting you hear the external audio feed on top of the tape loops.
All displayed parameters (and some more) are exposed in Norns’ EDIT/MAP menus, for easy MIDI mapping.
v1.0.0 - Initial release.
v1.0.2 - Added a lot of code comments, cleaned up formatting, added random record and delete functionality.
v1.0.3 - Bug fix of random record and delete functionality.
v1.0.4 - Added reverse tape playback.
v1.0.5 - Individual tape loop speeds and code improvements.
v1.0.6 - Added MIDI control.
v1.1.0 - Major rewrite to add PARAMS functionality and @neauoire’s MIDI device helper code.
v1.1.1 - Panning is now adjustable via the EDIT/MAP menus.
v1.1.2 - Parameter range/step improvements and minor tweaks.
v.1.1.3 - Pan fix
Download GitHub ZIP File
I wrote this script entirely on my iPad in the Textastic app. This cool text editor with Lua code highlighting also has SFTP and SSH clients built in, so I could run Matron-REPL and transfer files to my Norns Shield from within the app easily (the latter even with just one keyboard shortcut!).
It’s the ultimate couch and travel setup: