All files you need are at Gist:
- Controller script: Setup for defaults (such as connection params for OSC, library path, track length etc.); this file has to be loaded into Sonic Pi and evaluated.
- Library: This file should reside on your harddrive and will be evaluated each time you press the big red Go-button (see below)
- TouchOSC-layout: Of course this has to be setup first. The layout has been made for use on an Android smartphone (layout size 580x320 pixels). Do not edit this file manually but with touchosc editor available at: https://hexler.net/software/touchosc. Easiest way to load this into touchosc: 1. Save this file as 'index.xml. 2. Create zip-archive containing only this file named e. g. ‘live-looper.touchosc’. 3. Open the archive in touchosc editor. 4. Use sync function to transfer to your smartphone (see: https://hexler.net/docs/touchosc-editor-sync)
To set the live looper up you will have at least to do the following:
Insta* ll the touchosc layout on your smartphone
- Configure touchosc (IP of your machine, outgoing port 4559 to reach Sonic Pi and incomming port so that Sonic Pi can communicate back to touchosc).
- Load the controller script into a Sonic Pi buffer, adjust the settings for IP and the incomming port number of your smartphone or other device.
- Put the library somewhere on your machine and set the path in the controller script (
set :libpath, ...).
- Run the controller script in Sonic Pi and press the Go-button on touchosc.
- And - of course - you will need some sound input to record (accordingly you will have to configure your sound system which I do with Jack under Linux)
This is, what the interface looks like so far:
- Go-Button: Starts the application (runs the library script).
Arm track buttons 1 to 4: (exclusively; Sonic Pi will just record one track at a time); the recording will start if you press the Go-button at the next beginning of what you have defined e. g. in the
track_len-setting (e. g.
set :track1_len, 8). Any time Sonic Pi actually records you will see a green LED on the left upper corner of the arm-track-button. After that the track will automatically disarmed.
- Metronome: You need to have an audio feedback, when the recording periods start. The metronome marks the 1 and the subsequent beats (depending on your track length setting for each individual track); you can set the volume of the metronome and also switch it off completely (orange button below the orange slider)
- Playback volume of track 1 to 4. Set to 0 you can also completely mute a track
Initially the metronome is disabled; also the playback volume sliders are set to 0.
I’d be grateful for some feedback if you like to play around with it. There are for sure some issues I have not thought of; also I am unsure about the recording volume (which can be adusted with
:rec_level) under different circumstances.