語音與音訊 AI

用任何一支影片的音軌,克隆出一個 AI 配音角色

讀完你能:從一支任意影片(教學片、Vlog、任何有清楚人聲旁白的內容)抽出音軌,自動找出一段乾淨的參考音,用開源零樣本語音克隆模型做出一個新的配音角色,並且知道怎麼把它接進自己的專案裡用。整套流程走完大約 20-30 分鐘,全程本地執行、零 API 費用。

2026/07/10

一個核心觀念

零樣本(zero-shot)語音克隆不需要訓練資料集——傳統做一個客製化語音需要成百上千句錄音去訓練模型,但 IndexTTS2 這類新一代模型只要「一段乾淨的參考音」(10-20 秒即可),就能直接模仿那個音色講任何新的文字。真正決定克隆效果好壞的關鍵,幾乎全在這一段參考音的品質,不是後面的合成參數。所以整套流程最值得花心思的地方,就是怎麼快速、準確地找到一段好的參考音。

按步驟做

Step 1|準備環境

你需要:

🆘 問 AI 咒語

如果你不熟悉怎麼裝 Python 環境或跑開源模型,把這句貼給 AI 助理:「我是新手,想在 Windows/Mac 上裝 IndexTTS2 這個開源語音克隆模型並跑起來,請一步一步教我,包含裝環境、下載模型、跑第一個測試。」

Step 2|抽出音軌

用 ffmpeg 把影片的聲音單獨存成一個 wav 檔(24kHz、單聲道就夠,克隆模型不需要高音質音樂級的音檔):

ffmpeg -i 你的影片.mp4 -vn -ac 1 -ar 24000 音軌.wav

Step 3|自動找乾淨的參考音(這是最省時間的一步)

不要手動拖時間軸找。用 ffmpeg 的靜音偵測濾鏡,讓程式幫你掃出全片的停頓點:

ffmpeg -i 音軌.wav -af silencedetect=noise=-25dB:d=0.15 -f null -

它會印出一串 silence_start / silence_end 時間戳。你要找的是兩個停頓之間、講話時間最長的那一段——通常代表一句完整、自然銜接、沒有被切斷的話,這種片段拿去當參考音效果最穩定。挑 1-2 個候選(10-20 秒長度為佳),用同樣的 ffmpeg 指令切出來:

ffmpeg -i 音軌.wav -ss 開始秒數 -to 結束秒數 -ar 24000 -ac 1 候選A.wav

Step 4|跑一次測試合成,A/B 耳選

用候選音當參考,餵一句測試文字給模型合成,兩個候選各生成一次,實際聽哪個音色更乾淨、更像原音、更自然。不用完美,選一個明顯比較好的就定案。

Step 5|接進你的專案

把定案的參考音檔存到一個固定路徑(例如 refs/你的角色名.wav),之後每次要用這個聲音講話,就是「餵文字+指定這個參考音路徑」給模型,跟你原本已經在用的其他配音角色是同一套呼叫方式——不用額外訓練,加一個新角色的成本幾乎是零。

你一定會踩的坑

  1. 切到句子中間:如果你手動找片段,很容易切到一句話講到一半就斷掉,克隆出來的音色會帶著奇怪的呼吸/斷句習慣,聽起來卡卡的。解法就是上面 Step 3 的自動找停頓點,讓程式幫你避開這個問題。
  2. 參考音裡混了背景音樂或其他人的聲音:如果原始影片有配樂,或是多人對話,克隆效果會明顯變差、甚至學到不該有的雜音。挑片段時優先選「單人清楚說話、背景安靜」的段落;如果整支影片都有配樂鋪底,可以用 -af volumedetect 抓一下平均音量,落差太大的段落通常代表背景音在跑。
  3. 靜音偵測的 noise 參數要微調-25dB 是常用起點,但如果你的錄音本身比較小聲或比較大聲,偵測不到停頓(或把整句話都當成停頓),試著調整成 -20dB-30dB 再跑一次,直到偵測出的停頓點跟你聽感一致。

一句話總結

好的語音克隆不是模型比賽,是「找到一段乾淨完整的參考音」的效率比賽——把這一步自動化,你就能用任何一支公開影片的音軌,20 分鐘做出一個新的配音角色。