OpenAI Whisper 中有一個名稱為 initial_prompt 的參數,之前只有在使用 large-v3 的模型,因為會將中文語音解譯為簡體中文,才會使用到它,將 initial_prompt 設為「以下是繁體中文的句子」,最後輸出的文字就不會是簡體字了。
今天在 Faster Whisper 使用 large-v2 的模型來輸出 ICRT BreakDown 中的這一集 Podcast
Faster Whisper 偵測為「en」,解譯出英文,基本上是沒問題,來賓前面講的中文卻變成英文了。
可以按底下的連結,用 HTML5 FUN Audio Player 來看看輸出的字幕內容:
所以我設定了 OpenAI Whisper 的 initial_prompt 參數為:
these sentences mixed with English and traditional Chinese
[圖1] 有設定 initial_prompt 參數 |
如 [圖1] 設定好 initial_prompt ,重新讓 Whisper 再將音檔輸出為字幕檔,中文字的部份就較正常了。
可以按底下的連結,用 HTML5 FUN Audio Player 來看看有告訴 Whisper 語音是中英混合後,輸出的字幕內容:
重新輸出的字幕,講中文的部份大多正常輸出了;不過,不知道為什麼中間有一段 Whisper 又「昏頭」講英文。
比較起來,如果英文和中文混雜的情況下,還是需要使用 initial_prompt 的參數,明確地告訴 Open AI Whisper 。哈!請它認真一點,好好地分辨英文和中文!
此外, initial_prompt 參數還有一個很好用的功能,像我的影片中會說到「HTML5 FUN」跟閩南語的「好康A逗相報」,如果將它們加到 initial_prompt 設定中(以逗號分隔不同語詞),它就比較能辨識正確。所以可以應用在一些專有名詞,或是姓名上。
例如我在「雄:JavaScript : 擷取 Google 日曆製作簡明行事曆」中,介紹如何 Google 日曆輸出為簡明行事曆的影片中,「HTML5 FUN」、「好康A逗相報」、「簡明行事曆」,Whisper 都辨識錯誤 ,如果將它們都加到 initial_prompt 中,就可以提高正確率了。[圖2] 是有沒有使用 initial prompt 的比較:
[圖2] 有沒有使用 initial prompt 的比較 |
順便看一下,如何知道自己帳號還能使用 Google Colab GPU 的時間剩下多久?
參考 [圖1] ,如果程式正在執行的狀態,按右側綠色小箭頭所指的「三角形」,打開選單後,可以點選裡面的「查看資源」,在「資源」的分頁中會顯示可使用的剩餘時間(類似綠色箭頭所指之處)。
像我這個帳號,今天就把近四個小時的可用時間,用到剩下 40 分鐘了。哈!早知道在修改程式時,就先點選一下「中斷連線並刪除執行階段」,讓虛擬機空等,白浪費了許多時間;沒關係,明天又可以「滿血」了。
沒有留言:
張貼留言