聲音轉文字 OpenAI Whisper AI 教學
最近研究AI的日常應用,著實多姿多彩。閒話休說,說說今天跟讀者分享的教學。手頭有些粵語聲檔影片,想製作字幕,speech to text,一小時的影片要花多長時間?答案是約 16 分鐘。
用OpenAI 開發的Whisper AI,把大多語言的聲音轉成文字,speech to text。今次用兩個片段作示範。至於為甚麼要為影片配上中文字幕?因為影片配上中文字幕是基本配置,幫助觀眾理解和吸收,呢個好簡單嘅道理啫。
今次示範的片段有三個,專門找來不同主題的影片,一是日常吹水對話主題《菇武門》Podcast Ep. 158,「如何成為資深傳媒人?(嘉賓:區家麟)」;另一個是金融主題《財科暗戰》訪問USDC大逃亡事件,涉及較多財經名詞;還有科技主題《亂Gad》談AI,涉及較多科技名詞。
《菇》連結一:https://www.youtube.com/watch?v=_vugmK0dBb4
《財》連結二:https://www.youtube.com/watch?v=12NvQqq3-Tg
《亂》連結三:https://www.youtube.com/watch?v=mrf6RdaFPQw
OpenAI 的 Whisper AI 語音轉文字的功能,幾個要點:
1. 完全免費、開源、不用申請OpenAI 帳號也能直接使用、不需信用卡。
2. 像我們在香港這個被OpenAI禁制的地區,人民都能直接用,不用VPN。
3. 輸入聲源可以有粵語,共支援96種語言(全部語言清單請見註1)。
4. 輸入聲源若有粵語加英語,能轉成書面語加英文原字,例如「因為呢個constructive paranoia」會轉寫成「因為這個constructive paranoia」,保留原韻味。
5. 輸出的文字暫時只有中文書面語或其他國家語言,但比較奇怪是暫時似乎未支援粵語文字輸出。
6. 就算有背噪音或甚至較濃重的口音都可轉寫。
7. 轉錄完成自動製作SRT字幕檔,有時間標籤,方便加到YouTube或其他播放器。
8. 最方便是可以在Google Colaboratory網頁介面使用,不用在電腦上安裝任何程式,無高難度的特殊硬件或軟件要求。
簡單易用的材料要求:
1. 普通電腦。
2. Google 帳號,因為要使用 Google Colaboratory。
實際操作:
1. 先到 https://x2download.app/ ,用來抽取YouTube影片中的聲音檔。
2. 輸入 https://www.youtube.com/watch?v=_vugmK0dBb4 (或任何 YouTube 影片連結)。
3. 下載 mp3(mp4 也可以),改個簡單名字,例如 hocc.mp3
4. 用電腦去 https://drive.google.com/
5. 按左上角 New,More,Connect more apps,選擇 Colaboratory team 的Colaboratory 並安裝。
6. 再按左上角 New,More,選擇 Google Colaboratory 並安裝。
7. 允許相關的授權。
8. 在 Runtime 菜單,選擇 Change runtime type,Hardware accelerator: GPU,Save。
9. 按「+ Code」,輸入以下代碼並按按執行(▶️):
!pip install git+https://github.com/openai/whisper.git
!sudo apt update && sudo apt install ffmpeg
10. 在Google Colaboratory左手邊有個Files的小圖示(🗂️),按一下,出現一個檔案清單,把剛才的mp3拖入去。
11. 按「+ Code」,輸入以下代碼並按按執行(▶️)(註2):
!whisper “hocc.mp3” –model medium –language zh
(自行修改 hocc.mp3 檔案名字。)
12. 稍等片刻,字幕便會準備好,完成後srt檔會出現在左手邊的Files 一欄。
今次示範的片段,兩個片段用了medium的模型產生字幕,《菇武門》81分鐘片段,用了20分鐘完成字幕輸出;《財科暗戰》28 分鐘片段,用了8分鐘生成字幕;《亂 Gad》105分鐘的聲頻,花了38分鐘。
13. 關閉 Session 會自動刪除所有檔案。
字幕結果:
《菇武門》(日常對話主題),詳見 hocc158.srt:
00:01:26,000 –> 00:01:30,000
我經常去旅行 那種時差令我覺得
無論如何我關心香港 時差是不能克服的
我的所有關係 人與人之間的關係
跟社區的關係 跟這個地方的歷史的關係
我在這裡才能夠感覺到
離開了這種關係就斷絕了
我自己在旅行的時候的經驗
離開了很難顧及香港發生什麼事
我寧願選擇在這裡
《財科暗戰》(財經主題),詳見 udcheungto0328.srt:
00:01:59,880 –> 00:02:02,640
即是一些比較blockchain的思維
就覺得如果所有幣dedicate給一些大戶
大的Validator的話
那條chain可能不夠平衡
不夠decentralize
可能又會基於這個原則
你會幫回一些小的Validator
《亂 Gad》(科技主題),詳見 rangad655.srt:
01:40:05.600 –> 01:40:07.600
就係個Excel嗰度呢你可能係
邊幾個columns嗰度呢
要insert一啲new columns
即係要中間
當我係download咗個report落嚟啦
幾廿個columns啦可能中間
要ship一啲columns落去嘅
仲要highlight某幾個columns啦
有少少嗰啲formatting上面嘅
結論:
以後不用逐字打字幕,改為先產生字幕,再做編輯修正,省時省力。
此文連結:https://www.patreon.com/posts/80705925/
註1:支援語言包括:南非荷蘭語、阿爾巴尼亞語、阿姆哈拉語、阿拉伯語、亞美尼亞語、阿薩姆語、阿塞拜疆語、巴什基爾語、巴斯克語、白俄羅斯語、孟加拉語、波斯尼亞語、布列塔尼語、保加利亞語、緬甸語、卡斯蒂利亞語、加泰羅尼亞語、中文、克羅地亞語、捷克語、丹麥語、荷蘭語、英語、愛沙尼亞語、法羅語、芬蘭語、佛蘭芒語、法語、加利西亞語、格魯吉亞語、德語、希臘語、古吉拉特語、海地語、海地克里奧爾語、豪薩語、夏威夷語、希伯來語、印地語、匈牙利語、冰島語、印度尼西亞語、意大利語、日語、爪哇語、卡納達語、哈薩克語、高棉語、韓語、老撾語、拉丁語、拉脫維亞語、盧森堡語、林加拉語、立陶宛語、盧森堡語、馬其頓語、馬達加斯加語、馬來語、馬拉雅拉姆語、馬耳他語、毛利語、馬拉地語、摩爾達維亞語、摩爾多瓦語、蒙古語、緬甸語、尼泊爾語、挪威語、尼諾斯克語、奧克語、旁遮普語、普什圖語、波斯語、波蘭語、葡萄牙語、旁遮普語、普什圖語、羅馬尼亞語、俄語、梵語、塞爾維亞語、紹納語、信德語、僧伽羅語、僧伽羅語、斯洛伐克語、斯洛文尼亞語、索馬里語、西班牙語、巽他語、斯瓦希里語、瑞典語、他加祿語、塔吉克語、泰米爾語、韃靼語、泰盧固語、泰語、藏語、土耳其語、土庫曼語、烏克蘭語、烏爾都語、烏茲別克語、巴倫西亞語、越南語、威爾士語、意第緒語、約魯巴語。
註2:有關 —model medium 這個參數,請看 : https://github.com/openai/whisper
特別要留意Available models and languages 這一欄。例如輸入的聲源檔案是英文,則改為 –model medium.en,其他任何非英語聲源,則用 –model medium.en。
另外還有不同的 model,tiny、large 等,越tiny 越快但不準確,越large就越慢但準確一些。
▌ [ 光合作用 ] 作者簡介
薯伯伯為最早一批在網上連載遊記的香港人,多年來足迹遍佈歐、亞多國,在喜馬拉雅山麓、東南亞、南亞等地區生活。著有《風轉西藏》、《北韓迷宮》、《西藏西人西事》及《不正常旅行研究所》,分別在香港、北京及首爾出版。
作者 Patreon 頻道:https://www.patreon.com/pazu