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

閱讀時間約 3 分鐘
上一篇「【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」歡迎自行取用。
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
喜歡撰寫文章的你,不妨來了解一下:
歡迎加入一起練習寫作,賺取知識,累積財富!
為什麼會看到廣告
avatar-img
117會員
262內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
這個篇章主要是讓我們能夠熟悉Whisper的安裝與使用方式,並簡單的對Youtube影片進行線上翻譯的工作,主軸在於了解一下整個Whisper使用方式到底是簡單還是複雜,就讓我們一起來玩玩看吧! 在這之前我們還是說一下Whisper它是什麼樣的一個工具,能夠做什麼? Whisper 是OpenAI
MongoDB非常擅長查詢大量的數據並經常更新這些資訊, 在多數的情況之下, 我們只要查詢資訊最新的狀態, 那假設我們需要查詢資料的上一個狀態呢? 如果我們需要一些文檔版本控管功能時怎麼辦呢? 這就是我們可以使用版本控管設計模式的地方了。 這個模式之下會保存文檔的歷史版本, 我們就不用導入另外一個版
本篇主要是介紹MongoDB有哪些進階的索引, 了解原理及功能後, 在應用上才能規劃出更有效率的索引, 而主要會談到以下五個索引類型: 複合索引。 部份索引。 多鍵索引。 全文索引。 TTL索引。 進入到索引類型之前先提醒一下,一個集合的索引數不能超過64個。 限制: 最多只能31個欄位做一組複合索
主要是收攏documents的容器, 可以支援各種不同結構的document。 不能為空字串。 不能以system開頭, 這是系統集合保留的前綴。 超過配置大小, 新增時當超過配置限額時, 會先從最早的document刪除後再append新的document。 更新時不能超過size限制。 不能刪除
Web Workers主要提供簡單的API讓網頁在背景執行緒中執行程式而不干擾使用者的操作。 javascript主要功能是與user操作頁面互動及操作dom,試想若使用多執行緒的概念,那麼一個動作是新增至某個dom節點,另一個動作則是修改該dom節點,此時瀏覽器應該使用哪個動作為準? 所以為了避免
Service worker與Web workers相同,也都是一段運行在瀏覽器後台的腳本,提供一些不需要與頁面直接交互的功能(操作dom),主要處理網路相關的問題,可以攔截網路請求進行相對應的優化動作,我們把它想像成與伺服器之間的代理服務器可能會比較容易理解,當網路環境不佳時便回應快取資源,待網路
這個篇章主要是讓我們能夠熟悉Whisper的安裝與使用方式,並簡單的對Youtube影片進行線上翻譯的工作,主軸在於了解一下整個Whisper使用方式到底是簡單還是複雜,就讓我們一起來玩玩看吧! 在這之前我們還是說一下Whisper它是什麼樣的一個工具,能夠做什麼? Whisper 是OpenAI
MongoDB非常擅長查詢大量的數據並經常更新這些資訊, 在多數的情況之下, 我們只要查詢資訊最新的狀態, 那假設我們需要查詢資料的上一個狀態呢? 如果我們需要一些文檔版本控管功能時怎麼辦呢? 這就是我們可以使用版本控管設計模式的地方了。 這個模式之下會保存文檔的歷史版本, 我們就不用導入另外一個版
本篇主要是介紹MongoDB有哪些進階的索引, 了解原理及功能後, 在應用上才能規劃出更有效率的索引, 而主要會談到以下五個索引類型: 複合索引。 部份索引。 多鍵索引。 全文索引。 TTL索引。 進入到索引類型之前先提醒一下,一個集合的索引數不能超過64個。 限制: 最多只能31個欄位做一組複合索
主要是收攏documents的容器, 可以支援各種不同結構的document。 不能為空字串。 不能以system開頭, 這是系統集合保留的前綴。 超過配置大小, 新增時當超過配置限額時, 會先從最早的document刪除後再append新的document。 更新時不能超過size限制。 不能刪除
Web Workers主要提供簡單的API讓網頁在背景執行緒中執行程式而不干擾使用者的操作。 javascript主要功能是與user操作頁面互動及操作dom,試想若使用多執行緒的概念,那麼一個動作是新增至某個dom節點,另一個動作則是修改該dom節點,此時瀏覽器應該使用哪個動作為準? 所以為了避免
Service worker與Web workers相同,也都是一段運行在瀏覽器後台的腳本,提供一些不需要與頁面直接交互的功能(操作dom),主要處理網路相關的問題,可以攔截網路請求進行相對應的優化動作,我們把它想像成與伺服器之間的代理服務器可能會比較容易理解,當網路環境不佳時便回應快取資源,待網路
你可能也想看
Google News 追蹤
Thumbnail
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
本文主要使用SpeechRecognition來做一個簡單的語音辨識,使用pyqt5介面呈現。 按下Start Recording,開始錄音,並顯示請開始說話。然後按鈕名改名Stop 在按下Stop Recording,稍等片刻後就會呈現出辨識結果​ 程式範例 import sys i
Thumbnail
  在 AI 應用中,圖像、語音、文字三種可以說是主要應用,其中我一直以來都是專注於圖像上的研究,對於另兩種僅止於淺嚐,接下來就往音訊上研究看看,先從入門級的Text-To-Speech (TTL) 入場並一個個嘗試其他類型的應用,那麼,就讓我們開始吧。
Thumbnail
OpenAI近期公開了名為「Voice Engine(語音引擎)」的AI模型,使用者只要輸入文字與15秒的音訊樣本,該模型便會自動生成與原說話者相似的語音訊息。AI擬聲,也就是大家常說的聲音克隆(Voice Cloning),這項技術發展迅速,讓我們可以輕易複製一個人的聲音,產生合成語音
Thumbnail
Haiper AI 是一款免費的影片生成工具,是由 Google DeepMind 研究人員開發,只只需要輸入文字提示詞,就能生成各種場景的高質量的影片。
Thumbnail
本文介紹如何設置OpenAI API密鑰並使用Whisper API轉寫音訊檔案。文章詳細說明了轉寫單個音訊檔案,以及將長音訊分割並轉寫的過程。透過範例演示,讀者可以學習如何將音訊轉寫為文字,提高工作效率。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
Thumbnail
本文提供如何使用 Google Colab 結合 Faster Whisper 來提升語音辨識速度與準確性,包含安裝指南與使用方法。探索如何將語音轉換為文本,並對檔案進行不同格式的輸出。
Thumbnail
本篇筆記了如何使用Google Colab和OpenAI的Whisper Large V3進行免費且開源的語音辨識。涵蓋從基礎設定到實際運用的步驟,適合初學者和技術愛好者輕鬆學習語音辨識技術。
Thumbnail
ChatGPT最擅長的就是文本處理,用來翻譯字幕應該也是一片蛋糕吧!但實際操作測試,卻發現沒那麼容易,原因是影片翻譯要考量的因素太多包括: ▪️時間戳記對齊 ▪️適合閱讀且中英文對照文句長度 ▪️貼合講者原意語氣風格 ▪️專業術語與專有名詞 還有GPT一次可以處理的資訊量有限,超過
Thumbnail
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
本文主要使用SpeechRecognition來做一個簡單的語音辨識,使用pyqt5介面呈現。 按下Start Recording,開始錄音,並顯示請開始說話。然後按鈕名改名Stop 在按下Stop Recording,稍等片刻後就會呈現出辨識結果​ 程式範例 import sys i
Thumbnail
  在 AI 應用中,圖像、語音、文字三種可以說是主要應用,其中我一直以來都是專注於圖像上的研究,對於另兩種僅止於淺嚐,接下來就往音訊上研究看看,先從入門級的Text-To-Speech (TTL) 入場並一個個嘗試其他類型的應用,那麼,就讓我們開始吧。
Thumbnail
OpenAI近期公開了名為「Voice Engine(語音引擎)」的AI模型,使用者只要輸入文字與15秒的音訊樣本,該模型便會自動生成與原說話者相似的語音訊息。AI擬聲,也就是大家常說的聲音克隆(Voice Cloning),這項技術發展迅速,讓我們可以輕易複製一個人的聲音,產生合成語音
Thumbnail
Haiper AI 是一款免費的影片生成工具,是由 Google DeepMind 研究人員開發,只只需要輸入文字提示詞,就能生成各種場景的高質量的影片。
Thumbnail
本文介紹如何設置OpenAI API密鑰並使用Whisper API轉寫音訊檔案。文章詳細說明了轉寫單個音訊檔案,以及將長音訊分割並轉寫的過程。透過範例演示,讀者可以學習如何將音訊轉寫為文字,提高工作效率。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
Thumbnail
本文提供如何使用 Google Colab 結合 Faster Whisper 來提升語音辨識速度與準確性,包含安裝指南與使用方法。探索如何將語音轉換為文本,並對檔案進行不同格式的輸出。
Thumbnail
本篇筆記了如何使用Google Colab和OpenAI的Whisper Large V3進行免費且開源的語音辨識。涵蓋從基礎設定到實際運用的步驟,適合初學者和技術愛好者輕鬆學習語音辨識技術。
Thumbnail
ChatGPT最擅長的就是文本處理,用來翻譯字幕應該也是一片蛋糕吧!但實際操作測試,卻發現沒那麼容易,原因是影片翻譯要考量的因素太多包括: ▪️時間戳記對齊 ▪️適合閱讀且中英文對照文句長度 ▪️貼合講者原意語氣風格 ▪️專業術語與專有名詞 還有GPT一次可以處理的資訊量有限,超過