Forced Alignment
Time every word of a known transcript against its audio and get each word's start and end as data, for karaoke highlights, timed graphics and captions.
The Forced Alignment node times every word of a known transcript against its audio. You give it the recording and the exact text that is spoken in it, and it returns the start and end time of each word. The result is data, not audio: use it for karaoke-style highlights, graphics that react to words, or to check the pacing of generated speech.
When to use it
- Get precise word timings for captions or subtitles from a script you already have.
- Build karaoke-style word highlighting that follows the audio.
- Time animations or motion graphics to specific words.
- Sync visual elements to speech in a video composition.
- Check the timing of Text to Speech output against the pacing you expect.
When you do not have a transcript, use Transcribe instead. Its Transcript output already carries word timings on ElevenLabs STT and Incredibly Fast Whisper.
Quick start
Add the node
Press Tab on the canvas and choose Audio › Transcribe › Forced Alignment.
Wire the audio
Wire an audio node into the Audio input.
Give it the transcript
Open the settings panel and paste the exact spoken text into Transcript, or wire a text node into the Transcript input.
Run it
Click Run on the node. The word timings appear on the Data output.
Inputs and output
| Input | Accepts | What it does |
|---|---|---|
| Audio | Audio nodes, such as Upload Audio, Reference Audio and Text to Speech | The recording to align. |
| Transcript | Text nodes, such as Text | The spoken text, instead of the Transcript field. |
The output, Data, is a list of words with their start and end times. It is data, not audio, so it connects to nodes that take text or data.
Settings
| Setting | What it does |
|---|---|
| Transcript | The full text spoken in the audio, as plain words. It must match the speech closely. |
| Pre & post text | Text that is always added before and after the transcript. It is hidden from people who use your workflow as an app. See Prompt pre and post text. |
Read the result
The Data output looks like this:
[
{ "word": "Hello", "start": 0.0, "end": 0.35 },
{ "word": "world", "start": 0.38, "end": 0.72 }
]| Field | What it means |
|---|---|
word | The aligned word. |
start | When the word starts, in seconds. |
end | When the word ends, in seconds. |
Models
| Model | Maker | Modes | Credits | Details |
|---|---|---|---|---|
| ElevenLabs Forced Alignment | ElevenLabs | Forced alignment | 33 | Align an existing transcript to audio with word-level timestamps. |
Tips
- Match the transcript to the speech. Differences between the text and the audio make the timings unreliable.
- Clean up the transcript. Remove filler words, false starts and notes such as
[music], unless they are really spoken. - Use plain text. Leave out timestamps, speaker labels and formatting. Write only the words as they are spoken.
- Cover the whole recording. A partial transcript only aligns the part it covers.
- Clean noisy audio first. Wire the recording through Voice Extractor for more accurate timings.
- Expect lower accuracy on hard speech. Very fast speech, heavy accents and overlapping speakers can reduce accuracy.
From the API
The MCP tool is forced_alignment. See the MCP tools.
Frequently asked questions
What is the difference between Forced Alignment and Transcribe?
Transcribe works out what was said and when. Forced Alignment already knows what was said, from your transcript, and finds exactly when each word is spoken. Use it when you have the exact script.
Does the transcript need to match the audio exactly?
As closely as possible. Words that are not spoken, or spoken words that are missing from the transcript, make the timings unreliable. Remove notes, labels and filler words that are not in the audio.
In which units are the timestamps?
In seconds. Each word has a start and an end, for example a word from 0.38 to 0.72 seconds.
Does Forced Alignment return audio?
No. Its output is data, a list of words with their times. It connects to nodes that take text or data, not to audio inputs.
Related
Transcribe
Text to Speech
Voice Extractor
Add Captions
ElevenLabs Forced Alignment
Last updated on
Transcribe
Turn speech in audio or video into text with ElevenLabs STT, Whisper or Nemotron 3.5 Transcribe. Get word timings for captions, speaker labels or a translation.
Generation settings nodes
Generation Settings nodes hold one value each. Provider and Aspect Ratio set image and video nodes, Duration and Motion set clips; four feed Generate Script.