使用Python将语音转换为文本的方法
语音识别是计算机软件识别口语中的单词和短语,并将其转换为可读文本的能力。那么如何在Python中将语音转换为文本?如何使用SpeechRecognition库在Python中将语音转换为文本?我们不需要从头开始构建任何机器学习模型,该库为我们提供了各种著名的公共语音识别API的便捷包装。
使用pip安装库:
pip3installSpeechRecognition
Okey,打开一个新的Python文件并导入它:
importspeech_recognitionassr
从文件读取
确保当前目录中有一个包含英语语音的音频文件(如果您想跟我一起学习,请在此处获取音频文件):
filename=“speech.wav”
该文件是从LibriSpeech数据集中获取的,但是您可以带上任何想要的东西,只需更改文件名,就可以初始化语音识别器:
#initializetherecognizer r=sr.Recognizer()
以下代码负责加载音频文件,并使用GoogleSpeechRecognition将语音转换为文本:
#openthefilewithsr.AudioFile(filename)assource:www.zpedu.com/ #listenforthedata(loadaudiotomemory) audio_data=r.record(source) #recognize(convertfromspeechtotext) text=r.recognize_google(audio_data) print(text)
这需要几秒钟才能完成,因为它将文件上传到Google并获取了输出,这是我的结果:
Ibelieveyou'rejusttalkingnonsense
从麦克风读取
这需要在您的计算机中安装PyAudio,以下是取决于您的操作系统的安装过程:
视窗
您可以点安装它:
pip3installpyaudio
的Linux
您需要首先安装依赖项:
sudoapt-getinstallpython-pyaudiopython3-pyaudio pip3installpyaudio
苹果系统
您需要先安装portaudio,然后才可以点安装它:
brewinstallportaudio pip3installpyaudio
现在,让我们使用麦克风转换语音:
withsr.Microphone()assource: #readtheaudiodatafromthedefaultmicrophone audio_data=r.record(source,duration=5) print(“Recognizing…”) #convertspeechtotext 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语音转换文本内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。