VOICE CONTROLLER
VIDEO DEMO
What it does
Constrained Grammar + Learning
The recognizer only hears words it understands — plus your track names. When it mishears, type what you actually said and Say So learns the correction, improving accuracy on your voice over time.
Full Ableton Control
Transport, tempo, navigation, loop points, scenes, clips, mixer, sends, master, markers, record/takes, track colors, editing shortcuts — all on your voice. If Live has an API for it, Say So can say it.
Hands-Free Composing
Say a chord progression and Say So writes the M2TM Notes syntax, creates a clip, and types it in — all without touching the keyboard. "Make a MIDI clip on drums scene one, C major G major A minor each one bar."
Smart Track Renaming
Say "rename drums" — Say So switches to open vocabulary, asks for the new name, you speak anything, it renames and snaps the constrained grammar back on. One-shot "rename X to Y" still works for common words.
Plugin Loading
Say "put Operator on drums" or "add reverb to bass" — Say So selects the track and navigates Live's browser to load the plugin in one sentence. Live must be the active window for browser automation to work.
Live Track Sync
Track names are added to the vocabulary automatically whenever they change. Say "seven audio" to match Live's default naming. Say "refresh tracks" to force a re-read if names get out of sync.
Mic Gate & "Over" Mode
Say "pause" before you sing and Say So stops listening — nothing fires while you perform. Say "resume" to bring it back. Toggle the "wait for over" setting and Say So won't run a command until you say "over", giving you time to finish a longer phrase without accidental triggers.
Type to Teach
When Say So mishears a command, just type what you actually meant to say. It logs the correction, maps your voice to the right command, and gets more accurate on your accent and speech patterns over time. The more you correct it, the less you have to.
AbletonOSC + SaySoBridge
Under the hood, Say So uses AbletonOSC to send OSC messages directly into Ableton Live. SaySoBridge sits alongside it as a second Control Surface, handling plugin loading, markers, Capture MIDI, sends/returns, and audio routing — things AbletonOSC doesn't cover.
Macros
Build trigger phrases that run multiple commands in sequence. Say "practice mode" and it loops 8 bars and turns the metronome on. Any combination of commands, any trigger phrase you want. Macros are saved and persist across sessions.
Ask It Anything
Say So can answer questions about your session. "What's the tempo?" "How many tracks?" "What's armed?" "What bar are we on?" "Read me the tracks." Answers are logged in the app and optionally spoken aloud.
Fully Offline & Private
Speech recognition runs locally via Vosk. Nothing you say leaves your computer — no internet connection needed after the one-time model download, no account, no API keys, no subscription. Fast, deterministic, and private.
Getting started
Install AbletonOSC
Download AbletonOSC (free) and drop it into your Remote Scripts folder. In Live: Preferences → Link/Tempo/MIDI → set a Control Surface slot to "AbletonOSC".
Windows: Documents\Ableton\User Library\Remote Scripts\
macOS: ~/Music/Ableton/User Library/Remote Scripts/
↗ Download AbletonOSC on GitHub
Install SaySoBridge
SaySoBridge ships inside the Say So download. Drop the SaySoBridge folder into the same Remote Scripts folder as AbletonOSC, then set a SECOND Control Surface slot to "SaySoBridge". Restart Live. Required for plugin loading, markers, Capture MIDI, and sends.
Run Say So
Double-click SaySo.exe (Windows) or SaySo.app (macOS). The first run downloads a ~128 MB speech model automatically — one time only. The window shows "connected | [bpm] | [n] tracks" when it finds Live.
Calibrate M2TM (optional)
To use hands-free chord composing, open a clip with the M2TM Notes text box visible, hover your mouse over it, and say calibrate. Remembered across sessions.
With SaySoBridge installed, "put Operator on drums" loads plugins directly. Keystroke features (M2TM typing, split, consolidate, save) require Live to be the active window. On macOS, grant Accessibility permission in System Settings → Privacy & Security. On Windows, if Live runs as admin, run Say So as admin too.
Everything heard is logged in the app. Type the command you actually meant into the > box and Say So learns the correction — improving accuracy on your voice over time.
Voice reference
Track commands accept a name ("drums"), a number ("track three"), or Live's default names ("seven audio" = 7-Audio). A command with no track named acts on the current selection.
TRANSPORT & SONG
| "play" / "stop" / "continue" | Transport controls |
| "record on" / "record off" | Session record toggle |
| "tempo one twenty eight" / "tempo up" / "tempo down" | Set or nudge BPM |
| "double time" / "half time" | Double or halve the tempo |
| "set time to six eight" | Change time signature |
| "metronome on/off" / "loop on/off" | Click track and loop toggles |
| "link on/off" / "link sync on" | Ableton Link |
| "undo" / "redo" / "undo five times" / "undo everything" | Edit history |
NAVIGATION & LOOP
| "go to bar sixteen" | Jump to a bar number |
| "back four bars" / "forward two bars" | Relative navigation |
| "jump to start" | Return to bar 1 |
| "loop from bar four to bar eight" | Set loop start and end |
| "loop eight bars" | Loop from current position |
| "loop off" / "double the loop" / "halve the loop" | Loop adjustments |
| "launch quantize to one bar" / "free launch" | Clip launch quantization |
| "follow" | Toggle follow playhead |
SCENES & CLIPS
| "launch scene three" / "next scene" / "previous scene" | Scene navigation and launch |
| "new scene" / "duplicate this scene" / "name this scene verse" | Create, copy, or name scenes |
| "fire clip two on drums" | Launch a clip by index on a named track |
| "stop all clips" / "stop drums" / "stop clips on keys" | Stop clips globally or per-track |
| "delete clip two on drums" / "delete this clip" / "delete this scene" | Remove clips and scenes |
| "name clip main riff" / "name this clip" | Name a clip |
MIXER
| "mute drums" / "unmute bass" / "mute everything but drums" | Mute / unmute |
| "solo drums" / "unsolo all" / "solo drums and bass" / "solo everything except keys" | Solo |
| "arm drums" / "disarm everything" / "arm only drums" | Record arm |
| "volume up on bass" / "volume down track three" / "reset volume" | Nudge or reset fader |
| "set volume fifty on keys" | Set fader level (85 = 0 dB) |
| "pan left / right / center on keys" | Panning |
| "monitor off / auto / in on track two" | Monitoring state |
| "input from ext in on track two" | Input routing (experimental) |
| "audio to master on drums" | Output routing (experimental) |
SELECTION
| "select drums" / "select track two" | Select a single track |
| "select tracks two, three and four" | Multi-track selection |
| "select master" / "select send a" | Select master or return tracks |
| "deselect" / "select none" | Clear selection |
SENDS & MASTER
| "select send a" / "select the reverb return" | Select a return track by slot or name |
| "mute send b" / "solo the reverb send" | Mute or solo a send |
| "turn down the master" / "set master to fifty" / "master up" | Master fader |
| "audio from track five" | Set selected track's input to another track |
TRACKS & DEVICES
| "new audio track" / "new midi track" | Create a track |
| "rename drums" → say any name (or "cancel") | Two-step rename, open vocabulary |
| "rename track one to bass" | One-shot rename |
| "delete track three" | Delete track ("undo" restores it) |
| "make drums blue" / "color blue" / "make them red" | Track color (17 colors) |
| "put operator on drums" / "add reverb to bass" | Select track + load plugin |
| "add plugin serum" | Load plugin onto selected track |
| "bypass reverb on drums" / "enable reverb on drums" | Enable/disable a device |
| "remove reverb from drums" / "list devices on drums" | Delete device or read device chain |
| "refresh tracks" | Re-read track names from Live |
RECORD & TAKES
| "arrangement record on/off" / "automation on/off" | Arrangement recording and automation |
| "re-enable automation" | Re-enable automation after override |
| "capture that" / "capture and make a scene" | Capture MIDI (requires SaySoBridge) |
| "redo take" / "scrap the take" | Delete the last clip and re-record |
| "keep that" | Confirm and keep the current take |
MARKERS (requires SaySoBridge)
| "drop a marker" / "drop a marker called chorus" | Place a marker at the playhead |
| "mark this the drop" / "name this marker verse" | Name a marker |
| "next marker" / "previous marker" | Jump between markers |
| "go to the chorus" / "go to marker two" | Jump to a named or numbered marker |
| "delete this marker" / "delete marker three" | Remove a marker |
EDITING
| "split at playhead" / "consolidate" / "duplicate this clip" | Clip editing (Live must be focused) |
| "quantize" | Quantize selected clip |
| "group" | Group current Live selection (select tracks in Live first) |
| "session view" / "arrangement view" | Switch views |
| "save" | Save the Live set |
ASK
| "what's the tempo" / "what's the time signature" | Session info |
| "how many tracks" / "how many scenes" / "read me the tracks" | Count or list tracks and scenes |
| "what's selected" / "what's on this track" | Current selection and device chain |
| "what's armed" / "what's soloed" / "what's muted" | Mixer state readout |
| "what bar are we on" / "is it playing" / "what are the sends" | Playback and routing info |
MACROS & FUN
| Open Macros window → set trigger phrase + command list | Run multiple commands from one phrase |
| "panic" | Stop transport + kill all clips + disarm everything |
| "again" | Repeat the last command |
| "surprise me" | Random color on the selected track |
APP CONTROL
| "pause" / "resume" | Mic gate — stop/start listening (say before recording vocals) |
| "over" | End of command (when "wait for over" is toggled on in settings) |
| "calibrate" | Remember M2TM text box position (hover mouse over it first) |
| "type it" | Type composed M2TM syntax into the box and hit Enter |
| "clear text" | Wipe the M2TM text box |
M2TM CHORD COMPOSING
| "make a midi clip on drums scene one, C major G major A minor each one bar" | Creates clip, types syntax, hits Enter — fully hands-free |
| "compose C major, D minor seven, G seven" | Any chord progression |
| "... each one bar" / "... each two beats" | Duration for all chords |
| "a C major chord for one bar then D minor for two bars" | Per-chord durations |
| "... each dotted quarter" / "in triplets" / "C major four times" | Rhythm variants and repeats |
| "notes C D E G each one beat" / "melody C octave four D E" | Single-note lines with octave control |
| "... then a rest for two beats" | Rests |
| "C major loud, G major softly" | Velocity (also "very loud" / "very softly") |
| "smooth ..." / "like a pianist" | Pianist voicings with voice leading |
| "C major over G" | Slash chord / bass note |
| "in the key of D major ..." | Key signature |
| "strummed C major G major" / "... slowly" / "strummed up" | Guitar-style strum feel and direction |
| "arpeggiate C major seven" / "... down" / "up and down" / "random" | Arpeggio with direction |
| "... in eighths" / "... over two octaves" | Arp speed and range |
| Chord qualities: major · minor · seven · major seven · minor seven · dominant seven · minor nine · nine · six · sus two/four · diminished · augmented · add nine · half diminished · power + sharp/flat | |
CHEAT SHEET
Say So — Command Reference PDF
All commands on one page. Print it or keep it open while you work.
AI REFERENCE
Say So — Manifest (for AI troubleshooting)
Upload this to an AI assistant for help troubleshooting. Contains the full technical reference — architecture, commands, known limitations, and fixes.
Details
| TYPE | Standalone Application (.exe / .app) |
| REQUIRES | AbletonOSC + SaySoBridge (both free), Ableton Live 10+ |
| PLATFORM | Windows & macOS |
| SPEECH | Local Vosk model — offline, no account, no internet after first run |
| PROTOCOL | OSC via AbletonOSC (port 11000) + SaySoBridge (port 11002) |
| PRIVACY | Nothing you say leaves your computer |
| LICENSE | Free — unofficial, not affiliated with Ableton AG |
- Constrained speech recognition — vocabulary locked to known commands + track names
- Type-to-teach: type a correction and Say So learns it permanently
- Full transport, mixer, navigation, loop, scenes, clips, and marker control
- Multi-track selection ("select tracks two, three and four")
- Record/takes: capture MIDI, redo take, scrap take
- Macros — trigger phrases that run multiple commands in sequence
- Ask commands — spoken answers logged and optionally read aloud
- Auto-renaming with open vocabulary fallback
- Hands-free M2TM chord and melody composing
- Plugin loading via SaySoBridge (no search bar required)
- Pause/resume mic gate + "wait for over" mode
- 5 accessible UI themes (Dark, Midnight, Light, High Contrast, Warm)
- Windows & macOS