自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何用Wav2Vec 2.0將語(yǔ)音轉(zhuǎn)換成文本

譯文
開(kāi)發(fā) 前端
Facebook最近引入并開(kāi)源了新框架:Wav2Vec 2.0,該框架用于自我監(jiān)督學(xué)習(xí)來(lái)自原始音頻數(shù)據(jù)的表示形式。本文介紹了它以及如何使用它。

【51CTO.com快譯】我之前解釋了如何借助谷歌語(yǔ)音識(shí)別API,使用Speech Recognition庫(kù)將語(yǔ)音轉(zhuǎn)換成文本。本文介紹如何使用Facebook Wav2Vec 2.0模型將語(yǔ)音轉(zhuǎn)換成文本。

Facebook最近引入并開(kāi)源了新框架:Wav2Vec 2.0,該框架用于自我監(jiān)督學(xué)習(xí)來(lái)自原始音頻數(shù)據(jù)的表示形式。Facebook研究人員聲稱,該框架使用僅10分鐘長(zhǎng)的轉(zhuǎn)錄語(yǔ)音數(shù)據(jù),即可支持自動(dòng)語(yǔ)音識(shí)別模型。

眾所周知,Transformer在自然語(yǔ)言處理中扮演著重要角色。Hugging Face Transformer的最新版本是4.30,它隨帶Wav2Vec 2.0。這是Transformer包含的第一個(gè)自動(dòng)語(yǔ)音識(shí)別語(yǔ)音模型。

模型架構(gòu)不在本文的討論范圍之內(nèi)。有關(guān)Wav2Vec模型架構(gòu)的詳細(xì)信息,請(qǐng)參閱此處。

不妨看看如何使用Hugging Face Transformer將音頻文件轉(zhuǎn)換成文本,附有幾行簡(jiǎn)單的代碼。

安裝Transformer庫(kù)

  1. # Installing Transformer 
  2. !pip install -q transformers 

導(dǎo)入必要的庫(kù)

  1. # Import necessary library 
  2.  
  3. For managing audio file 
  4. import librosa 
  5.  
  6. #Importing Pytorch 
  7. import torch 
  8.  
  9. #Importing Wav2Vec 
  10. from transformers import Wav2Vec2ForCTC, Wav2Vec2Tokenizer 

Wav2Vec2是一種語(yǔ)音模型,接受與語(yǔ)音信號(hào)的原始波形相對(duì)應(yīng)的浮點(diǎn)數(shù)組。 Wav2Vec2模型使用連接時(shí)序分類(lèi)(CTC)加以訓(xùn)練,因此須使用Wav2Vec2Tokenizer對(duì)模型輸出進(jìn)行解碼(參閱:https://huggingface.co/transformers/model_doc/wav2vec2.html)。

讀取音頻文件

在這個(gè)例子中,我使用了電影《颶風(fēng)營(yíng)救》中主人公的對(duì)話音頻片段“我會(huì)尋找你,我會(huì)找到你,我會(huì)殺了你”。

請(qǐng)注意,Wav2Vec模型已在16 kHz頻率上進(jìn)行了預(yù)訓(xùn)練,因此我們確保將原始音頻文件也重新采樣為16 kHz采樣率。我使用在線音頻工具轉(zhuǎn)換將《颶風(fēng)營(yíng)救》的音頻片段重新采樣為16kHz。

使用librosa庫(kù)加載音頻文件,并提到我的音頻片段大小為16000 Hz。它將音頻片段轉(zhuǎn)換成數(shù)組,并存儲(chǔ)在“audio”變量中。

  1. # Loading the audio file 
  2. audio, rate = librosa.load("taken_clip.wav", sr = 16000) 
  3.  
  4. # printing audio  
  5. print(audio) 
  6. array([0., 0., 0., ..., 0., 0., 0.], dtype=float32) 
  7.  
  8. # printing rate 
  9. print(rate) 
  10. 16000 

導(dǎo)入預(yù)訓(xùn)練的Wav2Vec模型

  1. # Importing Wav2Vec pretrained model 
  2. tokenizer = Wav2Vec2Tokenizer.from_pretrained("facebook/wav2vec2-base-960h"
  3. model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-base-960h"

下一步是獲取輸入值,將音頻(數(shù)組)傳遞到分詞器(tokenizer),我們希望tensor是采用PyTorch格式,而不是Python整數(shù)格式。return_tensors =“pt”,這就是PyTorch格式。

  1. # Taking an input value 
  2.  
  3. input_values = tokenizer(audio, return_tensors = "pt").input_values 

獲取logit值(非規(guī)范化值)

  1. # Storing logits (non-normalized prediction values
  2.  
  3. logits = model(input_values).logits 

將logit值傳遞給softmax以獲取預(yù)測(cè)值。

  1. # Storing predicted ids 
  2. prediction = torch.argmax(logits, dim = -1) 

將音頻轉(zhuǎn)換成文本

最后一步是將預(yù)測(cè)傳遞給分詞器解碼以獲得轉(zhuǎn)錄。

  1. # Passing the prediction to the tokenzer decode to get the transcription 
  2. transcription = tokenizer.batch_decode(prediction)[0] 
  3.  
  4. # Printing the transcription 
  5. print(transcription) 
  6. 'I WILL LOOK FOR YOU I WILL FIND YOU  AND I WILL KILL YOU' 

它與我們的音頻片段完全匹配。

我們?cè)诒疚闹锌吹搅巳绾问褂肳av2Vec預(yù)訓(xùn)練模型和Transformers將語(yǔ)音轉(zhuǎn)換成文本。這對(duì)于NLP項(xiàng)目特別是處理音頻轉(zhuǎn)錄數(shù)據(jù)非常有幫助。

您可以在我的GitHub代碼庫(kù)中找到整段代碼和數(shù)據(jù)。

原文標(biāo)題:Speech to Text with Wav2Vec 2.0,作者:Dhilip Subramanian

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2023-11-09 09:00:00

OpenAI人工智能Whisper

2022-06-02 15:10:35

AI數(shù)據(jù)模型

2019-09-06 08:00:00

開(kāi)源技術(shù) 語(yǔ)音

2023-10-20 08:00:00

人工智能MusicGen

2021-08-31 09:12:18

StringIntLong

2022-10-12 08:00:00

語(yǔ)音識(shí)別Node.js音頻質(zhì)量

2019-12-13 09:48:48

開(kāi)源技術(shù) 軟件

2023-08-29 09:00:00

人工智能img2prompt

2011-02-25 10:22:03

ibmdwXMLDB2

2021-06-07 17:30:23

LinuxASCII圖片轉(zhuǎn)換

2021-07-14 14:50:08

LinuxASCII圖片

2011-12-09 21:13:29

iOS

2023-05-23 14:01:29

模型開(kāi)源

2022-07-19 10:53:57

模型算法智能

2011-08-02 09:46:04

iOS開(kāi)發(fā) XML 樹(shù)

2011-08-02 10:08:32

IOS開(kāi)發(fā) XML 樹(shù)

2023-12-11 09:00:00

人工智能3D模型

2022-10-12 09:55:14

xls文件xlsx文件

2017-08-10 14:15:31

Windows10Windows文件轉(zhuǎn)換

2020-11-14 16:04:17

前端.md文件html文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)