📜  使用 PyAudio 和 SpeechRecognition 在Python中列出所有连接到系统的麦克风(1)

📅  最后修改于: 2023-12-03 15:06:49.874000             🧑  作者: Mango

使用 PyAudio 和 SpeechRecognition 在Python中列出所有连接到系统的麦克风

如果你需要在Python程序中使用麦克风进行语音交互,那么使用 PyAudio 和 SpeechRecognition 库将会是非常有用的。这两个库为Python程序员提供了方便的接口来访问系统的麦克风。

安装 PyAudio 和 SpeechRecognition

在开始之前,你需要安装 PyAudio 和 SpeechRecognition。你可以使用 pip 来安装这些库:

pip install PyAudio
pip install SpeechRecognition
列出系统中的麦克风

在 Python 中,你可以使用 PyAudio 库来获取系统中所有连接的麦克风。以下是一个示例代码片段:

import pyaudio

p = pyaudio.PyAudio()
info = p.get_host_api_info_by_index(0)
numdevices = info.get('deviceCount')
for i in range(0, numdevices):
        if p.get_device_info_by_host_api_device_index(0, i).get('maxInputChannels') > 0:
                print("Input Device id ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))

输出样式:

Input Device id  0  -  MacBook Pro Microphone
Input Device id  1  -  External Microphone

上面的代码片段将打印系统中所有连接的麦克风的名称。

使用 SpeechRecognition 库识别语音

使用 SpeechRecognition 库,你可以将 Python 程序连接到系统麦克风并使用 Google,Wit.ai 等多种语音识别服务。

以下是一个示例代码片段:

import speech_recognition as sr

r = sr.Recognizer()
with sr.Microphone() as source:
        print("说点什么:")
        audio = r.listen(source)
        try:
                text = r.recognize_google(audio)
                print("你说的是:" + text)
        except sr.UnknownValueError:
                print("Google Speech Recognition could not understand audio")
        except sr.RequestError as e:
                print("Could not request results from Google Speech Recognition service; {0}".format(e))

运行代码后,它将等待用户说些什么。一旦用户说了话,SpeechRecognition 库将利用 Google Speech Recognition 来识别输入的内容。

以上就是使用 PyAudio 和 SpeechRecognition 来访问系统麦克风并进行语音识别的示例代码片段。