成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何用Wav2Vec 2.0將語音轉換成文本

譯文
開發 前端
Facebook最近引入并開源了新框架:Wav2Vec 2.0,該框架用于自我監督學習來自原始音頻數據的表示形式。本文介紹了它以及如何使用它。

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

Facebook最近引入并開源了新框架:Wav2Vec 2.0,該框架用于自我監督學習來自原始音頻數據的表示形式。Facebook研究人員聲稱,該框架使用僅10分鐘長的轉錄語音數據,即可支持自動語音識別模型。

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

模型架構不在本文的討論范圍之內。有關Wav2Vec模型架構的詳細信息,請參閱此處

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

安裝Transformer庫

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

導入必要的庫

  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是一種語音模型,接受與語音信號的原始波形相對應的浮點數組。 Wav2Vec2模型使用連接時序分類(CTC)加以訓練,因此須使用Wav2Vec2Tokenizer對模型輸出進行解碼(參閱:https://huggingface.co/transformers/model_doc/wav2vec2.html)。

讀取音頻文件

在這個例子中,我使用了電影《颶風營救》中主人公的對話音頻片段“我會尋找你,我會找到你,我會殺了你”。

請注意,Wav2Vec模型已在16 kHz頻率上進行了預訓練,因此我們確保將原始音頻文件也重新采樣為16 kHz采樣率。我使用在線音頻工具轉換將《颶風營救》的音頻片段重新采樣為16kHz。

使用librosa庫加載音頻文件,并提到我的音頻片段大小為16000 Hz。它將音頻片段轉換成數組,并存儲在“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 

導入預訓練的Wav2Vec模型

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

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

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

獲取logit值(非規范化值)

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

將logit值傳遞給softmax以獲取預測值。

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

將音頻轉換成文本

最后一步是將預測傳遞給分詞器解碼以獲得轉錄。

  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' 

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

我們在本文中看到了如何使用Wav2Vec預訓練模型和Transformers將語音轉換成文本。這對于NLP項目特別是處理音頻轉錄數據非常有幫助。

您可以在我的GitHub代碼庫中找到整段代碼和數據。

原文標題:Speech to Text with Wav2Vec 2.0,作者:Dhilip Subramanian

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:華軒 來源: 51CTO
相關推薦

2023-11-09 09:00:00

OpenAI人工智能Whisper

2022-06-02 15:10:35

AI數據模型

2019-09-06 08:00:00

開源技術 語音

2023-10-20 08:00:00

人工智能MusicGen

2021-08-31 09:12:18

StringIntLong

2019-12-13 09:48:48

開源技術 軟件

2022-10-12 08:00:00

語音識別Node.js音頻質量

2023-08-29 09:00:00

人工智能img2prompt

2023-05-23 14:01:29

模型開源

2021-07-14 14:50:08

LinuxASCII圖片

2011-02-25 10:22:03

ibmdwXMLDB2

2011-12-09 21:13:29

iOS

2021-06-07 17:30:23

LinuxASCII圖片轉換

2023-12-11 09:00:00

人工智能3D模型

2011-08-02 09:46:04

iOS開發 XML

2011-08-02 10:08:32

IOS開發 XML

2022-07-19 10:53:57

模型算法智能

2022-10-12 09:55:14

xls文件xlsx文件

2017-08-10 14:15:31

Windows10Windows文件轉換

2020-11-14 16:04:17

前端.md文件html文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久亚洲精品 | 欧美国产91 | 谁有毛片 | 久久成人一区 | 成人在线一区二区三区 | 日本xx视频免费观看 | 爱高潮www亚洲精品 中文字幕免费视频 | 色啪网| 91精品国产色综合久久不卡98口 | 一级毛片视频 | 亚洲高清视频一区二区 | 天天射天天干 | 精品美女视频在线观看免费软件 | av网站在线看| 日韩成人在线观看 | 日韩电影一区二区三区 | 欧美午夜一区 | 一区二区三区在线播放视频 | 国产成人小视频 | 色婷婷久久久久swag精品 | 一级在线毛片 | 精品视频一区二区三区四区 | a免费视频 | aaa精品 | 一区二区视频在线 | 久久九九免费 | 美女一级黄 | 欧美成人精品一区 | 夜夜草 | 久久国产精品一区二区三区 | 日韩欧美在线一区 | 五月天婷婷丁香 | 国产美女久久 | 美女福利网站 | 人人干人人干人人干 | 99久久精品国产毛片 | 国产亚洲精品久久久久动 | 在线观看亚洲专区 | 欧美中文字幕在线 | 日本国产一区二区 | 人成在线 |