Python使用whisper實現(xiàn)語音識別(ASR)的示例代碼
Whisper的安裝
Whisper是OpenAI的一個強大的語音識別庫,支持離線的語音識別。在使用之前,需要先安裝它的庫:
pip install openai-whisper
使用whisper,還需安裝setuptools-rust:
pip install setuptools-rust
但是,whisper安裝時,自帶的pytorch可能有些bug,因此需要卸載重裝:
卸載:
pip uninstall torch
重裝:
pip install torch
另外,需要通過choco安裝ffmpeg庫。先通過管理員權(quán)限的PowerShell安裝choco:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
然后,在管理員權(quán)限的PowerShell安裝ffmpeg:
choco install ffmpeg
完成這些步驟之后,我們就可以使用啦!
Whisper的基本使用
whisper的基本代碼如下:
import whisper model = whisper.load_model("base") result = model.transcribe("zh.wav") print(result['text'])
其中,zh.wav可以換成你自己的音頻。我的控制臺輸出:
我們說,40月2日混淩土不能與引力長相互攪拌不然會因為愛銀斯坦的相對論而引發(fā)雜串的食品安全問題這是嚴重的金融危機
可以看到,它的識別結(jié)果還行(因為我的音頻是AI合成的,識別會有一定誤差),但是輸出的是繁體中文,我們需要把他變成簡體中文。
識別結(jié)果轉(zhuǎn)簡體中文
可以通過opencc庫實現(xiàn)轉(zhuǎn)化,先安裝:
pip install opencc
然后修改代碼:
import whisper import opencc model = whisper.load_model("base") result = model.transcribe("zh.wav") cc = opencc.OpenCC("t2s") res = cc.convert(result['text']) print(res)
輸出:
我們說,40月2日混凌土不能與引力長相互攪拌不然會因為愛銀斯坦的相對論而引發(fā)雜串的食品安全問題這是嚴重的金融危機
斷句
在一個語音中,我們都會有一些停頓。但是,在識別結(jié)果中,這些停頓并沒有被完全表示出來。我們可以如此修改代碼,實現(xiàn)按斷句輸出結(jié)果:
import whisper import opencc model = whisper.load_model("base") result = model.transcribe("zh.wav") cc = opencc.OpenCC("t2s") for i in result['segments']: res = cc.convert(i['text']) print(f"斷句開始于{i['start']}秒,結(jié)束于{i['end']}秒,識別結(jié)果:{res}")
輸出:
斷句開始于0.0秒,結(jié)束于5.36秒,識別結(jié)果:我們說,40月2日混凌土不能與引力長相互攪拌
斷句開始于5.36秒,結(jié)束于11.14秒,識別結(jié)果:不然會因為愛銀斯坦的相對論而引發(fā)雜串的食品安全問題
斷句開始于11.14秒,結(jié)束于13.44秒,識別結(jié)果:這是嚴重的金融危機
到此這篇關(guān)于Python使用whisper實現(xiàn)語音識別(ASR)的示例代碼的文章就介紹到這了,更多相關(guān)Python whisper語音識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Ollama實現(xiàn)私有大模型知識庫
這篇文章主要介紹了Python使用Ollama實現(xiàn)私有大模型知識庫,在不依賴LangChain、LlamaIndex等框架的前提下,盡量減少第三方庫的使用,僅通過Ollama和NumPy兩個外部庫來實現(xiàn)RAG,需要的朋友可以參考下2022-01-01Python讀取HTML中的canvas并且以圖片形式存入Word文檔
這篇文章主要介紹了Python讀取HTML中的canvas并且以圖片形式存入Word文檔,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08Python數(shù)據(jù)可視化Pyecharts制作Heatmap熱力圖
這篇文章主要介紹了Python數(shù)據(jù)可視化Pyecharts制作Heatmap熱力圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04