如何快速、輕鬆且免費把影片的字幕轉錄出來呢?如何生成 SRT( Subripper)的文字字幕格式呢?這篇文章就是教你如何使用免費的 OpenAI Whisper 搭配低成本影片編輯軟體與轉檔軟體,一條龍的流程將帶有字幕的影片上傳到 YouTube 頻道。
不需要寫程式碼,也不需要花 3000 或 5000 元訂閱昂貴的套裝軟體,新手也能製作出帶字幕的高品質影片檔。只需要準備一台家用電腦、安裝 Python 軟體、執行不到 10 行的現成程式碼、匯入 SRT 字幕格式檔案到轉檔軟體、上傳影片到 YouTube 或透過雲端硬碟分享。除了影片編輯花費的時間之外,轉錄字幕與匯入字幕並完成影片,整個過程僅僅花費數分鐘即可完成!
OpenAI Whisper 是什麼?
OpenAI 是一家研究人工智慧( Artificial Intelligence )的公司,總部位於美國加州,主要目的是提供對於人類社會無害的各種先進模型。
Whisper 是 OpenAI 提供的一種最先進自動語音辨識( Automatic Speech Recognition,ASR )模型,用來執行語音辨識與翻譯的功能。能夠將各種語言的語音轉錄成文字,甚至可以處理較差的音頻品質或過多的背景雜訊。
基本介紹
– 公司網站:OpenAI
– Whisper 介紹:Whisper語音模型
Whisper 語音模型特色
– 100% 免費使用
– 是款開源 ( open-source ) 的人工智慧模型
– 支援超過 99 種語言並轉錄成英文或原始語言的文字
– Whisper 模型絕對不會追蹤或儲存用戶資料
如何使用 OpenAI Whisper 產生字幕檔
步驟 2 – 步驟 7 屬於一次性設定,安裝完成後,未來不需要每次都執行。整個過程很簡單,照著範例做都能成功,不要被不熟悉的軟體、指令嚇到就打退堂鼓了。
準備工具:
步驟 1. 家用電腦
– 範例使用 AMD Ryzen 5 3600 + X570 平台
步驟 2. Windows 作業系統
– 如何安裝 Windows 10 Pro
– 如何安裝 Windows 11 Pro
步驟 3. 下載 Anaconda
– Anaconda Individual Edition (個人編輯版):https://www.anaconda.com/products/distribution
步驟 4. 下載 Git 程式
– Standalone Installer:https://git-scm.com/download/win
>> Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
步驟 5. 安裝 Whisper 語音模型
– Github 程式碼:https://github.com/openai/whisper
步驟 6. 安裝 Chocolatey 程式
– Windows Powershell (工作管理員)設定步驟:https://chocolatey.org/install
>> Chocolatey is a software management solution unlike anything else you’ve ever experienced on Windows. Chocolatey brings the concepts of true package management to allow you to version things, manage dependencies and installation order, better inventory management, and other features.
步驟 7. 安裝 ffmpeg
– 步驟在 Github 程式碼:https://github.com/openai/whisper

.
如何使用 OpenAI Whisper 語音模型生成 SRT 字幕檔
.
下載 Anaconda
.
根據步驟 3 提供的網址,前往 Anaconda 官網下載軟體並安裝到電腦上。
.
下載 Git 程式

.
根據步驟 4 提供的網址,先安裝好 Git 程式,這樣子才能安裝 Github Whisper 模型。當然也可以使用另一個方法,就是在電腦上自行設定 Git 環境變數,不過這是一個很複雜的流程。
.
安裝 Whisper 語音模型

.
根據步驟 5 提供的網址,在網頁中間部分找到:pip install git+https://github.com/openai/whisper.git 的程式碼,將它貼到 Anaconda Powershell Prompt ( anaconda3 ) 視窗中,並以管理員身分執行即可安裝 Whisper model。
.
安裝 Chocolatey 程式

.
根據步驟 6 提供的網址,根據網頁說明,以工作管理員開啟 Anaconda Powershell Prompt ( anaconda3 )
1). 確認執行權限,輸入以下指令:
Get-ExecutionPolicy
2). 如果顯示 Ristricted,則再執行以下指令。若是 Bypass,則直接跳過。
Set-ExecutionPolicy AllSigned
3). 將以下指令貼到 Anaconda Powershell Prompt ( anaconda3 )
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
.
安裝 ffmpeg

.
根據步驟 7 提供的網址,將指令:choco install ffmpeg,貼到 Anaconda Powershell Prompt ( anaconda3 ) 視窗中執行。
.
影片說明
對於上述步驟的細節有不清楚的地方,可以參考下面章節提供的 YouTube 影片來確認細節。
OpenAI Whisper 語音轉字幕程式碼
語音轉字幕( Speech-to-Text )的程式碼,在 Github 網站有提供兩個範例。根據需求做了一些小修改並提供在下方,方便有需要的人使用。
程式碼說明:
– Model_Type:輸入其中一個模式進行語音辨識 – tiny, base, small, medium, large
– Data_File:將要生成字幕檔的影音檔案放在 Anaconda 專案的資料夾下,並把檔名與副檔名貼在程式碼當中
– TextFileName:產生的 srt / txt 字幕檔案檔名與輸入的影音檔案使用相同的檔名
– DEVICE :使用 CPU 或 GPU 執行程式
– # save TXT:假使不需要 txt 檔案格式,可以把這幾行刪除
– # save SRT:必須產生 SRT 檔案,才能使用影片轉檔軟體將字幕匯入
新版本 – openai-whisper-20230124
import whisper
import torch
from pathlib import Path
from whisper.utils import get_writer
# GlobalVariable
Model_Type = "small"
Data_File = "01.mp4"
TextFileName = Path(Data_File).stem
file_name = f"{TextFileName}"
output_directory = "."
# check if you have a GPU available
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
#load Whipser model
model = whisper.load_model(Model_Type, device=DEVICE)
result = model.transcribe(Data_File)
# save TXT
txt_writer = get_writer("txt", output_directory)
txt_writer(result, file_name)
# save SRT
srt_writer = get_writer("srt", output_directory)
srt_writer(result, file_name)
舊版本 – openai-whisper-20230117
程式更新或新安裝後,有些指令可能會被修改,導致原本使用的 write_srt 與 write_txt 無法執行。所以請改用新版本的程式碼,就可以正常把文字寫入檔案內。
import whisper
import torch
from pathlib import Path
from whisper.utils import write_srt, write_txt
# Global Variable
Model_Type = "large"
Data_File = "02.mp4"
TextFileName = Path(Data_File).stem
#check if you have a GPU available
torch.cuda.is_available()
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
#load Whipser model
model = whisper.load_model(Model_Type, device=DEVICE)
result = model.transcribe(Data_File)
# save TXT
sub_name_txt = f"{TextFileName}.txt"
with open(sub_name_txt, "w", encoding="utf-8") as txt:
write_txt(result["segments"], file=txt)
# save SRT
sub_name_srt = f"{TextFileName}.srt"
with open(sub_name_srt, "w", encoding="utf-8") as srt:
write_srt(result["segments"], file=srt)
如何在影片中加字幕
當 SRT 字幕檔產生之後,可以稍微檢查一下文字是否需要修改。假使是使用 Large 模式生成的字幕檔,幾乎完全正確不需要做任何修改。
而上一個章節如何使用 OpenAI Whisper 產生字幕檔的步驟,只有在第一次使用 Whisper 語音模型時,才需要安裝那些軟體。未來在使用字幕生成時,就直接更改 OpenAI Whisper 語音轉字幕程式碼 中提到的
- Model_Type
- Data_File
接著就是把影片加入字幕,對於新手而言,會推薦使用 Movavi Video Suite 這款多合一套裝軟體,原因:
- 軟體廠商提供買斷式方案,長期使用下來,會比訂閱式便宜
- 軟體操作介面非常直覺,進入門檻低,相當適合新手
- Movavi Video Suite 多合一套裝軟體包含
聯盟計畫分潤聲明
Patti的窩 網站有參加聯盟計畫,若您點選文章中的連結而購買商品,並不會影響您的購買價格!而 Patti的窩 可以從中獲取少許佣金,以持續維持網站的經營。
Movavi Video Suite

開啟 Movavi Video Suite >> 轉換影片,當你匯入影片時,軟體會自動偵測有無字幕檔案(如下圖)。假使沒有字幕檔的話(下圖 1 ),按箭頭(下圖 2 )會出現下拉式選單,點擊加入(下圖 3 )後,將剛剛生成的 SRT 字幕檔匯入,最後按下轉換按鍵就能成功為影片加字幕了!
細節可以參考下一個章節 YouTube 影片【7:06 匯入 SRT 字幕檔】。

有字幕與無字幕的影片對比
在影片中,
– 4 分 12 秒之前,屬於一次性軟體安裝;
– 4 分 12 秒到 7 分 06 秒,程式碼更新檔案名稱與使用哪一種 Whisper 語音模型;
– 7 分 06 秒到 8 分 22 秒,使用 Movavi Video Suite 的 Video Converter 匯入 SRT 字幕到影片;
– 8 分 22 秒之後,把原始無字幕影片與添加字幕影片用並排方式來做比對。不論是語氣斷點、語助詞、繁體中文字…等,都是完美呈現。有興趣的朋友,可以仔細觀察影片,不難發現 AI 語音辨識模型 Whisper 的能力是多麼的恐怖。
影片 Chapters 章節
0:15 安裝 Anaconda Distribution Individual Edition ( Python 懶人包)
0:52 安裝 Git 程式 (用途是安裝 Github 程式)
1:36 安裝 Whisper 語音模型
2:31 安裝 Chocolatey 程式
3:49 安裝 ffmpeg
4:12 Anaconda Distribution Individual Edition 新增專案、編輯程式
7:06 匯入 SRT 字幕檔
8:22 添加字幕與無字幕的影片對比
常見問題
Github Whisper 程式碼安全嗎?
是的。Whisper 程式碼公開透明,不需要額外的系統檔案或程式即可在 Python 底下執行。
Automatic Speech Recognition (自動語音辨識)只能選Whisper嗎?
否。自動語音辨識軟體有很多選擇,不過根據我的試用心得,Whisper 是唯一一款 AI 語音辨識模型,幾乎不需要在生成字幕檔後,還需要花時間做修改。
OpenAI Whisper 語音模型真的免費嗎?
是的,完全免費。
中英文可以互相轉譯嗎?
可以。Whisper speech to text model,可以將中文影片轉譯成英文字幕,反之亦然。
如何確認是 GPU 或 CPU 在執行程式呢?
打開 Anaconda Powershell Prompt ( anaconda3 ) 視窗,執行 whisper –help | findstr -i pytorch,輸出結果如下:
範例 1 –
–device DEVICE device to use for PyTorch inference (default: cpu)
這個範例就是用 CPU 在執行 AI 語音辨識程式碼。
範例 2 –
–device DEVICE device to use for PyTorch inference (default: cuda)
這個範例就是用 GPU 在執行 AI 語音辨識程式碼。
如何確認顯示卡 cuda 驅動程式有安裝成功呢?

基本上,大部分的 Nvidia 顯示卡都支援 cuda 功能。從官網驅動程式下載頁面,找到 Driver Release Notes,打開後檢查這版的驅動程式支援哪個版本的 cuda 程式,版本務必要一致。
– NVIDIA 驅動程式下載: https://www.nvidia.com.tw/Download/index.aspx?lang=tw
– GeForce Game Ready 驅動程式 >> 附加訊息 >> … Driver Release Notes (v…)
打開 Anaconda Powershell Prompt ( anaconda3 ) 視窗,執行 nvidia-smi,在輸出結果檢查驅動程式版本別。
為什麽 torch.cuda.is_available() 是 False?
1. 使用 nvidia-smi 指令,檢查 cuda 版本與顯示卡驅動程式版本是否都在支援清單中。
2. Pytorch / cuda / 顯示卡驅動程式最好都是安裝相同版本。
範例:
在 Pytorch 官網,指定好你的環境後,會自動更新安裝指令,複製到電腦執行即可。
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
檢查方法:
打開 Anaconda Powershell Prompt ( anaconda3 ) 視窗,執行 python 後,輸入藍色字體那兩行,輸出結果是 True 的話,就是有支援 cuda。
>> (base) C:\Users\ae>python
>> import torch
>> torch.cuda.is_available()
True
CUDA out of memory 怎麼辦?
跟顯示卡內建的 VRAM 容量大小有絕對關係,如何解決?
1. 換顯示卡
2. 變更 Whisper Model_Type
– tiny 需要 ~1 GB VRAM
– base 需要 ~1 GB VRAM
– small 需要 ~2 GB VRAM
– medium 需要 ~5 GB VRAM
– large 需要 ~10 GB VRAM
新手真的能用 OpenAI Whisper 生成影片字幕
沒有豐富的影片剪輯背景,也沒有太多空閒時間打逐字稿,卻想要嘗試自媒體或 YouTuber 的話,Whisper 語音模型 + Movavi Video Suite 的組合,對新手而言,確實是一個【低成本】、【高效率】、【輕鬆上手】的選擇!
假使這篇文章對您有幫助的話,麻煩幫忙【訂閱】我的 YouTube 頻道,也歡迎分享給有需要的朋友,我們會非常感謝您的支持!如何聯絡我們:請點我