---
title: Sound and music
summary: Transcripts timed to the word, the beats in a track, music that ducks under the voice, narration spoken on your Mac, and music and sound effects made on it.
eyebrow: Capabilities
accent: wave
order: 3
outcome: sound
---

## Transcription, beats and the mix

| Tool | What it does |
| --- | --- |
| `transcribe` | Transcribe with Whisper, with word-level timestamps on by default |
| `make_captions` | Write caption cues for one processed video. To burn them in, pass the returned `ffmpeg_argv` to `render_ffmpeg` |
| `extract_audio` | Pull the audio out of a clip |
| `sync_audio` | Line up separately recorded audio with its video automatically, by listening to both |
| `bind_audio` | Save a separately recorded audio file as a clip's sound |
| `unbind_audio` | Remove a clip's separately recorded audio |
| `mix_audio` | Mix narration and music in one call, with the music ducked automatically under the voice |
| `audio_beats` | Tempo and beat map for a clip's audio: BPM, beats, downbeats, energy and suggested cut points, computed locally |
| `audio_energy` | Loudness over time and the loudest moments. `path` can also be a clip id, filename or stem |
| `music_map` | An edit map for an indexed song: structure, drops, cut points that respect phrases, loudness and key |
| `separate_sound` | Isolate or remove one sound by describing it: `prompt="music"`, `"dog barking"`, `"the speaker's voice"` |
| `sam_audio_status` | Whether SAM-Audio is installed, which `separate_sound` needs |

## Voices and narration

| Tool | What it does |
| --- | --- |
| `synthesize_speech` | Speak a script locally in one of this profile's voices. Returns a `job_id`; `job_wait(job_id)` gives back the audio path and word timings. Every take is saved in the library. Only `speed` 1.0 is accepted |
| `list_voices` | List every voice in this profile |
| `search_voices` | Find voices by text |
| `get_voice` | One voice's full record: what you need to narrate with it and whether you may |
| `preview_voice` | Hear a few seconds of a voice before using it for a whole script. Cached, so a repeat costs nothing |
| `create_voice` | Create a voice from a written description or a stock speaker, with no real person in it. Returns a `job_id` because it runs in the background |
| `attach_voice` | Link a voice to the person or avatar who speaks in it, so "narrate as Mara" just works |
| `detach_voice` | Unlink a voice from a person or avatar |
| `voice_status` | Whether local speech is ready: the engine, the chosen model size, and whether its files are downloaded |
| `list_generations` | Everything your Mac's engines made in this profile, newest first, as shown in AI Voice's Generations tab and AI Video's Recent column |
| `list_voice_effects` | The voice effects: rooms and halls, devices such as a telephone or radio, characters such as a monster or robot, and neural effects that re-speak a take in a different voice |
| `apply_voice_effect` | Put an effect on one recording, saved as a new take in the library, or on a voice so every take it speaks from then on wears it |
| `clone_voice_from_sample` | DISABLED for MCP clients. Cloning a voice from a real person's recording is done by you, on the app's AI Voice page |

## Music and effects, made on your Mac

| Tool | What it does |
| --- | --- |
| `generate_music` | Make an instrumental music bed from a description, locally, with Stable Audio 3 through MLX |
| `generate_sound_effect` | Make a sound effect from a description, locally, with Stable Audio 3 through MLX |
