[파이썬][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()`
이 코드는 음성을 입력으로 받아들이고, 사용자의 음성을 텍스트로 변환한 후 해당 내용에 대한 응답을 생성하여 음성으로 출력하는 간단한 음성 비서를 구현한 것입니다. 사용자가 “종료”라고 말하면 음성 비서가 종료됩니다.
실행시에는 음성 입력을 받기 위해 마이크가 필요하므로 실행 환경에서 마이크를 사용할 수 있는지 확인해야 합니다.