成人免费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圖片轉換

2022-10-12 09:55:14

xls文件xlsx文件

2022-07-19 10:53:57

模型算法智能

2011-08-02 10:08:32

IOS開發 XML

2011-08-02 09:46:04

iOS開發 XML

2023-12-11 09:00:00

人工智能3D模型

2017-08-10 14:15:31

Windows10Windows文件轉換

2020-11-14 16:04:17

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

51CTO技術棧公眾號

主站蜘蛛池模板: 成人亚洲精品久久久久软件 | 天天干天天草 | 亚洲精品乱码8久久久久久日本 | 久久精品小视频 | 欧美精品综合在线 | 日本一区二区三区精品视频 | 欧美成人性生活 | 偷拍自拍网站 | 人人看人人搞 | 国产乱肥老妇国产一区二 | 日本久久网站 | 亚洲毛片 | 欧美在线观看一区 | 亚洲精品一区中文字幕乱码 | 久久成人一区 | 日韩在线中文 | 亚洲网在线 | 国产黄视频在线播放 | aaaa网站 | 成人a视频 | 成人动慢| 亚洲欧美中文日韩在线v日本 | 请别相信他免费喜剧电影在线观看 | 91麻豆精品国产91久久久资源速度 | 成人免费视频 | 日韩久久中文字幕 | 日韩av啪啪网站大全免费观看 | 久久久久久99 | 99tv成人影院 | 亚洲精品电影网在线观看 | 在线观看黄视频 | 91最新在线视频 | 欧美精品在线免费观看 | 亚洲欧美网站 | 亚洲性视频| 欧美在线 | 人人射人人 | 亚洲欧美日韩久久 | 国产午夜精品久久久 | 青青草中文字幕 | 免费观看一级特黄欧美大片 |