Repository navigation
Slab 0.0.9
Audio into music: hum a line and get notes, put a voice in key, hear a
clip's chords and drums back as Slab instruments, and take a whole song
apart into stems with a neural network running on your Mac.
Audio into music
- Audio to notes: right-click an audio clip and its sung, hummed,
whistled or played line comes out as notes on a new Cream track under
it, with a lead sound, or a bass when the line sits under C3. The notes
land on the song's beats, follow the clip's warp, and are corrected
for a take that isn't tuned to A440. The clip is muted. - Hum to notes: right-click a track's arm button to switch it from
R to N, and a take recorded there turns into notes as soon as
you stop. - Tune: put a voice in key. Press TUNE in the audio clip editor,
or choose Tune from a clip's right-click menu. The key comes from
the take itself; change it, pick a scale, set SPEED (0 for the
hard effect, slower for gentle correction) and HUMAN (keep the
singer's vibrato). The waveform shows the sung and the tuned pitch.
The voice keeps its own character because its formants stay put. It
works on warped and unwarped clips, and in slabkit as
audio(…, tune="A", scale="minor"). - Chords to notes: right-click an audio clip to hear its chords
back on a pad. Chords, sevenths and the key are found beat by beat,
even from a full band with drums, and land as a pattern on a new Juno
track. The clip is named after them ("C Am F G7"), and its Tune key
is set to the song's. - Drums to a kit: right-click a drum loop, take or stem and it
becomes a sampler kit and a pattern. Its hits are sorted into kick,
snare, hats, toms and percussion on General MIDI keys, and the cleanest
hit of each becomes its pad. Each hit is judged by what it adds over
what was already sounding, so bleed under it doesn't fool it. On a
whole song, Explode runs it on the separated drums: about 87% of hits
were named right on rendered songs. - Split into stems: take a song apart into drums, bass, other and
vocals, each on its own track under the clip and playing in its place.
It uses HTDemucs, a neural network, running on your Mac through
CoreML: a three-minute song takes about 15 s. It needs the Extract
pack (Browser, Packs), which downloads and sets up the model once
(about 1 GB of tools and 200 MB of model; it needsuv,brew install uv). - Explode…: one sheet for all of it. Pick stems, drums, bass,
chords and melody, and a song comes back as stems, a drum kit with its
pattern, the bassline and melody as notes, and the chords on a pad. - Extract and Tempo from clip submenus: an audio clip's
right-click gathers Audio to notes, Chords to notes, Drums to a kit,
Slice to a sampler track, Split into stems and Explode under
Extract. - Song tempo to clip and Section tempo to clip set the whole
song, or the clip's section, to the tempo the clip was played in. The
tempo comes from a warped clip's markers, or is detected from an
unwarped clip's hits. Song follows the clip's changes joins them
under Tempo from clip.
Fixes
- Hits under a loud bass are found on the hit, not up to 16 ms
off. That makes warp markers, BEATS slices and grooves from such
takes sit tighter. - Slice to sampler on a track at its own tempo ratio (3:2 and the
like): the new pattern is as long as the clip, and the slices cover all
of it, the last one included. - Song follows clip on a track at its own tempo ratio: the tempo
changes cover the whole clip, and the song's own tempo comes back where
the clip ends.
Apple Silicon, macOS 13 or later. Built from v0.0.9, which is its complete source (GPL-3.0-or-later, see COPYING.md).
Install:
curl -fsSL https://github.com/nooga/slab/releases/latest/download/install.sh | bash
Or with Homebrew: brew install --cask nooga/tap/slab
Or open the DMG and drag Slab to Applications. It is not notarized, so the first launch needs System Settings > Privacy & Security > Open Anyway.