Rub‑a‑Dub Duck Finish setup

AI dubbing and subtitling for broadcast and streaming delivery

Dubbing made simple.

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.

01:00:00:00 24 fps/ 48 kHz/ 24 bit/ 5.1 + 2.0

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

What it does

What comes back is a printmaster.

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.

Your subtitle file runs the job.

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.

One file in

Order as many languages off it as you like.

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

EXAMPLE_Timed_English_Dialogue_Script.srten-US
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

EXAMPLE_Timed_Spanish_LatAm_Dialogue_Script.srtes-419
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.
EXAMPLE_Timed_German_Dialogue_Script.srtde-DE
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.
EXAMPLE_Timed_Japanese_Dialogue_Script.srtja-JP
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.

Performance carries over, not just words

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.

The clock comes from the audio

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.

Overlaps are known before a single line is rendered

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.

The subtitles and the dub cannot come apart

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.

How it works

01

Connect your storage

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

Parse the subtitle

Line count, character budgets, positions, overlaps. Also whether the file is subtitles, SDH or forced narrative, which are three different assets.

03

Diarize, then align

Speaker lanes come first. Overlapping speech breaks forced alignment outright, so the order matters.

04

Probe

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

Adapt to fit

Translation under a hard duration and syllable budget, carrying the emphasis. Three attempts, then a human sees it.

06

Cast a designed voice

One voice per character, written from a brief and reused across every language and every sequel. No cast replicas, ever.

07

Put the performance back

We measure the original line's pitch contour and energy and impose them. A quiet line stays quiet. A shout stays a shout.

08

Fit, match, place

Spend the pause before touching the audio. Gain and broad tilt only. Land on the sample grid.

09

Mix and validate

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

You listen and approve

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

Back up and remove

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.

The instruments

What gets measured before anything leaves.

Six of the checks, and the number each one writes into your QC report.

Probe null testpass

OV PRINT MASTER D + M&E, INVERTED RESIDUAL

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

DASHED: ACTOR   SOLID: DESIGNED VOICE

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%

TARGET -8% +8% LANDED WITHOUT STRETCHING PAST THE CAP

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

L R C LFE Ls Rs DIALOGUE LFE: NEVER

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

-31 -29 -27 -25 -23 -21 GATED INTEGRATED 3 LU APART ON A LOUD MIX

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

SPK_01 SPK_02 OVERLAP, FITTED SEPARATELY

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.

Languages

One language is often several dubs.

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

es-419Latin America es-ESSpain

A Castilian track does not serve Mexico City, and a Latin American one does not serve Madrid. Different casting, different delivery.

Portuguese

pt-BRBrazil pt-PTPortugal

Two separate dubbing industries with their own conventions. Neither audience accepts the other's track.

French

fr-FRFrance fr-CAQuebec

Quebec has its own dubbing industry and turns down France French regularly.

Chinese

zh-HansMainland zh-HantTaiwan yue-HKCantonese

Script and spoken language are two different questions. Cantonese is not served by Mandarin coverage at all.

Arabic

arModern Standard ar-EGEgyptian ar-SAGulf

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:

es-419es-ESpt-BRfr-FRde-DEit-ITja-JPko-KRzh-Hanstr-TRhi-INaryue-HKpl-PL

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.

What you get

  • Printmaster to your platform's spec. WAV, or a labelled MXF audio track file with a supplemental package, wrapped the way the destination asks. Name the platform and we build to its current sheet.
  • Dub kit. Dubbed dialogue stem in the original's configuration, plus the as-recorded script.
  • Muxed MP4 for AVOD. Audio-only remux, picture untouched. Re-encoding turns an audio job into a video deliverable and drags cadence, interlace and safe-area QC along with it.
  • Archival package, produced inside the same job. Build it later and you cannot: the media is gone.
  • Subtitle set. Four separate assets: original-language subtitles and SDH, translated subtitles, dubtitles, and forced narrative.
  • Translated subtitles come off the master. That is the platform standard, and it is why a viewer with subtitles on reads wording they did not quite hear. Dubtitles ship separately for anyone who wants them to match.
  • A QC report you can parse. Every loudness figure says which measurement produced it, so nobody signs off a number against the wrong target.
  • Manifest, checksums and a delivery receipt you can export and forward to whoever holds the platform relationship.

Limits

Better you read this now than find out at delivery.

  • No source separation. No stems, no job. Pulling dialogue out of a finished mix is not the same thing as a dialogue stem and never will be.
  • Atmos, 7.1 and anything past six channels is refused at probe. Loudly. Quietly accepting an Atmos title and shipping a 5.1 is the worst thing a service like this could do.
  • Theatrical and DCP are out. Want a theatrical dub? You get a WAV to take to a DCP house.
  • We do not match reverb or treatment. The room lives in your M&E, and that is what puts the dub in the scene. Guessing an impulse response back out of a finished wet premix sounds worse than leaving it alone.
  • Linguistic correctness is yours. Approving lines in a language you do not speak is not a native-language sign-off, and the job page says so on its face.
  • We are not the delivering party. You get a delivery-ready package. You hold the platform relationship.

Retention

Your media leaves when the job does.

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.

What we need from you

M&E
Fully filled, 5.1 and 2.0
Dialogue
Discrete stem, mono to 5.1
Reference
OV print master
Text
Master subtitle file
Picture
Conformed proxy
Format
48 kHz / 24 bit
Speed
Declared and verified
Reels
Start TC, leader, FFOA, LFOA

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.