Skip to main content
This guide plays a one-shot sound effect on a cue. The sound starts on a spoken word. Use it when you want a sound to mark a reveal, such as a click when the ball takes its first step. The example puts a click on 1.1one, the cue in section 1 where the ball takes its first step down the bowl. The scaffold’s decktalk.toml has the same example in comments.

Before you start

  • Build the project one time, with decktalk build --silent or decktalk build. The beats stage must resolve the cue first.
  • To generate the effect, put an ElevenLabs API key in .env. Generating an effect spends credits. What spends credits lists the cost.
  • If you have your own audio file, you need no key. Any file that ffmpeg can read works.
1

Describe the effect

If you brought your own file, put it in the project and skip to step 4.Add a [soundscape.sfx.<name>] table with a prompt for the ElevenLabs sound generator.
decktalk.toml
decktalk soundscape writes this effect to build/sfx/tick.mp3. To use another path, add an out key to the table.
2

Preview the request

Print the request without sending it. The dry run needs no key and spends nothing.
Check the output path and the prompt. The effect lasts 0.5 s unless the table sets duration_seconds.
3

Generate the effect

Send the request.
The command writes build/sfx/tick.mp3. If the request and the file have not changed, a later run sends nothing. To generate the effect again, add --force.
4

Place the effect on a cue

Add a [[mix.sfx]] table that names the file, the section, and the cue id.
decktalk.toml
  • db sets the level of the effect. The default is -16.
  • offset moves the effect by a number of seconds. The default is 0.
DeckTalk places the effect at the section’s start in the final video, plus the cue time, plus offset.
5

Mix the effect into the video

Run the assemble stage. It mixes the audio again, and it records nothing.
If the file is missing, or the cue did not resolve, assemble prints a warning and skips the effect. The video still builds.

Next