Manual
Audio Hardware, MIDI Hardware, and Remote Control
Audio devices
Preferences ▸ Audio holds the live device panel: output/input device, sample rate, buffer size, and per-channel enables. Below it, two engine settings: Audio threads (Automatic, or a fixed core count) and Resampling quality (Lagrange fastest → Sinc best) for new clips.
Zammoth narrates device trouble instead of going silently dead:
- Unplugging the current device falls back to the system default and reports "audio → ‹device› @ ‹rate› kHz".
- A Bluetooth-style sample-rate renegotiation stops, reopens at the new rate, and resumes playback.
- If a device dies with no fallback, a status line and a durable chat note say sound is off until you pick a device in Preferences (⌘,) ▸ Audio.
- Any device change mid-take discards the in-flight recording (the engine must rebuild) — and says so in chat, plainly.
Latency: plug-in delay compensation is automatic (the engine's job). The number you may care about — the driver's own measured in/out/round-trip latency — is shown next to Preferences ▸ Recording ▸ Latency offset (the ±200 ms recorded-audio trim) and in Help ▸ Report a Problem diagnostics. To monitor a particular armed track without its plug-in latency, use that channel's KEEP LATENCY latch (The Mixer ▸ Track Delay); to shift a channel deliberately, use its TRACK DELAY cell in the same row.
MIDI hardware
- Inputs auto-enable — plug in a keyboard and play (arm an instrument track to route and monitor it). The top bar's MIDI IN dot blinks on traffic.
- Per-input settings — Preferences ▸ MIDI ▸ Settings… (or
midi_input.set): which channels get through, a forced channel, a note range (split a keyboard between two instruments), fixed velocity, a timing trim, input quantize, and how a recorded pass lands: merge (overdub into the clip), replace, or new clip per pass. - Outputs — route any track's MIDI to hardware per-track:
midi_output.set(a routing switch on an ordinary instrument track; "none" returns it to the internal instrument). - MIDI Learn — right-click any native device knob (or track volume/pan) ▸ MIDI Learn, then move your hardware control. Mappings persist with the project.
Sync out (clock master)
Preferences ▸ MIDI ▸ Sync out: per output device, send MIDI Clock, MTC (timecode), and MMC (transport commands) to hardware or other apps. The OUT dot lights while clock/MTC is being sent. Zammoth is always the sync master (it does not chase incoming clock). If no MIDI outputs exist, the panel points you at enabling the IAC Driver in Audio MIDI Setup.
Control surfaces (MCU)
Preferences ▸ Control Surfaces ▸ Add controller…: Mackie-Control-protocol surfaces — Mackie Control Universal, Icon Pro G2, Frontier Tranzport, AlphaTrack, Novation ReMOTE SL. Assigning a MIDI-in port is the enable switch; pick a MIDI-out for motorised faders/displays. Only surfaces you've bound show rows.
OSC remote control
Preferences ▸ Control Surfaces ▸ OSC remote control (off by default; port 9000, localhost-only by construction — the socket binds 127.0.0.1, so nothing off-machine can reach it). Two address schemes for TouchOSC/Lemur-style apps:
/cmd/<command.key> [json]— the full command catalog by key.- Ergonomic continuous addresses:
/track/<n>/volume 0..1(maps to −60…+6 dB),/track/<n>/pan −1..1,/track/<n>/mute 0|1,/transport/play,/transport/stop,/transport/seek <seconds>.
Confirm-gated commands (project switching, plug-in trust, etc.) are refused over OSC, same as for the agent.
Zammoth is a DAW for Apple silicon Macs with an AI audio engineer built in. The beta opens soon.
Join the beta