語音識別是計算機軟體識別口語中的單詞和短語,並將其轉換為可讀文本的能力。那麼如何在 Python 中將語音轉換為文本?如何使用 SpeechRecognition 庫在 Python 中將語音轉換為文本?我們不需要從頭開始構建任何機器學習模型,該庫為我們提供了各種著名的公共語音識別 API 的便捷包裝。
使用 pip 安裝庫:
pip3 install SpeechRecognition
Okey,打開一個新的 Python 文件並導入它:
import speech_recognition as sr
從文件讀取
確保當前目錄中有一個包含英語語音的音頻文件 (如果您想跟我一起學習,請在此處獲取音頻文件):
filename = 「speech.wav」
該文件是從 LibriSpeech 數據集中獲取的,但是您可以帶上任何想要的東西,只需更改文件名,就可以初始化語音識別器:
open the filewith sr.AudioFile(filename) as source:www.zpedu.com/
recognize (convert from speech to text)
text = r.recognize_google(audio_data)
print(text)
這需要幾秒鐘才能完成,因為它將文件上傳到 Google 並獲取了輸出,這是我的結果:
I believe you’re just talking nonsense
從麥克風讀取
這需要在您的計算機中安裝 PyAudio,以下是取決於您的作業系統的安裝過程:
視窗
您可以點安裝它:
pip3 install pyaudio
的 Linux
您需要首先安裝依賴項:
sudo apt-get install python-pyaudio python3-pyaudio
pip3 install pyaudio
蘋果系統
您需要先安裝 portaudio,然後才可以點安裝它:
brew install portaudio
pip3 install pyaudio
現在,讓我們使用麥克風轉換語音:
with sr.Microphone() as source:
convert speech to text
text = r.recognize_google(audio_data)
print(text)
這會從您的麥克風聽到 5 秒鐘,然後嘗試將該語音轉換為文本!
它與先前的代碼非常相似,但是我們在這裡使用 Microphone () 對象從默認麥克風讀取音頻,然後在 record () 函數中使用 duration 參數在 5 秒後停止讀取,然後上傳音頻數據向 Google 獲取輸出文本。
您還可以在 record () 函數中使用 offset 參數在偏移幾秒鐘後開始記錄。
另外,您可以通過將語言參數傳遞給 accept_google () 函數來識別不同的語言。例如,如果您想識別西班牙語語音,則可以使用:
text = r.recognize_google(audio_data, language=」es-ES」)
最後,小編想說:我是一名python開發工程師,
整理了一套最新的python系統學習教程,
想要這些資料的可以關注私信小編「01」即可(免費分享哦)希望能對你有所幫助