python程序10:写一个语音识别的软件

这里要用到的模块是SpeechRecognition。

SpeechRecognition是一个Python语音识别库,可以实现从麦克风或音频文件中识别语音并将其转换为文本。它支持多种语音识别API,包括Google Cloud Speech API、Microsoft Bing Voice Recognition、IBM Speech to Text等等。SpeechRecognition模块还支持多种音频格式,包括WAV、AIFF、FLAC等等。使用SpeechRecognition模块非常简单,只需几行代码即可实现语音识别功能。

以下是一个简单的示例代码:

import speech_recognition as sr
r = sr.Recognizer()
with sr.AudioFile("audio.wav") as source:
audio = r.record(source)
text = r.recognize_google_cloud(audio, credentials_json=open("google-cloud-credentials.json").read())
print(text)

上面的代码中,我们首先创建了一个Recognizer对象,然后打开一个名为“audio.wav”的音频文件,并使用Google Cloud Speech API对其进行语音识别。最后将识别结果打印出来。使用SpeechRecognition模块,我们可以轻松实现语音识别功能,并且可以选择不同的语音识别API和音频格式。

按照上面的示例程序,开始写自己的语音识别软件:

import speech_recognition as sr
import tkinter as tk
class SpeechRecognizerGUI:
def init(self, master):
self.master = master
master.title("语音识别器")
self.label = tk.Label(master, text="请开始说话")
self.label.pack()
self.text = tk.Text(master, height=10, width=50)
self.text.pack()
self.button = tk.Button(master, text="开始录音", command=self.start_recording)
self.button.pack()
def start_recording(self):
recognizer = sr.Recognizer()
with sr.Microphone() as source:
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language='zh-CN')
self.text.insert(tk.END, text)
except sr.UnknownValueError:
self.text.insert(tk.END, "抱歉,无法识别您的语音")
except sr.RequestError as e:
self.text.insert(tk.END, "无法连接到Google Speech Recognition服务;{0}".format(e))
root = tk.Tk()
app = SpeechRecognizerGUI(root)
root.mainloop()

这个程序创建了一个基本的GUI界面,包括一个标签、一个文本框和一个按钮。当用户点击“开始录音”按钮时,程序会使用麦克风录制用户的语音,并使用Google语音识别API将其转换为文本。识别结果将显示在文本框中。如果无法识别用户的语音或无法连接到Google服务,则会显示相应的错误消息。

运行测试一下:

需要查看麦克风权限和可访问谷歌语音识别,继续运用pyinstaller打包成可执行文件,大功告成!

发表评论

zh_CNChinese