[python] PyQt를 활용한 AI 음성 비서 개발

인공지능 기술의 발전으로 음성 비서가 우리 일상에 더욱 친숙해지고 있습니다. 이번에는 PyQt를 활용하여 AI 음성 비서를 개발하는 방법에 대해 알아보겠습니다.

PyQt 소개

PyQt는 파이썬을 기반으로 한 GUI 프레임워크로, Qt 라이브러리를 파이썬에서 사용할 수 있도록 하는 역할을 합니다. Qt는 다양한 플랫폼에서 사용 가능하며, 여러 가지 컴포넌트와 기능을 제공합니다. PyQt를 사용하면 파이썬으로 간편하고 멋진 GUI 애플리케이션을 만들 수 있습니다.

음성 인식 설정

AI 음성 비서를 개발하기 위해서는 음성 인식 기능을 사용해야 합니다. 음성 인식을 위해 Google Cloud Speech-to-Text API를 사용해보겠습니다. API를 사용하기 위해 필요한 인증키를 발급받아야 합니다. 인증키를 얻은 후에는 google-cloud-speech 라이브러리를 설치하고 API를 호출해 음성을 텍스트로 변환할 수 있습니다.

PyQt 애플리케이션 만들기

PyQt를 사용하여 음성 비서 애플리케이션을 만들기 위해서는 다음과 같은 단계를 거칩니다.

  1. PyQt 애플리케이션 초기화
  2. 음성 입력을 받을 수 있는 버튼 및 인터페이스 추가
  3. 음성 입력 받기 기능 구현
  4. Google Cloud Speech-to-Text API와 연동하여 음성을 텍스트로 변환
  5. 텍스트로 변환된 음성을 화면에 표시

예제 코드

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt
import speech_recognition as sr

class SpeechAssistant(QWidget):
  def __init__(self):
    super().__init__()
    self.setWindowTitle("AI 음성 비서")
    self.setGeometry(100, 100, 300, 200)

    layout = QVBoxLayout()

    self.label = QLabel("음성이 입력될 곳", self)
    self.label.setAlignment(Qt.AlignCenter)
    self.label.setFont(QFont("Arial", 12))

    layout.addWidget(self.label)
    self.setLayout(layout)

  def keyPressEvent(self, event):
    if event.key() == Qt.Key_Space:
      self.start_listening()

  def start_listening(self):
    r = sr.Recognizer()
    with sr.Microphone() as source:
        audio = r.listen(source)
    try:
        text = r.recognize_google(audio, language="ko-KR")
        self.label.setText(text)
    except sr.UnknownValueError:
        self.label.setText("음성을 인식할 수 없습니다.")
    except sr.RequestError as e:
        self.label.setText("음성 인식 실패: {0}".format(e))

app = QApplication(sys.argv)
assistant = SpeechAssistant()
assistant.show()
sys.exit(app.exec_())

위의 코드는 PyQt를 사용하여 음성 비서 애플리케이션을 만드는 예제입니다. 애플리케이션이 실행되면 버튼을 누르거나 스페이스바를 눌러 음성을 입력할 수 있습니다. 입력된 음성은 Google Cloud Speech-to-Text API를 통해 텍스트로 변환되어 화면에 표시됩니다.

결론

PyQt를 활용하여 AI 음성 비서를 개발하는 방법에 대해 알아보았습니다. PyQt를 사용하면 파이썬으로 멋진 GUI 애플리케이션을 쉽게 개발할 수 있습니다. 음성 인식과 결합하여 더욱 풍부한 사용자 경험을 제공할 수 있는 AI 음성 비서 애플리케이션을 만들어보세요.

참고 자료