目錄(42 節)
- SRT 時間軸對齊嘅基本概念
- SRT 時間碼格式
- 對齊嘅三個核心指標
- 點解廣東話 SRT 特別難對
- 1. 句長差異大
- 2. 中英夾雜好常見
- 3. 語速變化大
- SRT 時間軸對齊嘅三條工作流
- 工作流 A:人手逐段校(傳統剪片師做法)
- 工作流 B:用軟件自動對齊(forced alignment)
- 工作流 C:用 TTS 直接 SRT(最慳力)
- 用 TTS 生成 SRT 嘅實戰步驟
- 步驟 1:準備劇本
- 步驟 2:估算時間軸
- 步驟 3:提交 SRT job
- 步驟 4:執時間軸
- 步驟 5:匯入剪片軟件
- 廣東話 SRT 對齊嘅常見踩坑位
- 踩坑 1:時間碼用咗句號
- 踩坑 2:句間停頓太短
- 踩坑 3:忽略咗多音字
- 踩坑 4:長句冇斬
- 踩坑 5:忘記校時區/幀率
- 高階:SRT 時間軸自動化嘅幾條路
- 路 1:FFmpeg + TTS 串接
- 路 2:Python 腳本後處理
- 路 3:MCP/Agent 接入
- 點樣揀 SRT 對齊工具
- 維度 1:支援廣東話嘅程度
- 維度 2:同 TTS 嘅整合度
- 維度 3:協作能力
- 對齊完成後嘅 QA 清單
- 廣東話 SRT 對齊嘅最佳實踐
- 常見問題 FAQ
- SRT 時間軸對齊要做到幾精準?
- 用 TTS 生成嘅 SRT 仲使唔使人手執?
- SRT 同 VTT 有咩分別?時間軸對齊方法一樣嗎?
- 如果劇本超過 500 字符點算?
- 廣東話 SRT 嘅編碼要點設定
- SRT 對齊可以用 AI 自動做嗎?
- SRT 對齊失誤會點?觀眾真係會介意嗎?
- 用 TTS 一次過做齊廣話旁白同 SRT 字幕
SRT 字幕時間軸對齊教學:批量調整、逐句校準與常見問題
SRT 字幕時間軸對齊需要同時處理時間碼、語音節奏與播放器延遲。本文介紹批次位移、逐句微調及檢查重疊字幕的實用流程。
**一句答你:**SRT 字幕嘅時間軸對齊,核心就係將「邊句對白幾時出現、幾時完結」同畫面對到正,差一兩秒觀眾就會出戲,呢篇會由時間碼格式、常用工具、自動化流,到用 TTS 配合 SRT 一次過做齊。
Key Takeaways
- SRT 字幕嘅時間軸對齊,本質係控制
00:00:00,000 --> 00:00:00,000入面嗰兩個 timestamp,精準到毫秒就夠。- 對齊嘅主要場景分三類:人手剪片、軟件自動對齊同用 TTS 直接吐出帶時間碼嘅字幕檔,後者最慳力。
- 廣東話 SRT 嘅時間軸仲有「句長唔等長」「中英夾雜」兩大致命位,要靠語速估算同分段策略救。
- 一條 10 分鐘嘅廣東話旁白,大約 2,400 字符,喺 240 字符/分鐘嘅語速下做時間軸會比較順。
- 用支援 SRT 輸出嘅 TTS API,可以慳甩逐句逐段 set timestamp 嘅工序,但 job pool 一凍就要排隊。
- 對齊完一定要做「離線檢查」:聲畫同步、句間停頓、字數同預期差距,呢三步唔做就會出街即炒。
SRT 時間軸對齊嘅基本概念
SRT(SubRip Subtitle)係香港同華語世界最通用嘅字幕檔格式,一個 .srt 檔入面會有若干段「字幕 block」,每段結構如下:
1
00:00:01,200 --> 00:00:04,500
第一句對白喺度
2
00:00:04,800 --> 00:00:07,000
第二句對白
時間軸對齊,講到尾就係將每段 block 嘅入時間(in-point)同出時間(out-point)校到同畫面/聲對得正。表面睇好似好簡單,但實際操作會撞到幾個位:
- 字早過對白出 → 觀眾未聽到就見到字,會搶注意力
- 字幕遲過對白出 → 觀眾聽完先見到字,會諗呢句係咪已經過咗」
- 字幕停留得太短 → 觀眾睇唔切
- 字幕停留得太耐 → 同下一句撞時間
呢啲都係時間軸對齊要解決嘅核心問題。
SRT 時間碼格式
正式 SRT 嘅時間碼格式係 HH:MM:SS,MMM(時:分:秒,毫秒),中間用 --> 連接,秒同毫秒之間係逗號而唔係句號。例如:
00:01:23,456 --> 00:01:26,789
- 小時位可以係兩位數(
00、01),但一般都係兩位 - 分鐘同秒都係兩位數,唔可以寫
1:23 - 毫秒係三位數,
000至999
如果你嘅時間軸工具輸出 00:01:23.456(句號)或 1:23.4(單位唔啱),可能個檔案喺某啲播放器會讀唔到,要校返做逗號。
對齊嘅三個核心指標
做廣東話 SRT 對齊,可以記住三個 KPI:
| 指標 | 點解重要 | 常見錯誤 |
|---|---|---|
| 字數/鐘(語速) | 影響每段字幕應該有幾長 | 全部段都用同一個時長 |
| 句間停頓(gap) | 兩句之間要唔要靜少少 | 全部段都黐住,無呼吸位 |
| 入口延遲(lead-in) | 字幕早過對白幾多秒 | 全部早 0.5 秒或全部跟住出 |
呢三個指標夾得好,時間軸就會睇落自然。
點解廣東話 SRT 特別難對
廣東話字幕比普通話或英文字幕難搞,原因有三:
1. 句長差異大
廣東話口語會用好多短句、加語氣詞(「嘅」、「咩」、「囉」、「啦」),同時間中夾長句。例:
「喂,我同你講呢樣嘢,唔係咁嘅,佢真係冇嚟過㗎。」
呢句如果切成 3 至 4 段字幕,每段就 7 至 10 個字左右,時間軸要逐段微調。英文同樣意思可能要 20 個字一段,時長反而好控制。
2. 中英夾雜好常見
香港人講嘢成日中英夾雜,例:
「今日個 meeting 改咗去 3 點,你 send 咗 email 未?」
一句入面有中文、英文 brand 名、數字,淨係每個 token 嘅顯示度就唔同,再加上英文係一個英文字算一個字符、中文係一個文字算兩個字符(依據 RFC 3986 嘅 UTF-8 計算),字符數同實際熒幕闊度唔係線性關係。要做好對齊,最好事先 做一次中英夾雜 TTS 嘅口語化測試,睇下你嘅工具點處理呢類混合文本。
3. 語速變化大
廣東話正常講嘢大概 200 至 280 字符/分鐘,但情緒激動或者演繹式旁白可以去到 320 甚至更高。換言之,用同一個語速估算所有段落,時間軸就一定會移位。
呢個位,港嘢估算約 240 字符/分鐘(2026-10-01 產品裁定)作為基準,但實際剪片時要按聲線現再調整。可以用 TTS 情緒控制指南 嗰度嘅演繹風格做參考,睇下你揀嘅 preset 係咪偏向慢定快。
SRT 時間軸對齊嘅三條工作流
時間軸對齊可以分三個流派,由人手到自動化各有優缺。
工作流 A:人手逐段校(傳統剪片師做法)
最傳統做法就係:
- 拎到一段對白錄音者影片
- 開 Su或title Edit、Aegisub、Premiere 字幕面板之類嘅工具
- 邊聽邊逐段 set timestamp
- 校完導出 SRT
好處係精準壞處係慢。一條 10 分鐘影片,人手做可能要 1 至 2 個鐘,而且越做越攰,後段嘅準成度會下降。廣東話對白如確仲有 語詞同停頓位,人手更易錯位。
工作流 B:用軟件自動對齊(forced alignment)
Forced alignment 係用聲學模型,將音頻同文字對齊,自動出時間軸。常見工具包括:
- Aegisub + 插件(免費,但廣東話模型支援參差)
- 字幕俠類網站(上傳音頻自動出 SRT,但廣東話辨識準成度未夠)
- Mo確treal Forced Aligner(學術用,支援廣東話但要 setup)
呢條路慳人手時間,但要後續人手執:廣東話同音字多,「係」「市」「事」讀音一樣但意思唔同,自動對齊會撞呢啲位。
工作流 C:用 TTS 直接 SRT(最慳力)
最直接嘅做法:用支援 SRT 輸出嘅 TTS API,直接拎帶時間碼嘅字幕檔。
以港嘢嘅 API 為例,POST /v1/audio/jobs 帶 srt=true 會行 async 軌(短過 300 字符嘅 sync 捷徑唔支援 SRT,會回 400 srt_not_supported_sync),完成後個 job 會一齊俾返你 .srt 檔案或者 SRT 格式嘅字幕 payload時間軸已經對好,唔使你人手逐段 set。
呢條路有幾個位要留意:
- 並行上限:每個 plan 都有 in-flight 任務上限(免費 3、入門 5、專業 10、工作室 20),撞到上限會回
429 in_flight_limit_reached - Rate limit:預設 60 個成功 billable 請求/分鐘/key,開 key 時可調
- 音頻 URL 時效:直接由 generation worker 出嘅 audio URL 係 7 天有效;materialized(入咗 audio library)嘅就 1 小時,過期要 re-poll
如果你嘅工作流係「先生成、再後期、再剪」,記得 job 完成後即刻下載同備份音頻,唔好等到第 8 日先攞。
用 TTS 生成 SRT 嘅實戰步驟
以下係用 TTS 一次過做齊旁白同字幕嘅完整工作流。
步驟 1:準備劇本
將你嘅旁白稿整理成純文字,唔好加任何時間碼。文本上限 1 至 500 字符,超過會回 400 text_too_long。如果劇本長過 500 字,就要分批。
呢個位可以參考 廣東話 TTS 完全指南 嘅文本預處理章節,特別係 書面語同口語嘅切換,劇本口語化程度直接影響後出嚟嘅語速同字幕停頓位。
步驟 2:估算時間軸
用 240 字符/鐘 做基準估算,10 分鐘旁白大約 2,400 字符。實際操作:
| 旁白長度 | 字符數(大約) | 估算時長 |
|---|---|---|
| 30 秒 | 120 | 0:00:30 |
| 1 分鐘 | 240 | 0:01:00 |
| 5 分鐘 | 1,200 | 0:05:00 |
| 10 分鐘 | 2,400 | 0:10:00 |
| 30 分鐘 | 7,200 | 0:30:00 |
| 60 分鐘 | 14,400 | 1:00:00 |
呢個表幫你做粗略 timeline pre-planning,實際 TTS 生成後再微調。
步驟 3:提交 SRT job
用 POST /v1/audio/jobs,body 入面設 srt: true,行 async 軌:
{
"text": "你嘅劇本內容",
"voice": "sum",
"srt": true
}
留意:
- 提交後會回
202加job_id - 然後用
GET /v1/audio/jobs/{id}poll 狀態 - 讀取 endpoint(GET jobs/GET voices)唔限流,可以放心 poll
text必須 1 至 500 字符;超過 300 字符就一定要行 async- 字體/顏色呢啲 styling 唔喺 SRT 範圍,係後期 player 嘅事
步驟 4:執時間軸
TTS 出嘅 SRT 時間軸大約 8 成啱用,剩低 2 成要人手微調。常見要執嘅位:
- 句首提早/延遲 200 至 500 毫秒 — 視乎你想觀眾先聽到聲再見到字,定齊出
- 句尾預留呼吸位 — 一句完結到下一句開頭,預 300 至 800 毫秒
- 長句斬開 — 單句超過 7 秒停留,觀眾會睇到攰,要斬
呢步可以配合 TTS 批量生成工作流 一齊做,長劇本分批生成後逐段執時間軸。
步驟 5:匯入剪片軟件
將個 SRT 匯入 Premiere、Final Cut、DaVinci Resolve、CapCut 都得。大部分剪片軟件都支援 SRT 軟字幕(soft subtitle)直接 load:
- Premiere:File → Import → Caption
- Final Cut:File → Import → Captions
- DaVinci:Subtitle Track → Import Subtitle
- CapCut:直接拖入時間軸
如果要做硬字幕(burn-in,燒入畫面),仲要 export 一層,但呢個同 SRT 對齊無關,係另一個工序。
廣東話 SRT 對齊嘅常見踩坑位
以下係過往做廣東話字幕對齊時最容易撞嘅問題,逐個列返。
踩坑 1:時間碼用咗句號
用 Aegisub 或者 Subtitle Edit 預設輸出有時用句號(.)做毫秒分隔,但 VLC、PotPlayer、部分社交媒體播放器會讀唔到。要校返逗號版本。
可以用 Subtitle Edit 嘅「Settings → Output → Time format」轉返 HH:MM:SS,MSF。
踩坑 2:句間停頓太短
廣東話對白中間成日有「咁呢」、「即係」、「呢個」呢啲 filler 詞做停頓。如果 SRT 段與段之間 gap 設得太短(少過 200 毫秒),字幕會黐住一齊睇唔清。
建議句間 gap:
- 一般對白:300 至 500 毫秒
- 慢節奏旁白:500 至 800 毫秒
- 快節奏對白:200 至 300 毫秒
踩坑 3:忽略咗多音字
廣東話好多多音字(「重」可以讀「zung6」或「cung4」、「行」可以讀「haang4」或「hang4」),TTS 如果讀錯音,會連帶影響 SRT 嘅顯示,建議事先 睇下廣東話多音字攻略,劇本階段就校好讀音。
踩坑 4:長句冇斬
一段字幕停留 7 至 10 秒對廣東話觀眾嚟講太長。建議:
- 一般一句 4 至 8 個中文字
- 停留 2 至 5 秒
- 超過 5 秒就要斬
呢個規範參考緊 BBC 同 ViuTV 嘅字幕標準。
踩坑 5:忘記校時區/幀率
如果個 SRT 嘅時間軸對住 25fps 嘅 PAL 影片,但剪片時用咗 29.97fps 嘅 NTSC 時基,個 SRT 慢慢會 drift。匯入時記得校返時基一致。
高階:SRT 時間軸自動化嘅幾條路
如果你做大量廣東話字幕,如 YouTube 頻道、網課、podcast 字幕,可以考慮更高階嘅自動化。
路 1:FFmpeg + TTS 串接
用 FFmpeg 將 TTS 出嚟嘅音頻切成多段,配合 SRT 嘅 timestamp 做標記。FFmpeg 嘅 -ss 同 -t 參數可以精準 cut 音頻:
ffmpeg -i input.mp3 -ss 00:00:01.200 -t 00:00:03.300 output.mp3
配合 SRT 嘅時間軸,可以做到半自動剪片。
路 2:Python 腳本後處理
寫個 Python script 讀取 SRT,逐段做微調:
- 統一將所有 timestamp 提早 200 毫秒(lead-in)
- 將短過 1 秒嘅段延長到 1.2 秒
- 將長過 6 秒嘅段斬開
呢類後處理可以一鍵 apply 喺成個 channel 嘅字幕。
路 3:MCP/Agent 接入
如果用 LLM agent 做內容生產,可以直接經 MCP 接入 港嘢 API,由 agent 自動:
- 拆劇本做多段(每段 ≤500 字符)
- 每段提交一個 TTS job
- job 完成後拎返 SRT
- merge 多個 SRT 做一個完整字幕檔
API 同 Playground 用量係 1:1 共用月配額(2026-09-12 裁定),所以記得計埋 agent 提交嘅量。批量(items)係專業同工作室專屬,免費入門 plan 帶 items 會零提交、零扣費(回 403 batch_requires_pro)。
點樣揀 SRT 對齊工具
揀工具主要睇三個維度。
維度 1:支援廣東話嘅程度
唔係所有字幕工具都對廣東話友善。要留意:
- 編碼:必須支援 UTF-8(廣東話有繁體字同標點)
- 顯示字體:字幕軟件預設字體未必包晒所有廣東話字(例如「嘅」、「嗰」、「啲」嘅變體)
- 自動對齊:廣東話聲學模型支援嘅工具唔多,要事先試
維度 2:同 TTS 嘅整合度
如果個工具可以一次過出音頻 SRT,會慳好多工序。港嘢嘅 TTS API 支援 srt=true 參數一次過吐 SRT,比起分開做「先生成音頻、再對時間軸」快好多。
可以參考 TTS 配音導演指南 嗰度講嘅配音流程,配 SRT 對齊一齊做。
維度 3:協作能力
如果你同其他人一齊做字幕,要睇工具嘅協作功能:
- 多人同步編輯
- 版本控制(git 或者內建)
- 審批流程
Subtitle Edit、Aegisub 係單機版;Subtitle Horse、Amara 係線上版支援協作。
對齊完成後嘅 QA 清單
校完 SRT 唔好即出街,做一次 QA:
- 隨機抽 5 段,睇下時間軸同音頻對唔對得正
- 全部段播放一次,確保無字幕黐住或者跳
- 檢查每段停留時間,長過 6 秒嘅要斬
- 檢查句間 gap,唔可以全部都 0 毫秒
- 檢查特殊字符(「,」、「、」、「?」、「!」)嘅位置
- 用唔同播放器試一次(VLC、PotPlayer、手機 App)
如果做大量字幕,可寫個 Python script 自動 scan 個 SRT 檔,搵出異常段(停留太短/太長、gap 太細、字符太多)。
廣東話 SRT 對齊嘅最佳實踐
總結返幾個重點:
- 文本預先口語化 — 寫劇本時用廣東話口語,唔好直接由書面語譯過嚟
- 字符數估算 — 240 字符/分鐘做基,再按演繹風格調整
- TTS 直接出 SRT — 慳人手對齊時間,但要記得事後微調
- 句間預留停頓 — 300 至 800 毫秒視乎節奏
- QA 唔好慳 — 字錯位會直接影響觀眾體驗
如果你想由零開始學廣東話 TTS,可以睇下 粵語 TTS API 快速上手 同 API 生成地道粵語語音指南,由 API 接入到 SRT 輸出都有覆蓋。
常見問題 FAQ
SRT 時間軸對齊要做到幾精準?
一般觀眾可以接受 ±0.3 秒嘅誤差,超過 ±0.5 秒就會覺得唔自然。所以目標係控制在 ±200 毫秒以內。專業字幕(例如聾人字幕)要求更嚴,會到 ±50 毫秒,但廣東話 YouTube 內一般 ±200 毫秒就夠用。
用 TTS 生成嘅 SRT 仲使唔使人手執?
大約 8 成可以直接用,剩低 2 成要執。執嘅位包括:句首提早/延遲、長句開頭、特殊停頓位。完全唔執就出街嘅話,觀眾會感覺到「差少少」,特別係長對白段。
SRT 同 VTT 有咩分別?時間軸對齊方法一樣嗎?
SRT 同 WebVTT 格式好相似,主要分別係 VTT 用句號做毫秒分隔(00:01:23.456),而 SRT 用逗號(00:01:23,456)。時間軸對齊方法一樣,但匯入時要留意格式轉換。大部分工具都支援兩者互轉。
如果劇本超過 500 字符點算?
TTS API 嘅 text 1 至 500 字符上限係硬限制,超過會回 400 text_too_long,唔會自動截斷。要分批提交,每批獨立生成 SRT 檔,再用 merge 工具(例如 Subtitle Edit)合併。合併時記得每段 timestamp 要銜接返,可以用最後段嘅 out-point 做下一段嘅 in-point 起點。
廣東話 SRT 嘅編碼要點設定
必須用 UTF-8(with BOM 或者 without 都得,但有 BOM 比較穩)。如果你用 Subtitle Edit,預設編碼係 UTF-8,但舊版 Windows 嘅 Notepad 開可能會變亂碼。建議用 Notepad++ 或者 VS Code 開 SRT 檔,確認編碼係 UTF-8。
SRT 對齊可以用 AI 自動做嗎?
可以,但有局限。Forced alignment 類 AI 工具(例如 Whisper + alignment)對廣東話支援越嚟越好,但同音字、專有名詞、中英夾雜嘅辨識仍然有誤差。如果你用 TTS 而唔係錄音,可以直接由 TTS 吐 SRT,呢條路最穩陣,因為 TTS 知道自己每段嘅 timestamp,唔需要靠聲學模型去猜。
SRT 對齊失誤會點?觀眾真係會介意嗎?
會。好似 Netflix、ViuTV 嘅字幕都係專業級,觀眾已經習慣高質字幕。如果你出嘅字幕成日錯位、停留太短、句間無停頓,觀眾會覺得「呢條片好 cheap」。YouTube 自動翻譯字幕嘅甩漏位就係反面教材。
[!CTA]
用 TTS 一次過做齊廣話旁白同 SRT 字幕
試下港嘢 Playground,由劇本直接生成帶時間碼嘅 SRT 檔,省掉逐段 set timestamp 嘅工序