Recorder and Slicer
The Recorder and the Slicer are two apps on one service, ISampleTools in crosspad-core. The Recorder takes a
recording, trims it to a loop and saves it. The Slicer cuts a loop into up to sixteen slices and saves them as a kit.
Neither app waits for the SD card: the card work runs on a task of its own, and the apps ask for it and check on it.
What the Recorder hears
Section titled “What the Recorder hears”| Source | What it records |
|---|---|
| MIC | the built-in microphones |
| LINE | the line input |
| PADS | the pads as the Mixer plays them (the Sampler and pitched kits, with their faders, pan, mute and solo), never the inputs or a song |
| USB | what the computer plays into the CrossPad, before its Mixer fader. Available in MIDI + Audio mode. |
Recording with a song
Section titled “Recording with a song”With SYNC on, REC plays the open song from bar FROM, and the take lines up with it: the take’s first frame is the start of that bar. FROM follows the song’s loop region; turn it to pick another bar. PRE counts one or two bars in before the take starts.
ARRANGE puts the loop between the markers into the song. A take made with SYNC goes where it was recorded, at the bar under START, so the loop stays on the beat wherever you trimmed it. Any other take goes after the last block of the first empty track. Before you confirm, the window shows which blocks would make room for it.
- Takes are saved as
rec_NNN.wavand loops asloop_NNN.wavincrosspad/recordings/: 16-bit stereo at the engine’s rate, up to 10 minutes each. - FILES, in both apps, browses the whole card: folders first, then WAV files, by name, 40 rows a page, up to 2000 entries in a folder. A WAV in a format the CrossPad does not read, such as 24-bit or compressed, says so when you open it.
Slicing
Section titled “Slicing”- Slices: up to sixteen, found by the loop’s hits (turn the sensitivity), in equal parts, or cut live with FREE: the first pad plays the loop, and every next pad cuts where you hear it.
- Hits: a hit is a rise in level of 30 dB at sensitivity 0, down to 3 dB at 100. The cut lands up to about 10 ms before the hit, never after it.
- ATK sets every slice’s attack, 0 to 500 ms. PITCH transposes the loop by −12 to +12 semitones, as on a turntable: a slice an octave up is half as long.
- KIT saves the slices as a kit in
/sdcard/crosspad/kits/: a folder withkit.jsonand the slices asSAMPLES/1.wavonwards. The attack and the pitch are written into the WAV files, so the kit sounds the same on any CrossPad. All pads are in choke group 1, so a slice cuts the one before, as on an MPC. The kit browser lists it under USER, and it is in the kit list at once.
For app authors
Section titled “For app authors”PlatformServices::sampleTools (ISampleTools) is the service both apps use. Every call that needs the card is a
request: it returns at once, and the result appears in the service’s state, which the app reads from its UI timer.
Take the same approach in your own app: never wait for the card on the GUI task.