作者:Behic Guven

编译:Florence Wong – AICUG

本文系AICUG翻译原创,如需转载请联系(微信号:834436689)以获得授权

在本文中,我将向您展示如何使用Python将音频文件转换为文本文档。语音识别是此转换的过程,它通常在现实世界中使用。例如,诸如Google的Home Mini,Amazon Alexa,Apple Siri之类的个人语音助手,都是我们而耳熟能的一些受欢迎的助手。

语音识别,可帮助您通过讲话,代替打字,来节省时间。它可以帮助我们与设备通信,而无需编写一行代码。这使技术设备更易于访问,且更易于使用。语音识别,是在现实世界中使用人工智能的一个很好的例子。

这是Google I / O 2019活动的一个场景。 Google助手在行动:知乎视频www.zhihu.com

在本文中,我们将创建一个简单的语音识别模型,该模型可以从音频文件中检测句子,然后将这些句子导出到文本文档中。在以后的文章中,我想向您展示语音识别的另一个出色示例,您可以在其中将语音实时转换为文本格式。

你准备好了吗?让我们开始编码吧!

导入库

首先,让我们安装模块,以便我们可以在程序中导入和使用它。 SpeechRecognition模块支持多种识别API,而Google Speech API就是其中之一。您可以从此处了解有关该模块的更多信息:SpeechRecognitionpypi.org

pip install SpeechRecognition

现在我们可以导入库

import speech_recognition as sr

创建一个识别器

在这一步中,我们将创建识别器实例。

r = sr.Recognizer()

导入音频文件

将音频文件导入我们的程序时,文件扩展名很重要。我已经用其他两种其他格式测试了我的代码,但“ wav”格式的结果效果更好。您可以使用在线文件转换器网站,将音频文件格式转换为wav。

例如,如果您使用Macbook的语音备忘录,进行录制,则音频文件将保存为m4a格式。在Google上搜索:“在线将m4a文件转换为wav文件格式”。您会发现很多不错的网站。

AudioFile是导入文件的功能。 Sr是语音识别模块。

audio_file = sr.AudioFile('test.wav')
识别语音
如引言中所述,我们使用的是recognize_google方法,该方法是Google的Cloud Speech API中的语音识别。
with audio_file as source:
r.adjust_for_ambient_noise(source)
audio = r.record(source)
result = r.recognize_google(audio)
将结果导出到文本文档中
在以下代码中,我们将创建一个文本文件,并将其打开。然后,导出我们在前面的代码中得到的结果。在您的终端中,您会看到“ready!”该过程完成后。
with open('test.txt',mode ='w') as file:
file.write("Recognized text:")
file.write("\n")
file.write(result)
print("ready!")
代码
# importing the module
import speech_recognition as sr
# define the recognizer
r = sr.Recognizer()
# define the audio file
audio_file = sr.AudioFile('test.wav')
# speech recognition
with audio_file as source:
r.adjust_for_ambient_noise(source)
audio = r.record(source)
result = r.recognize_google(audio)
# exporting the result
with open('test.txt',mode ='w') as file:
file.write("Recognized text:")
file.write("\n")
file.write(result)
print("ready!")

恭喜!您已经使用Python创建了自己的语音识别程序。希望您喜欢本教程并学到一些新的知识。练习编码技能的最佳方法是制作有趣的项目。在以后的文章中,我想分享另一种语音识别功能,以检测您的声音并将其实时转换为文本。