跳至主要內容
SubtitleMatrix

去除說話者標籤

文字樣式移除聽障描述
或者貼上字幕文字

選項

一個欄位,五個選項,每個選項都有自己的頁面。方括號 去掉成對的 [方括號] 旁白,圓括號 去掉成對的(圓括號)內容,說話者 去掉行首全大寫的名字和其後的冒號,音樂 去掉音符符號。四種一起去掉就是「全部」這個選項。它們改的都是詞本身而不是樣式,所以行會變短 —— 而且與樣式頁面不同,被去掉的標註無法由讀取結果的那個工具還原。這一頁會把欄位填成標題裡點名的選項,並且不列出其他選項。

時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。

這一頁移除行首的說話者標籤:全大寫的名字、它後面的冒號,以及冒號後面的空格。`BOB: I heard that.` 出來是 `I heard that.`,`- JANE DOE: So did I.` 出來是 `So did I.`。字幕裡其他東西都不動——時間碼不動、編號不動、詞也不動。

標籤是按形狀比對的,不是拿一份名字清單。一行最開頭、一串沒有小寫字母的大寫字母,後面接著冒號,就是標籤。`BOB:`、`JANE DOE:`、`O'BRIEN:`、`BOB (V.O.):` 與 `- MARIA:` 都算。`He said: hello` 不算,因為大寫後面的字母是小寫——那是有冒號的對白,拿掉它就等於吃掉影片的一行台詞。`I:` 也不算:一個大寫字母證據不夠,而一頁連它都吃,等於在任何劇本裡最常見的代名詞上猜。

說話者標籤出現有兩個不同的理由,這一頁兩個都服務。在聽障軌道裡它們標記說話者變換,聽不到聲音的觀眾需要它來跟上場景。在雙語檔案裡,它們常常是同一行上兩種語言之間唯一的區隔。同一個形狀,同一個編輯。

一行對白拆在兩條字幕上時,標籤會在每一條上各自被抓到,所以兩半都會失去它。檔案按內容而不是副檔名讀,所以這件事的三種寫法——SRT 裡的純文字、ASS 的 Dialogue 欄位、WebVTT 的 `<v Bob>` 標籤——都落到同一個地方。不上傳,本站讀得的每一種格式都接受。

範例

光禿禿的名字,與破折號後面的名字

輸入

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

2
00:00:04,000 --> 00:00:06,000
- JANE DOE: So did I.

輸出

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

2
00:00:04,000 --> 00:00:06,000
So did I.

真實檔案裡標籤的兩種形狀:名字自己一個,以及名字躲在標記說話者變換的破折號後面。兩個都走,冒號與它後面的空格也一起走,這正是讓那一行不會以落單空格開頭的原因。留下來的是聽得到場景的觀眾會讀到的對白。

對白裡被放過的冒號

輸入

1
00:00:01,000 --> 00:00:03,000
He said: hello

2
00:00:04,000 --> 00:00:06,000
I: am not a label

輸出

1
00:00:01,000 --> 00:00:03,000
He said: hello

2
00:00:04,000 --> 00:00:06,000
I: am not a label

兩條字幕都逐位元組回來。第一個冒號跟在一個小寫詞後面,所以它在句子裡面而不是前面。第二個跟在一個大寫字母後面,而一個字母不足以稱作名字——把它當成名字的頁面,會刪掉每個劇本都滿是的代名詞。

ASS 檔 Dialogue 欄位裡的標籤

輸入

[Script Info]
Title: speaker

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic
Style: Default,Arial,20,&H00FFFFFF,0,0

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,BOB: I heard that.

輸出

[Script Info]
Title: speaker

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic
Style: Default,Arial,20,&H00FFFFFF,0,0

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,I heard that.

在 ASS 裡文字是 Dialogue 行上十個逗號分隔欄位的最後一個,而標籤坐在那個欄位裡。它周圍的一切都活著:腳本標頭、樣式表、欄位版面與事件時間。這跟 SRT 那個例子是同一個編輯,只是透過不同的檔案格式抵達。

常見問題

頁面怎麼知道哪些字是說話者標籤?

按形狀:行首一串大寫字母、數字、空格與標點,裡面沒有小寫字母,最後以冒號結束。這涵蓋 `BOB:`、`JANE DOE:`、`O'BRIEN:` 與 `BOB (V.O.):`,並排除 `He said:` 與 `I:`。規則寫成「沒有小寫字母」而不是一份名字清單,所以它對沒見過的角色與縮寫照樣有效。

會移除屬於對白的冒號嗎?

不會。`He said: hello` 保留它的冒號,因為開頭那個大寫後面接著小寫字母,那一串因此從來不像名字。這個區別正是「必須大寫」這個要求存在的全部理由:冒號在對白裡很常見,而一頁只要比對冒號前的短詞,就會刪掉其中一些、留下另一些,取決於你無法預測的東西。

說話者標籤前面的破折號會怎樣?

跟著標籤一起走。寫成 `- JANE DOE: So did I.` 的一行出來是 `So did I.`,前面沒有破折號,因為破折號與名字是同一組標記——它是聽障軌道裡標記說話者變換的那一對。開頭有破折號、後面沒有名字的行則不動,因為沒有標籤可以跟它配對。

移除說話者標籤會改變檔案的時間嗎?

不會。只有每條字幕裡的文字被編輯,所以每個起止都照檔案寫的留著,字幕編號也是檔案自己的。落在標籤本身的粗體與斜體範圍會被丟掉並在報告裡計數,因為已經沒有文字讓它們覆蓋;標籤之後對白上的範圍會跟著移動並存活。

為什麼會有人想移除說話者標籤?

因為聽障軌道與普通字幕軌是不同的產品。標籤是給聽不到聲音的觀眾分辨誰在說話用的;一旦檔案被當成普通字幕使用,或交給聽得到場景的觀眾,那些名字就變成每隔一行開頭的雜訊。有些播出單位也明文禁止,所以移除是交付要求而不是偏好。

哪些格式可以移除說話者標籤?

本站讀得的 12 種全部:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON、純文字與 CSV。用 `<v Bob>` 標籤標記說話者的 WebVTT 檔會按其文字讀取,標籤留在原處——掃掉那類標記語法是 HTML 標籤那頁的工作,不是這一頁的。

相關工具