Skip to main content
SubtitleMatrix

Remove SDH Annotations from Subtitles

Text and stylingRemove hearing-impaired descriptions
Or paste subtitle text

Options

One box, five choices, and each choice has a page of its own. Brackets removes paired [square] asides, parentheses removes paired (round) ones, speaker removes an all-capitals name and the colon after it at the start of a line, and music removes the note symbols. All four at once is the choice called All. Every one of them edits the words themselves rather than the styling, so the line gets shorter — and unlike the styling pages, an annotation that was removed cannot be put back by the tool that reads the result. This page fills the box in with the choice its title names and lists no other.

Which frame rate the timings are counted in. On the format pages this is what MicroDVD needs, because it stores timing as frame numbers. On the frame rate pages it is the rate the file was timed against — the version the subtitles were made for — and the page's second box takes the rate of the video you are going to use them with. 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 are the common ones. Getting it wrong shifts the whole timeline, and on the frame rate pages it shifts it by a ratio rather than by a fixed amount.

This page takes the hearing-impaired notes out of a subtitle file in one pass. Four kinds of annotation go: a speaker name at the start of a line, a remark in square brackets, a remark in round brackets, and the note symbols that mark a line as sung. What is left is the dialogue as a hearing viewer would read it, with the timecodes, the cue order and the words that were actually spoken all where the file put them.

It is worth being clear about what this page does to the words, because it is not the same as the styling pages. Removing an italic range leaves every character of the text alone. Removing an annotation deletes characters: `BOB: [door slams] I heard that.` comes out as `I heard that.` The line gets shorter, and the tool closes up the space the annotation left behind so the result reads as a sentence rather than as a sentence with a hole in it.

Nothing is guessed at. A bracket that is never closed stays exactly as it is, because where it ends is unknowable and a guess cannot be seen in the output. A speaker label has to be in capitals: `BOB:` is a label, `He said:` is dialogue, and a page that took the second one would be eating lines of the film. A single note symbol with no closing one has only the symbol removed, since deleting to the end of the line would take the only words the audience can hear.

The same removal works on every format the site reads. SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON, plain text and CSV files all come through the same path, because the annotation lives in the words rather than in the file's syntax. Nothing is uploaded — the file is read and written inside the browser tab — and a whole season of episodes goes through the queue together.

Examples

A speaker label and a sound cue in one run

Input

1
00:00:01,000 --> 00:00:03,000
BOB: [door slams] I heard that.

2
00:00:04,000 --> 00:00:06,000
(sighs) I know.

Output

1
00:00:01,000 --> 00:00:03,000
I heard that.

2
00:00:04,000 --> 00:00:06,000
I know.

Two different kinds of note, one on each cue, and both go in the same pass. The label takes its colon and the space after it; the bracketed cue takes its brackets. In both cases the words that were spoken survive and the spacing closes up, which is why the first cue does not come out with a double space where the sound cue used to be.

A cue that was nothing but an annotation

Input

1
00:00:01,000 --> 00:00:03,000
[music]

2
00:00:04,000 --> 00:00:06,000
I heard that.

Output

2
00:00:04,000 --> 00:00:06,000
I heard that.

The first cue held no dialogue at all, so once the annotation is removed there is nothing left to show and the cue goes with it. Keeping it would put an empty subtitle on screen for two seconds. The output starts at 2 because the cue numbers belong to the file — the page does not renumber behind your back, and the run reports how many cues were dropped.

Two lines the page refuses to guess at

Input

1
00:00:01,000 --> 00:00:03,000
He said: [come here

2
00:00:04,000 --> 00:00:06,000
♪ la la

Output

1
00:00:01,000 --> 00:00:03,000
He said: [come here

2
00:00:04,000 --> 00:00:06,000
la la

The first line is untouched for two reasons at once: the bracket is never closed, and `He said:` is lowercase, which makes it dialogue rather than a label. The second line has one note and no closing note, so only the symbol is removed and the words stay. Both cases are the page choosing to leave something in rather than remove something you might have wanted.

Frequently asked questions

What exactly does this page remove from an SDH track?

Four kinds of annotation, all of them in the text rather than in the file's markup. An all-capitals speaker name and the colon after it at the start of a line; anything inside a paired set of square brackets; anything inside a paired set of round brackets; and the note symbols that mark a line as sung, together with what sits between a pair of them. Each of those four also has a page of its own, for the times you want only one of them gone.

Do the timecodes survive when the annotations go?

Yes. The timing layer is not touched at all: every cue keeps the start and end it had, and the cue numbers are the file's own. The only thing that changes is the text inside each cue, which gets shorter because characters were deleted. Bold, italic, underline and colour ranges that sat outside the removed text move with it and survive; a range that covered an annotation has nothing coherent left to point at, so it is dropped and reported.

Why did one of my subtitles vanish completely?

Because every line of it was annotation. A cue that reads `[music]`, or `♪ ♪`, has no dialogue in it, and once the note is removed there is nothing to display. Leaving it would put an empty subtitle on screen for the length of the cue, so the cue is removed as well and counted in the report as a dropped cue rather than an edited one. A cue with one annotated line and one line of dialogue keeps the dialogue line and stays in the file.

Why does the output skip a cue number after a music cue was removed?

Because the numbers in the file are the file's own and this page does not rewrite them. If cue 3 was nothing but a music note, the output goes 2, 4. Players address cues by their timecodes rather than by the number on the line, so a gap is harmless to playback — and it is the same gap the overlap page leaves when it drops a cue. Renumbering a file is a separate job from removing notes from it, and doing it silently here would hide how many cues were actually removed.

Will it remove a bracket that was never closed?

No, and that is deliberate. `[door slams` with no closing bracket does not say where the annotation ends, so anything the page did would be a guess about which of your words to delete — and a guess like that leaves no trace in the output. The same applies the other way round: a stray closing bracket with no opening one is left as it is. Well-formed pairs are the only thing this page treats as an annotation.

Does the page take `He said:` out as a speaker label?

No. The label has to be in capitals, because that is the convention hearing-impaired tracks use and it is the only evidence available to a tool that cannot read the film. `BOB:`, `JANE DOE:` and `O'BRIEN (V.O.):` are labels; `He said:` and `I:` are not. The check is written as the absence of lowercase letters rather than as a list of names, so it does not need updating when a new character appears in your script.

Which subtitle formats can I drop files in as?

All twelve the site reads: SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON, plain text and CSV. The annotations this page removes live in the words, and every one of those formats can carry words, so there is no format to exclude. The format is worked out from the file's contents rather than its extension, and you can correct it in the queue if the contents are ambiguous.

Related tools