AI dubbing and subtitling for broadcast and streaming delivery
We dub film and television into 23 languages, and translate your subtitle file to match.
Send stems and a master .srt. You get a mixed printmaster for each language and a subtitle set that says the same thing.
A person reviews every account. We check the company and the rights before any job runs.
23
languages you can order today
30+
further locales we will quote as a language pack
23
pipeline stages, any one re-runnable on its own
0
bytes of your media held after delivery
New dialogue mixed into your fully-filled M&E at the original's channel layout, matched for level and pan. The dialogue-only stem comes with it for your archive. That is the way round a platform ingests, so that is the way round we work.
The 2.0 is built as its own mix, from your discrete stereo M&E where one exists. A fold-down of the 5.1 carries the wrong dialogue-to-music balance onto phones and laptops, and that is where most of the audience is. Where no discrete stereo exists we say so and declare the coefficients we used.
It is a required input, and it already holds most of what the job needs. The line count. The words. Your production's own spelling of every name and invented term. Roughly where each line falls, and which events carry two speakers talking over each other.
That means we can price the job and show you the line list before spending a second of GPU time. Subtitle timings are cut for reading speed, so they place a line roughly. Forced alignment against your dialogue stem finds the frame.
Every version is built from the same line list, the same timings and the same spelling of every name. You are not commissioning 23 separate pieces of work and reconciling them afterwards.
Your master .srt
01:14:22,480 --> 01:14:25,150 MORGAN: I told you not to come back here. 01:14:25,150 --> 01:14:26,650 DAVE: And yet. Here I am.
One .srt per language, on the master's timings
01:14:22,480 --> 01:14:25,150 MORGAN: Te dije que no volvieras aquí. 01:14:25,150 --> 01:14:26,650 DAVE: Y aun así. Aquí estoy.
01:14:22,480 --> 01:14:25,150 MORGAN: Ich sagte, du sollst nicht zurückkommen. 01:14:25,150 --> 01:14:26,650 DAVE: Und doch. Hier bin ich.
01:14:22,480 --> 01:14:25,150 MORGAN: ここへ戻るなと言ったはずだ。 01:14:25,150 --> 01:14:26,650 DAVE: それでも。来てしまった。
and 20 more locales, one file each, every cue on the same timings as the master
An illustration of the constraint, not output from this build. Synthesis is one of the stages still to be written, so none of this has been through the pipeline. What it shows is the rule the adaptation works to. Every cue keeps its number, its timings and its speaker, and the words are rewritten to fit the time that cue actually has. Morgan has 2.67 seconds, Dave has 1.50, and each version has to land inside its own before a single sample gets stretched. The Japanese file is the one to look at: fourteen characters against the Spanish thirty for the same sentence. Character counts do not compare across scripts. Duration is the figure we hold to.
Morgan is flat and worn down. Dave is enjoying himself. Both readings are held as hard constraints on every version, which is how his line stays clipped in all three languages. Hand the same scene to a whole-script translation pass and you get a tidy sentence where a man was getting a word in edgeways.
Subtitle timings are cut for reading, so an event can open before anyone speaks and run on after they stop. We align against your dialogue stem and find the real in and out to the sample. A line can read perfectly well on the page and still be too long to say.
Each character is cast once and keeps that voice across every language, and across the sequel. Where two of them talk over each other your file already marks it, and diarization on the dialogue stem settles who owns which half. Then each speaker gets a lane and a window of their own.
Both are built off the same line inventory. One thing worth knowing about the convention: translated subtitles are translated from the master, not transcribed from the finished dub. That is what every platform asks for, and it is why a viewer with subtitles on reads wording slightly different from what they hear. If you want them identical, that asset is called a dubtitle and we make it separately.
01
Link your Dropbox, Google Drive or S3 bucket. We pull the stems from your account and put the finished versions back there. Your files never stop being yours.
02
Line count, character budgets, positions, overlaps. Also whether the file is subtitles, SDH or forced narrative, which are three different assets.
03
Speaker lanes come first. Overlapping speech breaks forced alignment outright, so the order matters.
04
The gate. A null test proves your stems really do reconstruct your print master. We also look for original dialogue left in the M&E and holes where effects got pulled with it.
05
Translation under a hard duration and syllable budget, carrying the emphasis. Three attempts, then a human sees it.
06
One voice per character, written from a brief and reused across every language and every sequel. No cast replicas, ever.
07
We measure the original line's pitch contour and energy and impose them. A quiet line stays quiet. A shout stays a shout.
08
Spend the pause before touching the audio. Gain and broad tilt only. Land on the sample grid.
09
Streamed into the M&E block by block. Loudness measured the way your destination measures it, then every validator runs and writes its result into the QC report.
10
Line by line in the browser, original against dub, with the numbers next to each one. Retake anything you do not like. Then a full-length watch-down against picture, because faults between lines are invisible to an A/B.
11
Happy with it? One button. The finished dub goes to your Dropbox, Drive or bucket, ready to use, and every file we hold is deleted. A signed attestation lists what went and when.
Six of the checks, and the number each one writes into your QC report.
Probe null testpass
Invert your stems against your print master. If what is left is flat and has no dialogue in it, the stems really do belong to that mix. One test proves picture, speed, offset, channel order and gain at once.
Prosody contour transfer0.94 r
We measure the original line's pitch and energy and impose them on a voice that was designed, never cloned. A quiet line stays quiet. The spectral envelope is left alone, which is what keeps it from drifting toward the actor.
Fit duration window+3.1%
The adaptation gets a hard budget from the line's real duration. We spend the pause first, then compress steady vowels. Past eight per cent it is audible on dialogue, so a line that cannot fit goes to a person instead.
Route channel matrix5.1 smpte
Routing is a lookup from a channel label, never a branch on how many channels a file has. Nothing but dialogue in centre, and no dialogue in LFE, ever. Both are assertions the mix cannot get past.
Loudness two measurements-27 lkfs
Dialogue-gated at minus 27 and integrated at minus 24 are not the same number with a tolerance. On a mix with loud score they sit several LU apart. The measurement type travels with the figure, so a validator cannot check the wrong one and pass.
Lanes overlap handling2 speakers
Your subtitle already marks overlapping speech with a dash per speaker. Add diarization and we know who owns which half. Each lane gets its own window so neither line is fighting the other for room.
Spanish is not one order. It is a track for Mexico and a track for Madrid, and the wrong one bounces on arrival. Each variant is cast, adapted and delivered on its own.
Spanish
A Castilian track does not serve Mexico City, and a Latin American one does not serve Madrid. Different casting, different delivery.
Portuguese
Two separate dubbing industries with their own conventions. Neither audience accepts the other's track.
French
Quebec has its own dubbing industry and turns down France French regularly.
Chinese
Script and spoken language are two different questions. Cantonese is not served by Mandarin coverage at all.
Arabic
Scripted work usually goes to Modern Standard. The regional variants are used for different kinds of programme and are not interchangeable with it.
Ready to run today:
Anything off that list is a language pack: a fine-tune on a cleared base, licensed training data, a phonemiser, text normalisation, and a native speaker signing off on real dialogue. We will quote it with a timescale. Tell us the locale and the runtime.
Stems, print master, proxy, per-line renders and every acoustic measurement are purged, and you get a signed attestation listing what went and when. What we keep is the dialogue text, the job record, your approvals, your voice casts and the evidence record.
We say no media, and we mean it literally. On an unreleased feature the dialogue text is most of your screenplay, and we hold that until you tell us otherwise. Say the word and it goes too.
Netflix's own scope of work for dub partners warns that fully-filled M&E often does not exist. This is where most jobs stall, so the probe report is written as a work order your mix facility can act on.