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

# 创建Recognizer对象
r = sr.Recognizer()

# 打开音频文件并读取音频
with sr.AudioFile("audio.wav") as source:
    audio = r.record(source)

# 使用Google Cloud Speech API识别音频,并返回文本结果
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打包成可执行文件,大功告成!

发表回复