2023-04-24|閱讀時間 ‧ 約 4 分鐘

【Google Colab Python系列】OpenAI Whisper: 語音辨識產生字幕檔

上一篇「【Google Colab Python系列】 初探Whisper: 來對一段Youtube影片進行辨識吧!」我們介紹了Whisper的基本用法及功能,這次我們除了語音辨識之外,還要下載辨識後的字幕檔,我想這對於我們常常看到沒有字幕的影片,若想要進行辨識與翻譯時非常有幫助。

這次的篇章主要做些什麼?

  • 前置作業。
  • 上傳影音檔。
  • 自動語音辨識文字。
  • 下載字幕檔(.srt)。

前置作業

安裝相關套件

  • openai-whisper

檢查是否開啟GPU

# 安裝whisper語音辨識工具
!pip install -U openai-whisper
# 檢查是否開啟GPU
!nvidia-smi

上傳影音檔

在Google Colab環境中如果要上傳音檔是沒問題的,貼心的Colab提供了API讓我們可以設計上傳音檔的功能,那就讓我們來實際玩玩吧。
P.S 上傳的時間會比下載的時間久很多,可以喝杯咖啡後再回來。
from google.colab import files
uploaded = files.upload()
todo = []
for fn in uploaded.keys():
 print('{name} with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))
 todo.append(fn)todo

載入辨識模型

要載入什麼樣的模型呢?可以看看官方網站的「Available models and languages
import whisper
model = whisper.load_model('large')

對上傳檔案進行辨識

import os
from whisper.utils import get_writer
# 輸出格式為srt
# 輸出路徑為目前位置
w = get_writer('srt', '.')for f in todo:
 name = os.path.basename(f)  result = model.transcribe(name)  srt_file_name = '{name}.srt'.format(name=name)
 w(result, srt_file_name)  files.download(srt_file_name)

結語

有了Whisper之後,我們就能夠本地開發一隻Python小程式來對影片進行辨識自動產生字幕了,如此一來就不用每次都上傳到雲端才開始進行,甚至人工產生字幕,基本上Whisper的辨識就目前使用上來說已經算是不錯了,句子的切點都還算精確,標點符號也都幫我們自動標上,真是貼心啊。
今天的範例都在這裡「📦 whisper_1_srt.ipynb」歡迎自行取用。
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
喜歡撰寫文章的你,不妨來了解一下:
歡迎加入一起練習寫作,賺取知識,累積財富!
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.