[파이썬][AI Chatbot] SpeechRecognition의 음성 컨트롤을 위한 python 예제

SpeechRecognition 라이브러리 자체로는 음성 컨트롤을 제어하는 기능을 제공하지는 않습니다. 음성 컨트롤을 위해서는 음성 데이터를 분석하고, 특정 명령어를 감지하거나 패턴을 인식하여 해당 명령을 수행하는 로직을 추가해야 합니다. 이를 위해서는 음성 인식 결과를 기반으로 프로그래밍적으로 응답을 제어하는 로직을 구현해야 합니다. 아래는 음성 컨트롤을 위한 예제 코드입니다.

  1. 음성 컨트롤 예제:

    이 예제에서는 음성 데이터를 분석하고, 특정 명령을 감지하여 해당 명령을 수행하는 방법을 다룹니다.

    `import speech_recognition as sr
        
    recognizer = sr.Recognizer()
        
    def voice_control():
        with sr.Microphone() as source:
            print("Listening...")
        
            while True:
                try:
                    audio = recognizer.listen(source, timeout=5)
                    text = recognizer.recognize_google(audio).lower()
                    print("You said:", text)
                        
                    if "turn on the lights" in text:
                        print("Turning on the lights.")
                        # 라이트 컨트롤 로직 추가
                    elif "play music" in text:
                        print("Playing music.")
                        # 음악 재생 로직 추가
                    elif "stop" in text:
                        print("Stopping.")
                        break
                    else:
                        print("Command not recognized.")
        
                except sr.WaitTimeoutError:
                    print("Timeout exceeded. Listening again...")
        
    voice_control()` 
    

위의 예제에서는 사용자가 “turn on the lights”라고 말하면 라이트를 켜는 동작을, “play music”이라고 말하면 음악을 재생하는 동작을 수행합니다. “stop”을 말하면 음성 컨트롤을 종료합니다. 이처럼 음성 데이터의 텍스트 변환 결과에 따라 프로그래밍적으로 응답을 제어하는 로직을 구현할 수 있습니다.

음성 컨트롤은 음성 인식 결과에 따라 다양한 동작을 수행하는 부분으로, 실제 응용에서는 원하는 명령어를 감지하고 해당 동작을 수행하는 로직을 구현해야 합니다.