[파이썬][AI Chatbot] 음성 비서(voice assistants) python 예제

음성 비서(voice assistant)를 구현하기 위해서는 음성 인식과 자연어 처리 기능이 필요합니다. 아래는 Python을 사용하여 간단한 음성 비서 예제를 보여드릴게요. 이 예제에서는 SpeechRecognition 라이브러리를 사용하여 음성을 인식하고, 간단한 질문에 대한 답변을 생성하는 음성 비서를 구현합니다.

먼저, 아래 명령으로 SpeechRecognition 라이브러리를 설치합니다.

pip install SpeechRecognition` 

다음은 음성 비서 예제 코드입니다:

import speech_recognition as sr
import pyttsx3

## 음성 인식 엔진 생성
recognizer = sr.Recognizer()

## 음성 합성 엔진 생성
engine = pyttsx3.init()

## 음성 입력 받아 텍스트로 변환
def recognize_speech():
    with sr.Microphone() as source:
        print("말하세요...")
        audio = recognizer.listen(source)

    try:
        recognized_text = recognizer.recognize_google(audio, language="en-US")
        print("인식된 텍스트:", recognized_text)
        return recognized_text
    except sr.UnknownValueError:
        print("음성을 인식하지 못했습니다.")
        return ""
    except sr.RequestError as e:
        print(f"Google 음성 인식 서비스에 접근할 수 없습니다. 에러: {e}")
        return ""

## 음성으로 답변 생성 및 출력
def speak(text):
    engine.say(text)
    engine.runAndWait()

## 대화 시작
def main():
    speak("안녕하세요! 저는 음성 비서입니다. 무엇을 도와드릴까요?")
    while True:
        recognized_text = recognize_speech()
        if recognized_text.lower() == "종료":
            speak("음성 비서를 종료합니다. 안녕히 가세요!")
            break
        elif recognized_text:
            response = "알겠습니다. " + recognized_text + "에 대해 어떤 도움을 드릴까요?"
            speak(response)

if __name__ == "__main__":
    main()` 

이 코드는 음성을 입력으로 받아들이고, 사용자의 음성을 텍스트로 변환한 후 해당 내용에 대한 응답을 생성하여 음성으로 출력하는 간단한 음성 비서를 구현한 것입니다. 사용자가 “종료”라고 말하면 음성 비서가 종료됩니다.

실행시에는 음성 입력을 받기 위해 마이크가 필요하므로 실행 환경에서 마이크를 사용할 수 있는지 확인해야 합니다.