目錄
安裝
語音識別
補全標點
語音合成
參考
PaddleSpeech是百度飛槳開發(fā)的語音工具
安裝
注意,PaddleSpeech不支持過高版本的Python,因為在高版本的Python中,飛槳不再提供paddle.fluid API。這里面我用的是Python3.7
需要通過3個pip命令安裝PaddleSpeech:
pip install paddlepaddle==2.4.2
pip install pytest-runner
pip install paddlespeech
在使用的時候,urllib3庫可能會報錯,因此需要對它進行降級:
pip uninstall urllib3
pip install urllib3==1.26.18
語音識別
PaddleSpeech的語音識別非常簡單:
from paddlespeech.cli.asr.infer import ASRExecutor
asr = ASRExecutor()
result = asr(audio_file="zh.wav")
print(result)
輸出:
我們說四十二號混凝土不能與引力場相互攪拌不然會因為愛因斯坦的相對論而引發(fā)炸串的食品安全問題這是嚴重的金融危機
可以看到,這里面沒有標點符號。我們可以通過TextExecutor()補全標點
補全標點
在補全標點之前,需要在C:\Users\<你的用戶名>\AppData\Roaming下創(chuàng)建一個nltk_data文件夾,然后將這個鏈接里面的文件夾都復制進去:
項目目錄預覽 - nltk_data - GitCode
?接下來從tokenizers文件夾下找到punkt.zip文件,然后將這個zip文件里的punkt文件夾復制到nltk_data文件夾里。
?這樣我們就做好了補全標點前的準備。
補全標點也很簡單,它的基礎用法如下:
from paddlespeech.cli.text.infer import TextExecutor
text_punc = TextExecutor()
result = text_punc(text=u"今天的天氣真不錯啊你下午有空嗎我想約你一起去吃飯")
print(result)
輸出:
今天的天氣真不錯啊!你下午有空嗎?我想約你一起去吃飯。
?我們可以將補全標點和語音識別結合起來:
from paddlespeech.cli.asr.infer import ASRExecutor
from paddlespeech.cli.text.infer import TextExecutor
text_punc = TextExecutor()
asr = ASRExecutor()
asr_result = asr(audio_file="zh.wav")
result = text_punc(text=asr_result)
print(result)
?輸出:
我們說,四十二號混凝土不能與引力場相互攪拌,不然,會因為愛因斯坦的相對論,而引發(fā)炸串的食品安全問題,這是嚴重的金融危機。
語音合成
語音合成可以使用TTSExecutor:
from paddlespeech.cli.tts.infer import TTSExecutor
tts = TTSExecutor()
tts(text="今天天氣十分不錯。", output="output.wav")
最后會在當前目錄下生成一個output.wav音頻?
參考
PaddleSpeech: Easy-to-use Speech Toolkit including SOTA ASR pipeline, influential TTS with text frontend and End-to-End Speech Simultaneous Translation. (gitee.com)
[TTS]我運行語音專文本的示例代碼報錯 · Issue #3488 · PaddlePaddle/PaddleSpeech · GitHub?文章來源:http://www.zghlxwxcb.cn/news/detail-857253.html
nltk包下載慢的解決方案(總結)_nltk download太慢-CSDN博客?文章來源地址http://www.zghlxwxcb.cn/news/detail-857253.html
到了這里,關于Python使用PaddleSpeech實現(xiàn)語音識別(ASR)、語音合成(TTS)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!