免費開源的語音辨識功能:Google Colab + Faster Whisper

更新於 發佈於 閱讀時間約 6 分鐘

本篇要解決的問題

上一篇,我們用了 Google Colab,加上 OpenAI 的 Whisper,製作出了一個語音辨識功能,結果筆記文寫完沒過幾天,就看到有人改良了 Whisper,製作出了 Faster Whisper,辨識速度更快也更精準。

一開始研究時,因為是改到 Google Colab,所以跟著官方說明文件一直失敗,後來是爬了一下文後才找到解法。

確實,Faster Whisper 真的更快更準,測試了一個 70 分鐘的音檔,原本 OpenAI Whisper 要 14 分鐘,換用 Faster Whisper 後,只需要 7 分鐘。

不得不說,現在語音辨識模型已經到這程度,到年底時不知道又會有什麼樣子的進步。

Google Colab 的使用方式,在前一篇幾乎都寫到了,本篇不會再重寫,請先閱讀上一篇筆記文囉:

免費開源的語音辨識功能:Google Colab + Whisper large v3


安裝 Faster Whisper

官方說明文件:GitHub

文件一開始有說,要使用 GPU,要先安裝 NVIDIA 函式庫,一開始就是卡在這邊卡很久,因為找不到 Colab 的安裝方式。

後來爬了一下文後,才找到只要安裝「libcublas11」就可以了。

安裝 Faster Whisper 的二行程式碼如下:

!apt install libcublas11
!pip install faster-whisper

複製貼上二行程式碼,點擊執行後就會進行安裝。


使用 Faster Whisper

這篇來點跟前一篇不一樣的,因為官方提供的 Demo,產出的內容會加上時間軸,所以這邊 August 也試著做出三種格:一般、時間軸、字幕檔。

完整程式碼如下,可以直接貼上 Colab:

from faster_whisper import WhisperModel
import os
from google.colab import files

model_size = "large-v2" # tiny, base, small, medium, large, large-v2, large-v3
mode = "normal" # normal 一般, timeline 加入時間軸, subtitle 產生成字幕檔格式

# Run on GPU with FP16
model = WhisperModel(model_size, device="cuda", compute_type="float16")

# 設定檔案路徑
audio_path = "/content/letswrite.mp3" # 替換成你的檔案名稱

segments, info = model.transcribe(audio_path, beam_size=5, initial_prompt="繁體")

transcription = ""

# 1 以下為一般版本
if mode == "normal":
transcription_segments = [segment.text for segment in segments]
transcription = ",".join(transcription_segments)

# 2 以下為加入時間軸版本
elif mode == "timeline":
for segment in segments:
transcription += "[%.2fs -> %.2fs] %sn" % (segment.start, segment.end, segment.text)

# 3 以下為產生字幕檔的版本
elif mode == "subtitle":
for i, segment in enumerate(segments, 1):
start_hours, start_remainder = divmod(segment.start, 3600)
start_minutes, start_seconds = divmod(start_remainder, 60)
end_hours, end_remainder = divmod(segment.end, 3600)
end_minutes, end_seconds = divmod(end_remainder, 60)
transcription += "%dn%02d:%02d:%06.3f --> %02d:%02d:%06.3fn%snn" % (
i,
start_hours, start_minutes, start_seconds,
end_hours, end_minutes, end_seconds,
segment.text
)

print(transcription)

# 獲取不帶副檔名的檔案名稱
file_name = os.path.splitext(os.path.basename(audio_path))[0]

# 將結果保存為txt檔案
with open(f"{file_name}.txt", "w") as file:
file.write(transcription)
files.download(f"{file_name}.txt")

貼上後,要修改的部份有三個。

model_size

這邊要寫的是,想要用哪種 model 來進行辨識。

目前 OpenAI 提供的 Whisper API 是 Large-V2,也確實 V2 就很好用了。

如果改用最新的 Large-V3,辨識時間會再久一點。

mode

mode 就是要產出什麼格式的檔案,分為:

  • normal:一般的格式,單純加上逗號去區分每一句。
  • timeline:加入時間軸。
  • subtitle:產生成字幕檔格式。

audio_path

audio_path 就是填寫要辨識的音檔路徑。

最後,附上完整的 Google Colab


結論

這篇算是上一篇的…外傳?就是一個補充寫法。

網路上如果搜尋一下 Google Golab Faster Whisper,就還蠻多人有做出厲害的範例。

這篇就分享給需要的棒油囉~

留言
avatar-img
留言分享你的想法!
avatar-img
Let's Write 的沙龍
9會員
19內容數
沙龍到底是…做什麼用的勒?
Let's Write 的沙龍的其他內容
2024/08/24
了解如何在 GitLab 中設置和使用 CodiumAI PR-Agent 進行 AI Code Review,自動檢查和改進程式碼。本文提供詳細步驟,包括環境設置、提交必要檔案,以及如何使用 OpenAI API Key 進行配置。
Thumbnail
2024/08/24
了解如何在 GitLab 中設置和使用 CodiumAI PR-Agent 進行 AI Code Review,自動檢查和改進程式碼。本文提供詳細步驟,包括環境設置、提交必要檔案,以及如何使用 OpenAI API Key 進行配置。
Thumbnail
2024/08/07
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
2024/08/07
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
2024/06/05
學習如何使用 Tensorflow.js 的 COCO-SSD 模型在網頁上進行圖片物件辨識,包括基本使用方法、進階應用及實作範例,輕鬆辨識圖片中的人數和物件。
Thumbnail
2024/06/05
學習如何使用 Tensorflow.js 的 COCO-SSD 模型在網頁上進行圖片物件辨識,包括基本使用方法、進階應用及實作範例,輕鬆辨識圖片中的人數和物件。
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
還記得我們之前介紹過「【Google Colab Python系列】 初探Whisper: 來一段Youtube影片進行語音辨識吧!」這套語音辨識引擎, 那為什麼我們又要教這一套? 因為我們也可以將whisper的模型轉換成onnx的格式, 輕鬆移植到各種平台, 且效能更佳。 語音辨識的熱門組件之
Thumbnail
還記得我們之前介紹過「【Google Colab Python系列】 初探Whisper: 來一段Youtube影片進行語音辨識吧!」這套語音辨識引擎, 那為什麼我們又要教這一套? 因為我們也可以將whisper的模型轉換成onnx的格式, 輕鬆移植到各種平台, 且效能更佳。 語音辨識的熱門組件之
Thumbnail
本文主要使用SpeechRecognition來做一個簡單的語音辨識,使用pyqt5介面呈現。 按下Start Recording,開始錄音,並顯示請開始說話。然後按鈕名改名Stop 在按下Stop Recording,稍等片刻後就會呈現出辨識結果​ 程式範例 import sys i
Thumbnail
本文主要使用SpeechRecognition來做一個簡單的語音辨識,使用pyqt5介面呈現。 按下Start Recording,開始錄音,並顯示請開始說話。然後按鈕名改名Stop 在按下Stop Recording,稍等片刻後就會呈現出辨識結果​ 程式範例 import sys i
Thumbnail
本文介紹如何設置OpenAI API密鑰並使用Whisper API轉寫音訊檔案。文章詳細說明了轉寫單個音訊檔案,以及將長音訊分割並轉寫的過程。透過範例演示,讀者可以學習如何將音訊轉寫為文字,提高工作效率。
Thumbnail
本文介紹如何設置OpenAI API密鑰並使用Whisper API轉寫音訊檔案。文章詳細說明了轉寫單個音訊檔案,以及將長音訊分割並轉寫的過程。透過範例演示,讀者可以學習如何將音訊轉寫為文字,提高工作效率。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
Thumbnail
本文提供如何使用 Google Colab 結合 Faster Whisper 來提升語音辨識速度與準確性,包含安裝指南與使用方法。探索如何將語音轉換為文本,並對檔案進行不同格式的輸出。
Thumbnail
本文提供如何使用 Google Colab 結合 Faster Whisper 來提升語音辨識速度與準確性,包含安裝指南與使用方法。探索如何將語音轉換為文本,並對檔案進行不同格式的輸出。
Thumbnail
ChatGPT最近更新了語音對話功能,同時推出了附屬功能Read out loud,讓對話更方便。使用者可以立刻知道英文單字的讀音和例句唸法,加上十秒重播功能,非常實用。
Thumbnail
ChatGPT最近更新了語音對話功能,同時推出了附屬功能Read out loud,讓對話更方便。使用者可以立刻知道英文單字的讀音和例句唸法,加上十秒重播功能,非常實用。
Thumbnail
本篇筆記了如何使用Google Colab和OpenAI的Whisper Large V3進行免費且開源的語音辨識。涵蓋從基礎設定到實際運用的步驟,適合初學者和技術愛好者輕鬆學習語音辨識技術。
Thumbnail
本篇筆記了如何使用Google Colab和OpenAI的Whisper Large V3進行免費且開源的語音辨識。涵蓋從基礎設定到實際運用的步驟,適合初學者和技術愛好者輕鬆學習語音辨識技術。
Thumbnail
上一篇「【Google Colab Python系列】 初探Whisper: 來對一段Youtube影片進行辨識吧!」我們介紹了Whisper的基本用法及功能,這次我們除了語音辨識之外,還要下載辨識後的字幕檔,我想這對於我們常常看到沒有字幕的影片,若想要進行辨識與翻譯時非常有幫助。 這次的篇章主要做
Thumbnail
上一篇「【Google Colab Python系列】 初探Whisper: 來對一段Youtube影片進行辨識吧!」我們介紹了Whisper的基本用法及功能,這次我們除了語音辨識之外,還要下載辨識後的字幕檔,我想這對於我們常常看到沒有字幕的影片,若想要進行辨識與翻譯時非常有幫助。 這次的篇章主要做
Thumbnail
這個篇章主要是讓我們能夠熟悉Whisper的安裝與使用方式,並簡單的對Youtube影片進行線上翻譯的工作,主軸在於了解一下整個Whisper使用方式到底是簡單還是複雜,就讓我們一起來玩玩看吧! 在這之前我們還是說一下Whisper它是什麼樣的一個工具,能夠做什麼? Whisper 是OpenAI
Thumbnail
這個篇章主要是讓我們能夠熟悉Whisper的安裝與使用方式,並簡單的對Youtube影片進行線上翻譯的工作,主軸在於了解一下整個Whisper使用方式到底是簡單還是複雜,就讓我們一起來玩玩看吧! 在這之前我們還是說一下Whisper它是什麼樣的一個工具,能夠做什麼? Whisper 是OpenAI
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News