有些 YouTube 影片沒有字幕,要怎樣產生與下載 YouTube 影片的字幕 (逐字稿)。可以使用 HuggingFace 的 Youtube Whisper 輸入 YouTube 影片連結,就可以轉換成字幕。
Photo by Isaac Benhesed on StockSnap |
問題狀況
YouTube 影片的字幕,如果不是拍片者主動上載的字幕檔,通常是 YouTube 「自動產生字幕」的功能。而網路上提供 YouTube 下載字幕的服務或者是影片字幕下載工具 (YouTube Subtitle Downloader) 則是下載 YouTube 「自動產生字幕」產生的檔案。
如果遇到影片還沒有自動產生字幕 (逐字稿),要如何產生字幕?
解決方式
1. 點選連結輸入網址 Youtube Whisper - a Hugging Face Space by kazuk
2. 輸入 YouTube 影片資訊
- URL:輸入 YouTube 影片連結,例如 https://www.youtube.com/watch?v=t6op1MAb9nQ
- Model 模型:越大型的 Model 可以讓語音轉成文字的效果更準確,但是相對也要花費更久時間。網頁上寫 1 分鐘的影片,如果選 Medium 的模型,大約需要花 5 分鐘的時間。不過實際測試,可能還要考量伺服器效能,建議要轉換之前,要在網路比較穩定的環境,否則一旦網路連線不穩,就會遇到錯誤,導致重新轉換。
- Language 語言:可以不選,因為是以國語為主,所以選擇 Chinese。也可以不選擇語言,讓電腦自動判斷語言,支援的語言包含英文、法文、德文高達 99 種語言(支援的語言清單,詳見附件1)。
- Timestamps 時間戳記:可以不選。建議要選有時間戳記,才會顯示這句話的開始與結束時間。
3. 實際測試
約兩分鐘的影片,選擇 Medium 的模型,大概花了十分鐘。
(1) 沒有選擇 Timestamps 時間戳記的結果:如下圖右邊區塊,全部字幕 (逐字稿) 會黏在一起。
如果逐字稿篇幅太長,會遇到 ChatGPT 的 token 長度限制,就要處理分段的問題。所以我才會建議要選擇 Timestamps 時間戳記的結果。請整理成分段且通順的文章,並在每個段落加上黑體的副標題:再接上逐字稿
(2) 有選擇 Timestamps 時間戳記的結果:如下圖右邊區塊,字幕依照時間順序分段。
選擇 Large-v1 模型的話,字幕文字會更通順,但是轉換時間就需要一到兩小時。相關資料
- kazuk/youtube-whisper-10 程式會自動下載 YouTube 聲音檔案部分,再將聲音檔轉成逐字稿。
- 或自行下載 YouTube 聲音檔案部分,再使用 openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision 將聲音檔轉成逐字稿。
附件1
- afrikaans (南非語)
- albanian (阿爾巴尼亞語)
- amharic (阿姆哈拉語)
- arabic (阿拉伯語)
- armenian (亞美尼亞語)
- assamese (阿薩姆語)
- azerbaijani (亞塞拜然語)
- bashkir (巴什基爾語)
- basque (巴斯克語)
- belarusian (白俄羅斯語)
- bengali (孟加拉語)
- bosnian (波士尼亞語)
- breton (布列塔尼語)
- bulgarian (保加利亞語)
- catalan (加泰隆尼亞語)
- chinese (中文)
- croatian (克羅埃西亞語)
- czech (捷克語)
- danish (丹麥語)
- dutch (荷蘭語)
- english (英語)
- estonian (愛沙尼亞語)
- faroese (法羅語)
- finnish (芬蘭語)
- french (法文)
- galician (加利西亞語)
- georgian (喬治亞語)
- german (德文)
- greek (希臘語)
- gujarati (古吉拉特語)
- haitian creole (海地克里奧爾語)
- hausa (豪薩語)
- hawaiian (夏威夷語)
- hebrew (希伯來語)
- hindi (印地語)
- hungarian (匈牙利語)
- icelandic (冰島語)
- indonesian (印度尼西亞語)
- italian (義大利語)
- japanese (日本語)
- javanese (爪哇語)
- kannada (卡納達語)
- kazakh (卡扎克語)
- khmer (khmer)
- korean (韓國語)
- lao (寮語)
- latin (拉脫維亞語)
- latvian (拉脫維亞語)
- lingala (lingala)
- lithuanian (立陶宛語)
- luxembourgish (盧森堡語)
- macedonian (馬其頓語)
- malagasy (馬達加斯加語)
- malay (馬來語)
- malayalam (馬來語)
- maltese (馬耳他語)
- maori (毛利語)
- marathi (馬拉地語)
- mongolian (蒙古語)
- myanmar (緬甸語)
- nepali (尼泊爾語)
- norwegian (挪威語)
- nynorsk (nynorsk)
- occitan (奧克西坦語)
- pashto (普什圖語)
- persian (波斯語)
- polish (波蘭語)
- portuguese (葡萄牙語)
- punjabi (旁遮普語)
- romanian (羅馬尼亞語)
- russian (孟加拉語)
- sanskrit (梵語)
- serbian (塞爾維亞語)
- shona (肖納語)
- sindhi (辛德語)
- sinhala (僧伽羅語)
- slovak (斯洛伐克語)
- slovenian (斯洛維尼亞語)
- somali (索馬利亞語)
- spanish (西班牙文)
- sundanese (巽他語)
- swahili (斯瓦希里語)
- swedish (瑞典語)
- tagalog (塔加路語)
- tajik (塔吉克語)
- tamil (泰米爾語)
- tatar (韃靼語)
- telugu (泰盧固語)
- thai (泰語)
- tibetan (藏語)
- turkish (突厥語)
- turkmen (土庫曼語)
- ukrainian (烏克蘭語)
- urdu (烏爾都語)
- uzbek (烏茲別克語)
- vietnamese (越南語)
- welsh (威爾斯語)
- yiddish (意第緒語)
- yoruba (約魯巴語)
附件2
測試用的 YouTube 影片:北車與轉運站間設天橋?景觀學會:將壓迫行車視線|20230324 公視晚間新聞 - YouTube
選擇 Medium 的模型的字幕結果:
1
00:00:00,000 --> 00:00:03,320
台北車站地下街過去有迷宮之稱
2
00:00:03,339 --> 00:00:05,879
民眾轉乘常常很困惑 北捷計畫
3
00:00:05,900 --> 00:00:08,099
配合市政府的西區門戶計畫
4
00:00:08,120 --> 00:00:10,380
在台北轉運站和台北車站之間
5
00:00:10,380 --> 00:00:12,800
建置天橋 方便行人穿越
6
00:00:12,820 --> 00:00:15,060
不過警官卻會認為天橋壓縮
7
00:00:15,060 --> 00:00:17,240
在市民大道下面會有壓迫感
8
00:00:17,260 --> 00:00:19,519
對行車視線和整體的景觀
9
00:00:19,519 --> 00:00:22,000
都需要再討論
10
00:00:22,019 --> 00:00:23,820
無視穿越開閥的紅色標誌
11
00:00:23,820 --> 00:00:26,480
有民眾就這麼穿越市民大道回轉車道
12
00:00:26,500 --> 00:00:27,359
沒過幾分鐘
13
00:00:27,359 --> 00:00:30,199
又出現拉著行李的旅客也違規穿越
14
00:00:30,219 --> 00:00:32,479
想要從台北車站到台北轉運站
15
00:00:32,500 --> 00:00:34,399
目前僅能走台北地下街
16
00:00:34,399 --> 00:00:36,840
不過地下街設置過去平價兩級
17
00:00:36,840 --> 00:00:38,920
曾被民眾形容像迷宮
18
00:00:49,920 --> 00:00:51,280
聽到臺北捷運公司計畫
19
00:00:51,280 --> 00:00:54,340
建置天橋 連接台北轉運站和台北車站
20
00:00:54,359 --> 00:00:55,840
民眾有不同的意見
21
00:00:55,840 --> 00:00:57,620
檢視北捷跨市民大道
22
00:00:57,640 --> 00:00:59,140
串聯線型公園立體
23
00:00:59,140 --> 00:01:01,100
連通天橋興建工程案
24
00:01:01,120 --> 00:01:02,740
預計耗資四億元
25
00:01:02,740 --> 00:01:05,740
將國光客運台北站旁的地下街M2出口
26
00:01:05,740 --> 00:01:07,780
與台北轉運站旁的R1出口
27
00:01:07,780 --> 00:01:09,420
由天橋連接起來
28
00:01:09,439 --> 00:01:11,700
位置將會在市民大道的下方
29
00:01:11,700 --> 00:01:13,020
警官設計師認為
30
00:01:13,020 --> 00:01:14,300
若只是為了穿越
31
00:01:14,300 --> 00:01:16,620
應該在平面建置人行空間
32
00:01:16,620 --> 00:01:40,500
這樣也不會壓縮到行車的視線與空間
33
00:01:40,500 --> 00:01:42,700
警官學會認為線型天橋建置
34
00:01:42,700 --> 00:01:44,140
都是有多功能考量
35
00:01:44,159 --> 00:01:46,500
例如間距商場間的串聯功能
36
00:01:46,500 --> 00:01:48,319
對此臺北監運公司回應
37
00:01:48,319 --> 00:01:50,540
此案是配合市府西區門戶
38
00:01:50,560 --> 00:01:52,760
以及臺北長廊東延段計畫
39
00:01:52,760 --> 00:01:54,960
建置周邊立體人行系統
40
00:01:54,960 --> 00:01:57,400
對於後續都審委員的審查意見
41
00:01:57,400 --> 00:01:59,040
監運公司將依都審主席
42
00:01:59,040 --> 00:02:01,680
才事的事項 修正後再送審
43
00:02:01,680 --> 00:02:20,640
記者 學家 林姊臺報導
留言
張貼留言