通过运行以下代码,我可以获得所有可用的麦克风:
import speech_recognition as sr
for index, name in enumerate(sr.Microphone.list_microphone_names()):
print(f'{index}, {name}')
这些是我拥有的所有麦克风(和其他东西):
0, Microsoft Sound Mapper - Input
1, Microphone (Realtek(R) Audio)
2, Stereo Mix (Realtek(R) Audio)
3, Microsoft Sound Mapper - Output
4, Speakers (Realtek(R) Audio)
5, Primary Sound Capture Driver
6, Microphone (Realtek(R) Audio)
7, Stereo Mix (Realtek(R) Audio)
8, Primary Sound Driver
9, Speakers (Realtek(R) Audio)
10, Realtek ASIO
11, Speakers (Realtek(R) Audio)
12, Stereo Mix (Realtek(R) Audio)
13, Microphone (Realtek(R) Audio)
14, Speakers 1 (Realtek HD Audio output with SST)
15, Speakers 2 (Realtek HD Audio output with SST)
16, PC Speaker (Realtek HD Audio output with SST)
17, Microphone 1 (Realtek HD Audio Mic input with SST)
18, Microphone 2 (Realtek HD Audio Mic input with SST)
19, Microphone 3 (Realtek HD Audio Mic input with SST)
20, Stereo Mix (Realtek HD Audio Stereo input)
如何选择特定麦克风进行语音识别,我需要在索引 1 和 2 处的麦克风之间交换以进行测试,我该怎么做。
参考代码:
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
print("Speak Anything!")
audio = r.listen(source)
r.energy_threshold = 300
r.pause_threshold = 1
try:
text = r.recognize_google(audio)
print("You said : {}".format(text))
except:
print("Sorry could not recognize what you said!")
有没有办法打印当前正在使用的麦克风?
使用
mic = Microphone(device_index=1)
完整代码:
import speech_recognition as sr
r = sr.Recognizer()
mic = Microphone(device_index=1)
with mic as source:
print("Speak Anything!")
audio = r.listen(source)
即使该帖子是不久前发布的,也可以通过正确的配置将音频从 USB 麦克风通过 Pi 传输到 ZoneMinder 中。查看最近的 Pi 论坛或 ZoneMinder 更新;有时新版本会添加功能。