使用 OBS 與 localvocal 產生即時字幕與翻譯
OBS 中有個神奇的外掛叫 Localvocal,透過在電腦上跑 OpenAI Whisper 產生即時字幕,回放到 OBS 當中。另外還可以用 ChatGPT 將產生的英文字幕即時翻譯成中文,在現場轉播需要翻譯時可以說是救星。在這邊文章中我會帶大家安裝所需的套件,並進行簡易設定。
需準備器材
- 備有 NVIDIA 顯卡的電腦 x1,RAM 盡量在 32GB 以上。
- 錄音介面 x1
- 英文測試影片 x1(在網路上尋找、下載即可)
前置設定
- 前往 OBS 網站 下載並安裝 OBS。
- 前往 Localvocal
Github,點擊頁面中的「Windows」下載並安裝 Localvocal。
- 前往 OBS URL Source Github,一樣點擊「Windows 下載安裝。等等串接 ChatGPT 會用到。
- 啟動 OBS,先建立一個媒體來源。
- 瀏覽本機檔案後按下「確定」。
測試 LocalVocal
- 在右方的「媒體來源」點擊三個點的按鈕後,點擊「濾鏡」。
- 在「音訊/影像屬性」下方點擊「+」,並選取「LocalVocal Transcription」。
- 視情況調整 Model 後按下「關閉」。(推薦 Whisper Small English)
此時螢幕上應該會出現字幕。可以播放影片看看字幕是否正確生成。
串接 ChatGPT,設定翻譯
- 前往 platform.openai.com 新增 API 金鑰。
- 開啟 OBS,新增 URL Source。
- 在出現的設定視窗中點擊「Setup Data Source」。
- 將 URL 與 headers 設定如下,在「Bearer」後面空一格貼上 API
金鑰。
- 將 Dynamic Input 設定為在上個部分新增的 Localvocal Transcription 字幕。
- 勾選「Skip Empty」與「Skip Same」。
- 在 Body 中貼上以下文字:
裡面的 model、prompt 與 max_tokens 都可以視狀況調整。model 的選擇可以參見 OpenAI 官方文件,選擇最適合的模型(現在應該是{ "model": "gpt-3.5-turbo-instruct", "prompt": "Translate the following English text to Traditional Chinese (Taiwan): '{input}'", "max_tokens": 7, "temperature": 0 }
gpt-4o
)。max_tokens 也可以向上調整到 10 或是 20,避免文字翻譯到一半中斷。 - 在下方的 JSON Pointer 中輸入
/choices/0/text
。 - 選擇「Save」。
接下來可以播放影片,看看中文是否出現在螢幕上。測試好之後,我們要將這些設定實際應用在錄音介面上。
設定錄音介面
- 連接錄音介面。
- 在「來源」的「+」中選取「音訊擷取裝置」。
- 選取完畢後,將「裝置」改為錄音介面。
- 刪除原本的「媒體來源」與「Localvocal Transcription」。
- 在「音效混音器」中會看到「音訊擷取裝置」,點擊三個點。
- 重複上面的「測試 Localvocal」段落,不過這次是在音訊擷取裝置上。
- 開啟 URL Source 的設定,重新在「Dynamic Input」上選擇「Localvocal Transcription」。
接下來可以對著麥克風講話,看看中英字幕是否出現在畫面上。如果有出現,恭喜你,設定大功告成!
– ltlnx 2025-03-20