我在检测系统声音时遇到一些问题。我想使用SpeechRecognition库做到这一点。我尝试安装虚拟麦克风,但对我来说太麻烦了,在Windows 10中使用它需要大量的麦克风配置。基本上,我需要做的是听计算机音频,以及是否检测到例如“测试”音频会在麦克风上播放“ mega.mp3”。
这是我的代码。
import pyaudio
import speech_recognition as sr
import sys
import time
import os
from datetime import datetime
from pygame._sdl2 import get_num_audio_devices, get_audio_device_name
from pygame import mixer
i=1
r = sr.Recognizer()
while True:
try:
with sr.Microphone() as source:
print("["+str(i)+"] Recording")
audio_data = r.record(source, duration=5)
print("Recognizing...")
text = r.recognize_google(audio_data,language="pl-PL")
print(text)
if "test" in text:
czas = datetime.now()
print("Odczytano! || "+str(czas.hour)+":"+str(czas.minute))
print("Uruchamianie wirtualnego mikrofonu...")
mixer.init(devicename='CABLE Input (VB-Audio Virtual Cable)')
print("Wysylanie sygnalu dzwiekowego...")
mixer.music.load(r"C:\Users\Lenovo\Desktop\audio\mega.mp3")
mixer.music.play()
print("Dzwiek wyslany")
print("Konczenie petli")
break
else:
print("Nie odczytano")
i=i+1
print("")
except Exception as e:
print("Error: "+str(e))
print("")
i=i+1
print("Program zakonczony")
os.system("pause")
有人可以帮助我吗?
谢谢