語音辨識是人工智慧中的一個領域,它允許電腦理解人類語音並將其轉換為文字。該技術用於 Alexa 和各種聊天機器人應用程式等設備。而我們最常見的就是語音轉錄,語音轉錄可以語音轉換成文字記錄或字幕。
wav2vec2、Conformer 和 Hubert 等最先進模型的最新發展極大地推動了語音辨識領域的發展。這些模型採用無需人工標記資料即可從原始音訊中學習的技術,使它們能夠有效地使用未標記語音的大型資料集。它們也被擴展為使用多達1,000,000 小時的訓練數據,遠遠超過學術監督數據集中使用的傳統1,000 小時,但是以監督方式跨多個數據集和領域預訓練的模型已被發現表現出更好的穩健性和對持有資料集的泛化,所以執行語音辨識等任務仍然需要微調,這限制了它們的全部潛力。為了解決這個問題OpenAI 發展了 Whisper,一種利用弱監督方法的模型。
本文將說明用於訓練的資料集的種類以及模型的訓練方法,以及如何使用Whisper
Whisper 模型介紹
使用資料集:
Whisper模型是在68萬小時標記音訊資料的資料集上訓練的,其中包括11.7萬小時96種不同語言的演講和12.5萬小時從」任意語言「到英語的翻譯資料。該模型利用了互聯網生成的文本,這些文本是由其他自動語音識別系統(ASR)生成而不是人類創建的。該資料集還包括一個在VoxLingua107上訓練的語言偵測器,這是從YouTube影片中提取的短語音片段的集合,並根據影片標題和描述的語言進行標記,並帶有額外的步驟來去除誤報。
模型:
主要採用的結構是編碼器-解碼器結構。
重採樣:16000 Hz
特徵擷取方法:使用25毫秒的視窗和10毫秒的步幅計算80通道的log Mel譜圖表示。
特徵歸一化:輸入在全域內縮放到-1到1之間,並且在預訓練資料集上具有近似為零的平均值。
編碼器/解碼器:此模型的編碼器和解碼器採用Transformers。
編碼器的過程:
編碼器首先使用一個包含兩個卷積層(濾波器寬度為3)的詞幹處理輸入表示,並使用GELU啟動函數。
第二個卷積層的步幅為 2。
然後將正弦位置嵌入新增到詞幹的輸出中,然後套用編碼器 Transformer 區塊。
Transformers使用預先啟動殘差塊,編碼器的輸出使用歸一化層進行歸一化。
模型框圖:
解碼的過程:
在解碼器中,使用了學習位置嵌入和綁定輸入輸出標記表示。
編碼器和解碼器具有相同的寬度和數量的Transformers區塊。
訓練
為了改進模型的縮放屬性,它在不同的輸入大小上進行了訓練。
透過 FP16、動態損失縮放,並採用資料並行來訓練模型。
使用AdamW和梯度範數裁剪,在對前 2048 次更新進行預熱後,線性學習率衰減為零。
使用 256 個批次大小,並訓練模型進行 220次更新,這相當於對資料集進行兩到三次前向傳遞。
由於模型只訓練了幾個輪次,過度擬合不是一個重要問題,並且沒有使用資料增強或正規化技術。這反而可以依靠大型資料集內的多樣性來促進泛化和魯棒性。
Whisper 在先前使用過的資料集上展示了良好的準確性,並且已經針對其他最先進的模型進行了測試。
優點:
- Whisper 已經在真實資料以及其他模型上使用的資料以及弱監督下進行了訓練。
- 模型的準確性針對人類聽眾進行了測試並評估其表現。
- 它能夠偵測清音區域並應用 NLP 技術在轉錄本中正確進行標點符號的輸入。
- 模型是可擴展的,允許從音訊訊號中提取轉錄本,而無需將視訊分成區塊或批次,從而降低了漏音的風險。
- 模型在各種資料集上取得了更高的準確率。
Whisper在不同資料集上的比較結果,相較於wav2vec取得了目前最低的字錯誤率
模型沒有在timit資料集上進行測試,所以為了檢查它的單字錯誤率,我們將在這裡示範如何使用Whisper來自行驗證timit資料集,也就是說使用Whisper來建立我們自己的語音辨識應用。
使用Whisper 模型進行語音辨識
TIMIT 閱讀語音語料庫是語音資料的集合,它專門用於聲學語音研究以及自動語音辨識系統的開發和評估。它包括來自美國英語八種主要方言的 630 位演講者的錄音,每人朗讀十個語音豐富的句子。語料庫包括時間對齊的拼字、語音和單字轉錄以及每個語音的 16 位元、16kHz 語音波形檔案。該語料庫由麻省理工學院 (MIT)、SRI International (SRI) 和德州儀器 (TI) 共同開發。 TIMIT 語料庫轉錄已手動驗證,並指定了測試和訓練子集,以平衡語音和方言覆蓋範圍。
安裝:
!pip install git+https://github.com/openai/whisper.git !pip install jiwer !pip install datasets==1.18.3
第一條指令將安裝whisper模型所需的所有相依性。 jiwer是用來下載文字錯誤率包的datasets是hugface提供的資料集包,可以下載timit資料集。
導入庫
import whisper from pytube import YouTube from glob import glob import os import pandas as pd from tqdm.notebook import tqdm
載入timit資料集
from datasets import load_dataset, load_metric timit = load_dataset("timit_asr")
計算不同模型尺寸下的Word錯誤率
考慮到過濾英文資料和非英文數據的需求,我們在這裡選擇使用多語言模型,而不是專門為英語設計的模型。
但是TIMIT資料集是純英文的,所以我們要應用相同的語言偵測和辨識過程。另外就是TIMIT資料集已經分割好訓練和驗證集,我們可以直接使用。
要使用Whisper,我們就要先了解不同模型的參數,大小和速度。
載入模型
model = whisper.load_model('tiny')
tiny可以替換為上面提到的模型名稱。
定義語言偵測器的函數
def lan_detector(audio_file): print('reading the audio file') audio = whisper.load_audio(audio_file) audio = whisper.pad_or_trim(audio) mel = whisper.log_mel_spectrogram(audio).to(model.device) _, probs = model.detect_language(mel) if max(probs, key=probs.get) == 'en': return True return False
轉換語音到文字的函數
def speech2text(audio_file): text = model.transcribe(audio_file) return text["text"]
在不同模型大小下運行上面的函數,timit訓練和測試得到的單字錯誤率如下:
從u2b轉錄語音
#與其他語音辨識模型相比,Whisper 不僅能辨識語音,還能解讀一個人語音中的標點語調,並插入適當的標點符號,我們下面使用u2b的影片進行測試。
這裡就需要一個套件pytube,它可以輕鬆的幫助我們下載和提取音訊
def youtube_audio(link): youtube_1 = YouTube(link) videos = youtube_1.streams.filter(only_audio=True) name = str(link.split('=')[-1]) out_file = videos[0].download(name) link = name.split('=')[-1] new_filename = link+".wav" print(new_filename) os.rename(out_file, new_filename) print(name) return new_filename,link
獲得wav檔案後,我們就可以應用上面的函數從中提取文字。
總結
本文的程式碼在這裡
https://drive.google.com/file/d/1FejhGseX_S1Ig_Y5nIPn1OcHN8DLFGIO/view
還有許多操作可以用Whisper完成,你可以依照本文的程式碼自行嘗試。
以上是使用OpenAI的Whisper 模型進行語音識別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

介紹 恭喜!您經營一家成功的業務。通過您的網頁,社交媒體活動,網絡研討會,會議,免費資源和其他來源,您每天收集5000個電子郵件ID。下一個明顯的步驟是

介紹 在當今快節奏的軟件開發環境中,確保最佳應用程序性能至關重要。監視實時指標,例如響應時間,錯誤率和資源利用率可以幫助MAIN

“您有幾個用戶?”他扮演。 阿爾特曼回答說:“我認為我們上次說的是每週5億個活躍者,而且它正在迅速增長。” “你告訴我,就像在短短幾週內翻了一番,”安德森繼續說道。 “我說那個私人

介紹 Mistral發布了其第一個多模式模型,即Pixtral-12b-2409。該模型建立在Mistral的120億參數Nemo 12B之上。是什麼設置了該模型?現在可以拍攝圖像和Tex

想像一下,擁有一個由AI驅動的助手,不僅可以響應您的查詢,還可以自主收集信息,執行任務甚至處理多種類型的數據(TEXT,圖像和代碼)。聽起來有未來派?在這個a


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),