使用Python將語(yǔ)音轉(zhuǎn)換為文本的方法
語(yǔ)音識(shí)別是計(jì)算機(jī)軟件識(shí)別口語(yǔ)中的單詞和短語(yǔ),并將其轉(zhuǎn)換為可讀文本的能力。那么如何在 Python 中將語(yǔ)音轉(zhuǎn)換為文本?如何使用 SpeechRecognition 庫(kù)在 Python 中將語(yǔ)音轉(zhuǎn)換為文本?我們不需要從頭開(kāi)始構(gòu)建任何機(jī)器學(xué)習(xí)模型,該庫(kù)為我們提供了各種著名的公共語(yǔ)音識(shí)別 API 的便捷包裝。
使用 pip 安裝庫(kù):
pip3 install SpeechRecognition
Okey,打開(kāi)一個(gè)新的 Python 文件并導(dǎo)入它:
import speech_recognition as sr
從文件讀取
確保當(dāng)前目錄中有一個(gè)包含英語(yǔ)語(yǔ)音的音頻文件 (如果您想跟我一起學(xué)習(xí),請(qǐng)?jiān)诖颂帿@取音頻文件):
filename = “speech.wav”
該文件是從 LibriSpeech 數(shù)據(jù)集中獲取的,但是您可以帶上任何想要的東西,只需更改文件名,就可以初始化語(yǔ)音識(shí)別器:
# initialize the recognizer r = sr.Recognizer()
以下代碼負(fù)責(zé)加載音頻文件,并使用 Google Speech Recognition 將語(yǔ)音轉(zhuǎn)換為文本:
# open the filewith sr.AudioFile(filename) as source:www.zpedu.com/ # listen for the data (load audio to memory) audio_data = r.record(source) # recognize (convert from speech to text) text = r.recognize_google(audio_data) print(text)
這需要幾秒鐘才能完成,因?yàn)樗鼘⑽募蟼鞯?Google 并獲取了輸出,這是我的結(jié)果:
I believe you're just talking nonsense
從麥克風(fēng)讀取
這需要在您的計(jì)算機(jī)中安裝 PyAudio,以下是取決于您的操作系統(tǒng)的安裝過(guò)程:
視窗
您可以點(diǎn)安裝它:
pip3 install pyaudio
的 Linux
您需要首先安裝依賴項(xiàng):
sudo apt-get install python-pyaudio python3-pyaudio pip3 install pyaudio
蘋(píng)果系統(tǒng)
您需要先安裝 portaudio,然后才可以點(diǎn)安裝它:
brew install portaudio pip3 install pyaudio
現(xiàn)在,讓我們使用麥克風(fēng)轉(zhuǎn)換語(yǔ)音:
with sr.Microphone() as source: # read the audio data from the default microphone audio_data = r.record(source, duration=5) print(“Recognizing…”) # convert speech to text text = r.recognize_google(audio_data) print(text)
這會(huì)從您的麥克風(fēng)聽(tīng)到 5 秒鐘,然后嘗試將該語(yǔ)音轉(zhuǎn)換為文本!
它與先前的代碼非常相似,但是我們?cè)谶@里使用 Microphone () 對(duì)象從默認(rèn)麥克風(fēng)讀取音頻,然后在 record () 函數(shù)中使用 duration 參數(shù)在 5 秒后停止讀取,然后上傳音頻數(shù)據(jù)向 Google 獲取輸出文本。
您還可以在 record () 函數(shù)中使用 offset 參數(shù)在偏移幾秒鐘后開(kāi)始記錄。
另外,您可以通過(guò)將語(yǔ)言參數(shù)傳遞給 accept_google () 函數(shù)來(lái)識(shí)別不同的語(yǔ)言。例如,如果您想識(shí)別西班牙語(yǔ)語(yǔ)音,則可以使用:
text = r.recognize_google(audio_data, language=”es-ES”)
總結(jié)
到此這篇關(guān)于使用Python將語(yǔ)音轉(zhuǎn)換為文本的方法的文章就介紹到這了,更多相關(guān)python語(yǔ)音轉(zhuǎn)換文本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)銀行賬戶系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)銀行賬戶系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02Scrapy基于Python構(gòu)建強(qiáng)大網(wǎng)絡(luò)爬蟲(chóng)框架實(shí)例探究
這篇文章主要為大家介紹了Scrapy基于Python構(gòu)建強(qiáng)大網(wǎng)絡(luò)爬蟲(chóng)框架實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01采用Psyco實(shí)現(xiàn)python執(zhí)行速度提高到與編譯語(yǔ)言一樣的水平
這篇文章主要介紹了采用Psyco實(shí)現(xiàn)python執(zhí)行速度提高到與編譯語(yǔ)言一樣的水平的方法,是非常實(shí)用的Python第三方庫(kù),需要的朋友可以參考下2014-10-10pandas.dataframe中根據(jù)條件獲取元素所在的位置方法(索引)
今天小編就為大家分享一篇pandas.dataframe中根據(jù)條件獲取元素所在的位置方法(索引),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python實(shí)現(xiàn)梯度法 python最速下降法
這篇文章主要為大家詳細(xì)介紹了python梯度法,最速下降法的原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03Python random模塊(獲取隨機(jī)數(shù))常用方法和使用例子
這篇文章主要介紹了Python random模塊(獲取隨機(jī)數(shù))常用方法和使用例子,需要的朋友可以參考下2014-05-05Python一行代碼識(shí)別發(fā)票并保存Excel示例詳解
這篇文章主要為大家介紹了Python一行代碼識(shí)別發(fā)票并保存Excel示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python詞云庫(kù)wordCloud使用方法詳解(解決中文亂碼)
這篇文章主要介紹了python詞云庫(kù)wordCloud使用方法詳解(解決中文亂碼),需要的朋友可以參考下2020-02-02