如何使用SpeechRecognition检测系统声音?

时间:2020-11-04 13:00:50

标签: python speech-recognition

我在检测系统声音时遇到一些问题。我想使用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")

有人可以帮助我吗?

谢谢

0 个答案:

没有答案