mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-05 05:37:09 +00:00
* docs: link the free lessons from the docs navbar * docs: practice cards linking the related free lessons * docs: practice cards as text cards
103 lines
4.5 KiB
Plaintext
103 lines
4.5 KiB
Plaintext
---
|
|
title: "Add voiceover, music, sound effects and captions"
|
|
sidebarTitle: "Voice, music and captions"
|
|
description: "Ask for narration, music, sound effects and captions in plain words: what's free, what HeyGen adds, and how to check the mix."
|
|
---
|
|
|
|
import { DocsVideo } from "/snippets/docs-video.jsx";
|
|
|
|
Ask for sound the way you'd brief an editor. The agent finds or makes each piece, places it on the timeline and
|
|
mixes it, with the music dipping under the voice.
|
|
|
|
<DocsVideo
|
|
title="Narration, music ducking under it, and effects landing on the beat"
|
|
src="https://static.heygen.ai/hyperframes-oss/docs/images/showcase/voice-audio-demo-v2.mp4"
|
|
poster="https://static.heygen.ai/hyperframes-oss/docs/images/showcase/voice-audio-demo-v2.jpg"
|
|
/>
|
|
|
|
*Sound on: narration, the music ducking under it, and effects landing with the action.*
|
|
|
|
## Ask for it
|
|
|
|
In the Studio app or your own agent, in one message or one at a time:
|
|
|
|
```text
|
|
Add a warm, unhurried narration of this script: [paste script]
|
|
Put a calm piano bed under it, quieter while she speaks.
|
|
A soft whoosh on each scene change, nothing else.
|
|
Captions: two lines at most, key words in the brand color.
|
|
```
|
|
|
|
Quote the script when the words are approved; otherwise give the points and let the agent write it. Name what you
|
|
don't want, too: "no music" and "no sound effects" are followed exactly.
|
|
|
|
## Free, or HeyGen quality
|
|
|
|
| | Free, on your computer | With HeyGen |
|
|
| --- | --- | --- |
|
|
| **Voice** | Kokoro voices, in several languages | HeyGen voices and your own cloned voice |
|
|
| **Music** | Tracks you add, or local generation if you install it | A 10,000-track catalog |
|
|
| **Sound effects** | A bundled set, plus Openverse | The same |
|
|
| **Captions** | Local transcription with your own agent (Parakeet or Whisper) | The Studio app transcribes through HeyGen |
|
|
|
|
The Studio app uses HeyGen when you add a HeyGen API key (Home says **Add a HeyGen API key to make voiceovers, avatars
|
|
and clips**), and a local voice when you don't. With your own agent, sign in to the HeyGen CLI or set an API key. The
|
|
words to use for each are on [Voice, music and sound](/prompting/media-and-audio).
|
|
|
|
## Use your own recording
|
|
|
|
Add the file and say what it is ("this is the narration", "keep the interview audio"). To get timed words from it
|
|
yourself, transcription runs locally and costs nothing:
|
|
|
|
```bash
|
|
npx hyperframes transcribe interview.mp4 --language es
|
|
```
|
|
|
|
Pass `--language` when the speech isn't English. It also imports an existing `.srt` or `.vtt`. For a talking-head clip that needs
|
|
captions or a tighter cut, see [Captions and recuts](/guides/captions-and-recuts).
|
|
|
|
## Get captions right
|
|
|
|
Read the transcript before it goes on screen: names, product terms and numbers are where recognition slips. Keep
|
|
lines short and broken on meaning, keep them off faces and buttons, and emphasize the two or three words that carry
|
|
the point. To adjust them by hand, open [Captions](/studio/assets-and-blocks#edit-captions) in the browser editor.
|
|
|
|
## Repeat music inside a slot
|
|
|
|
Use the native `loop` attribute to repeat a short track for a longer slot:
|
|
|
|
```html
|
|
<audio id="music" src="music.wav" data-start="0" data-duration="30" loop></audio>
|
|
```
|
|
|
|
The track repeats until the 30-second slot ends in preview and export. If you
|
|
set `data-media-start`, every repeat starts at that source in-point. Playback
|
|
speed and rate automation apply to the repeated audio. Looping videos with
|
|
`data-has-audio="true"` repeat their sound too, including any silence before
|
|
the next cycle.
|
|
|
|
## Check the mix
|
|
|
|
Watch once with sound and once muted, then listen once without watching.
|
|
|
|
- The voice stays clear through the loudest part of the music.
|
|
- Each effect lands with the thing it belongs to.
|
|
- Nothing cuts off a word or a breath at a scene change.
|
|
- The music ends on purpose, not at the end of the file.
|
|
|
|
To dip the music only where the voice sits instead of turning it all down, use a
|
|
[voiceover carve](/studio/audio-effects#make-music-sit-under-narration).
|
|
|
|
Music can start after narration begins: the dip then starts at the right level for that moment, and speech that has
|
|
already ended doesn't make a new dip.
|
|
|
|
<Card title="Practice it: Sound" icon="graduation-cap" href="https://hyperframes.heygen.com/lessons/sound">
|
|
Free 20-minute lesson with a short video, a quiz and a brief to try. Say the sound in your brief: the music's mood, the voice, and where the music starts and stops.
|
|
</Card>
|
|
|
|
## Related topics
|
|
|
|
- [Add captions to a video with AI](/guides/captions-and-recuts)
|
|
- [Make a video to music](/guides/music-to-video)
|
|
- [Voice, music and sound: the words to use](/prompting/media-and-audio)
|