自動語音辨識,使用Kdenlive給影片自動上字幕

目錄
說到影片上字幕,要節省力氣就得要依賴語音辨識服務,並自動轉成字幕檔,再加到影片。
自由開源軟體Kdenlive除了 能給影片加字幕、匯入字幕以外,其實也有內建VOSK的多國語音辨識,並自動轉成字幕軌的功能(speech to text),要另外搭配pyTranscriber使用也可以。
下面先來看成果,再來看如何使用。
Kdenlvie版本:22.08.1
1. 語音辨識準確度 #
為什麼要先看成果呢?因為VOSK是使用開源的模型(你要 自己訓練也可以),中文辨識準確度差Google語音辨識很多,VOSK還不成熟。如果還是想試試就繼續往下看。
我使用Kdenlive的「VOSK語音辨識」以及外部工具「 pyTransricber」對比。這些軟體在辨識語音之後會自動生成字幕,只要把字幕軌加到影片就可以了。
二個工具就英文來說辨識是沒問題,緩慢的中文講話語速也是可以辨識。
但若到了一般台灣人說話的語速問題就很大了。這個片段出自 他比你們想像更有料! 0:26秒處
第一個是VOSK語音辨識
第二個是Google語音辨識
跟原始影片對比,可以看到台灣國語可真是連Google語音辨識都難倒了,但使用Google語音辨識的pyTranscriber效果仍然比VOSK好。
在這方面可能要尋求台灣國內專業的在地廠商才行,例如雅婷逐字稿這種軟體。
2. Kdenlive安裝VOSK語音辨識 #
VOSK需要Python才能運作,請在電腦上安裝最新版 Python執行環境。
開啟Kdenlive,點選最上方的設定 → 設定Kdenlive,在左邊的選單找到Speech to text
到 VOSK Models網站下載語言模型,例如中文就下載
vosk-model-cn-0.22.zip
開啟檔案管理員,將下載的zip拖曳到剛剛開啟的Speech to text視窗,等幾秒自動安裝。
點選Project→Subtitles→Edit Subtitle Tool,啟用字幕軌
在時間軸的字幕軌上會出現一條藍線,拉長到想要語音辨識的片段。
點一下字幕軌左邊的魔法棒圖示
點選Timline Zone (selected track),選取Language為
vosk-model-cn-0.22
,再按Process。處理好後會自動將字幕加到字幕軌。接著按照需要微調字幕。
如果覺得準確度很差(真的蠻差的),請改用以Google語音辨識為基礎寫的 pyTranscriber來生成字幕檔吧,再 將字幕檔匯入Kdenlive。