語音與音訊 AI

TTS 影片句尾偷偷吃字?用 ASR 逐字稿 diff 才抓得到

配音聽起來像沒講完就被剪掉,但你說不準是不是自己太敏感。這篇筆記給你一套 20–30 分鐘能做完的驗證流程:處理前後的音檔各跑一次語音轉文字,兩份逐字稿一比對,被裁掉的內容馬上現形。

2026/09/22 | 2 分鐘閱讀

一個核心觀念

「聽起來怪怪的」是主觀感受,「文字對不上」是客觀事實。把「音檔處理前後內容有沒有變」這個問題,轉換成「兩份逐字稿一不一樣」,就能把耳朵的不確定感,變成電腦可以自動判斷的是非題。

關鍵工具是語音轉文字(ASR,Automatic Speech Recognition):處理前跑一次、處理後再跑一次,兩份逐字稿直接比對,字對不上的地方,就是內容真的被改動或裁掉的地方。

怎麼做(約 20–30 分鐘)

Step 1|準備一份「處理前」跟「處理後」的音檔

不管你是用什麼工具幫音檔加後製(剪頭尾靜音、加淡入淡出、降噪等),先確保手上同時有「原始未處理」跟「處理完成」兩個版本。如果處理流程會覆蓋原始檔案,記得先備份。

Step 2|裝一個語音轉文字工具

開源生態圈最常用、效果好又免費的是 faster-whisper(Whisper 模型的加速版)。安裝步驟因作業系統與有無獨立顯卡而異,直接照抄指令容易踩雷,改用「問 AI 咒語」讓它依你的環境給步驟:

你是 Python 新手,想在自己的電腦上安裝並使用 faster-whisper 這個語音轉文字套件。請告訴我:
1. 我的作業系統是 [Windows / Mac / Linux],有沒有獨立顯卡是 [有/沒有]
2. 請給我完整的安裝步驟(包含要不要用虛擬環境)
3. 請給我一段最簡單的 Python 範例程式碼,輸入一個音檔路徑,印出轉錄的文字
請一步一步講解,假設我是完全新手。

Step 3|兩份音檔各跑一次轉錄

把「處理前」跟「處理後」的音檔各自轉錄一次,存成兩份文字檔。如果只有一兩段,也可以直接印在螢幕上手動比對。

Step 4|比對兩份逐字稿

段落不多就肉眼比對;量大的話讓 AI 幫你寫一段批次比對腳本:

我有兩份文字稿列表(處理前 A 跟處理後 B,長度一樣,一一對應),想寫一段 Python 程式,
逐項比對兩邊的文字內容是否相同,把不同的那幾項印出來給我看。請給我完整可執行的程式碼。

Step 5|找到差異段落,回頭查後製參數

如果處理後的文字比處理前「短」,而且短的地方都在句尾——通常是後製濾鏡(尤其是靜音移除/裁切類)設定太激進,把真正的語音內容誤判成靜音剪掉了。

你一定會踩的坑

  1. 靜音移除濾鏡只看音量,沒看「持續多久」:很多音訊工具的靜音移除功能只讓你設「多小聲算靜音」(音量閾值),沒有要求「要小聲多久才算靜音」。中文句子講到句尾音量本來就會漸弱,閾值設得太嚴格(例如 -40dB),句尾正常語音就會被誤判成靜音整段剪掉。實測 13 段測試語音,8 段句尾被吃字(例如「這不是你手殘」被剪成「這不是你手」)。解法:把閾值調寬鬆一點(例如 -50dB),讓濾鏡只在真正接近完全無聲時才動作——若用 ffmpeg 的 silenceremove,這個參數叫 start_threshold/stop_threshold,數字越負代表越寬鬆。調完 13 段全部驗證完整無漏字。
  2. 同一段濾鏡設定複製貼上到多個專案,bug 也跟著複製:如果好幾支影片/專案共用同一套後製腳本,發現一個地方有問題,記得全部找一遍,同樣的參數陷阱大機率也存在其他複製出去的地方。
  3. 「demo/測試腳本」修好了,不代表「正式產品」也吃到修正:如果示範腳本跟正式產品的程式碼是兩條分開的路徑(很常見),修好 bug 後務必回頭確認正式路徑是不是真的引用了修好的邏輯。

卡住時怎麼問 AI

把下面這段貼給 Claude/ChatGPT,換成你的狀況,並且貼上完整的錯誤訊息原文(不要自己摘要):

我是程式新手,正在照著一份教學文件操作,卡在下面這一步:
【貼上你卡住的那個步驟】

我的電腦環境:作業系統是 [Windows / Mac],[有裝 Python / 不確定有沒有裝]

我遇到的錯誤訊息是(如果有的話,完整貼上):
【貼上錯誤訊息原文】

請一步一步帶我解決,假設我是完全新手,每一步都要講清楚該點哪裡、輸入什麼指令。

一句話總結

別再靠耳朵猜「這段音檔有沒有被剪壞」——處理前後各跑一次語音轉文字,兩份逐字稿直接比對,字對不上的地方就是真相所在,這個方法還能全自動化、批次驗證整個專案的所有素材。

支持這裡的內容:前往 Ko-fi 斗內