使用SpeechRecognition将Python语音转换为文本
在本文中,我们将介绍使用SpeechRecognition库在Python中将语音转换为文本的过程。
语音识别是识别语音并以文本方式表示语音的过程。
在当今瞬息万变的世界中,语音识别在许多方面都非常有用,例如自动驾驶汽车,房屋监视等。
Python语音到文本转换的前提条件
在深入探讨Python语音到文本转换的过程之前,必须安装必需的库。
步骤1:安装SpeechRecognition库
pip install speechrecognition
"语音识别库"用于语音到文本的转换。
此外,它支持各种离线/在线语音识别引擎和API。
步骤2:安装PyAudio模块
pip install pyaudio
安装PyAudio模块
PyAudio库用作跨平台的输入输出模块,并提供与PortAudio的绑定。
PyAudio使用户可以记录和播放音频文件,而与平台无关,即它完全独立于平台。
使用SpeechRecognition模块了解Python语音到文本的转换
步骤1:导入必要的库/模块
在使用"语音识别模块"将语音转换为文本的过程中,我们将必须在程序中导入相同的内容,以利用模块/库下定义的所有功能。
import speech_recognition
步骤2:初始化语音识别器
variable = speech_recognition.Recognizer()
为了获取音频格式的输入并识别声音,我们需要初始化识别器以识别音频/语音。
步骤3:设定输入音讯/声音的来源
语音识别模块的输入有两种类型:
- 预先录制的音频文件
- 通过默认麦克风输入语音
with SRG.Microphone() as source
在上述声明中,通过默认麦克风直接记录了我们功能的输入。
因此," Microphone()"对象被用于从麦克风获取音频。
注意:我们需要安装PyAudio模块
才能接受来自默认麦克风的音频格式的输入。
如果要将预先录制的音频文件转换为文本,我们需要遵循以下声明:
with SRG.AudioFile(name of the audio file) as source
步骤4:定义录制麦克风音频的时间限制。
" record()方法"用于设置输入源以及麦克风需要接受和记录输入音频的时间。
record(source, duration)
source:定义输入源,例如音频文件,来自麦克风的输入等。
duration
:麦克风处于活动状态并接受用户输入语音的时间段(以秒为单位)。
第5步:使用搜索引擎或者API将语音转换为文本
record()函数接受来自用户的语音,并将其上载到语音识别引擎(例如google语音识别引擎)以进行语音识别。
为了使用google识别引擎,系统必须保持与Internet的连接。
recognize_google()函数
将传递给它的输入语音识别为参数,并以文本形式返回。
如果用户希望使用其他任何语言进行语音识别,例如西班牙语,日语等,则需要将"语言"作为参数传递给函数。
使用SpeechRecognition库实现Python语音到文本的转换
import speech_recognition as SRG import time store = SRG.Recognizer() with SRG.Microphone() as s: print("Speak...") audio_input = store.record(s, duration=7) print("Recording time:",time.strftime("%I:%M:%S")) try: text_output = store.recognize_google(audio_input) print("Text converted from audio:\n") print(text_output) print("Finished!!") print("Execution time:",time.strftime("%I:%M:%S")) except: print("Couldn't process the audio input.")
输出:
Speak... Recording time: 01:13:27 Text converted from audio: Python on theitroad! Finished!! Execution time: 01:13:34