상세 컨텐츠

본문 제목

[음성인식 - 6라인] 가장 쉬운 음성인식 (STT) 해 보기

개발 이야기/Python

by 리치윈드 - windFlex 2022. 5. 8. 18:48

본문

반응형

가장 간단한 6줄로 만드는 음성인식. Python Speech Recognition (STT)

[관련 글]

2022.05.24 - [개발 이야기/Python] - [코딩 테스트] 파이썬 코딩테스트 핵심 요약 (CheatSheet) - 코테 1시간전에 꼭 보자.

2022.04.30 - [개발 이야기] - [코테] 코딩 테스트 플랫폼 4종 - 백준, 리트코드, 프로그래머스, 코드시그널

2021.12.16 - [개발 이야기/Python] - 파이썬 오디오 라이브러리 Top 5종 (Python Audio Library )

2020.12.16 - [분류 전체보기] - [개발] 피보나치(Fibonacci) 수열 구현 7가지 방법 - 파이썬 실습/확인 바로하기

2020.05.09 - [개발 이야기] - [개발] 파이썬 문법 5분만에 읽히기 - 파이썬 기본 문법 요약/정리 8 가지

2018.03.03 - [개발 이야기/Python] - 피보나치(Fibonacci) 수열을 구현하는 7가지 방법 - 파이썬(Python) 피보나치 구현 7선

 

Python으로 가장 단순한 음성인식 (STT) 해 보기

 

PyPi 에서는 음성인식 (STT)를 위해서 Speech Recognition (SpeechRecognition 3.8.1) 모듈을 제공하고 있다.  https://pypi.org/project/SpeechRecognition/

 

설치는 아래와 같이 pip install을 통해서 쉽게 설치 할 수 있다. (위 PyAudio의 설치가 필요하다.)

!pip install SpeechRecognition
PyAudio 모듈 설치를 필요로 한다. PyAudio 모듈 설치 관련하여 하단을 참조하기 바란다. 단, 마이크 입력을 필요로 하기 때문에, 서버환경에서는 진행되지 않음에 유의하기 바란다. Notebook 또는 Desktop 환경에서 가능할 것이다. 혹, 서버환경에 마이크 입력 장비가 있다면 될지도.....

모듈 설치가 완료되면, 아래와 같이 간략히 음성인식(STT: Speech to Text)를 테스트 해 볼 수 있다. 

import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
    print("Say something! : ")
    audio = r.listen(source)
print( r.recognize_google(audio))

위 예제는 google 엔진을 사용한 예이며, 아래와 같은 다양한 엔진을 지원 한다. 좀 더 적극적으로 사용하려면, API_KEY 발급/등록이 필요하다.

  • CMU Sphinx (works offline) 
  • Google Speech Recognition 
  • Google Cloud Speech API 
  • Wit.ai 
  • Microsoft Azure Speech 
  • Microsoft Bing Voice Recognition (Deprecated) 
  • Houndify API 
  • IBM Speech to Text 
  • Snowboy Hotword Detection (works offline) 
  • Tensorflow Vosk API (works offline)

 

 

PyAudio 설치 및 Error 해결 하기 

 

python 프로젝트 중 일부, 필요에 따라서 `pyaudio`를 사용하는 경우가 있다. 대표적으로 위에서 소개한 `speechrecognition` 라이브러리에서 pyaudio를 필요로 한다. pyaudio를 설치하기 위해서 아래와 같이 실행해 주자.

!pip install -U pip
!pip install -U pyaudio

특별한 경우가 아니라면 정상 설치가 될것이다. 다만, Linux or Mac 환경인 경우 아래와 같은 에러메세지를 볼 수 있다. ㅜ_ㅜ

그런데, 이 pyaudio가 아래와 같은 에러를 발생하는 경우가 `매우 매우` 많다. 

PyAudio 설치 오류. PortAudio

 

pyaudio는 기본적으로 Windows Desktop 환경을 타겟으로 개발된듯 하다. 이 때문에, Linux or Mac에서는 조금 번거로운 설치작업을 추가로 해주어야 한다. 

 

필자는 주 개발 환경이 서버 환경이다 보니, 처음에 왜 이 간단한것이 안되는지 한참 고생 했었다. 잘 생각해 보면, PyAudio는 마이크/음성입력 장비가 설비된 환경에서만 동작한다. 

 

Linux와 MacOS 환경은 다음 설치 명령을 참조하도록 한다. 

 

Linux (Ubuntu)

sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt-get install ffmpeg libav-tools
sudo pip install pyaudio

 

MacOS

brew reinstall portaudio

또는

xcode-select --install
brew remove portaudio
brew install portaudio
pip3 install pyaudio

 

 

반응형

관련글 더보기

댓글 영역