본문 바로가기
프로그래밍 및 개발/Python

[python] 파이썬 음성을 텍스트로 변환 - SpeechRecognition

by typenine9 2023. 2. 12.
300x250

 

파이썬으로 음성을 텍스트로 변환할 수 있다고 해서

 

바로 실습해봤다.

 

실습하기 위해선 SpeechRecognition이라는 패키지가 설치 되어 있어야 했다.

 

그래서 설치하려다가 이런 오류가 나타났고,

 

 

[python] 에러코드 Could not install packages due to an OSError

파이썬에서 간단한 프로젝트 하기 위해 모듈을 설치하던 중 다음과 같은 오류를 보게 됐다. "Could not install packages due to an OSError" 엑세스가 거부되었다는 문장 밑에 --user, permissions 같은 단어들이

typenine9.tistory.com

 

링크에 적어놓은 방법대로 수행하니 문제를 해결할 수 있었다.

 

>>> pip install SpeechRecognition

 

SpeechReconition 패키지를 설치하고 나서,

 

이 패키지에서 마이크 사용하기 위한 PyAudio가 또 필요하다 해서 설치했다.

 

pip로 설치하려다가 pipwin으로 설치시 무난하게 사용할 수 있다 해서 다음과 같이 진행했다.

 

>>> pip install pipwin
>>> pipwin install pyaudio

 

 

 

설치를 완료하고 잘 작동하는지 테스트해보았다.

 

>>> import speech_recognition as sr
>>> sr.__version__
'3.9.0'

 

버전 찍히는거 확인했고,

 

>>> import speech_recognition as sr
>>> r = Recognizer()
>>> mic = sr.Microphone()
>>> with mic as source:
...		 audio = r.listen(source)
...

 

여기까지 적고 마지막 코드 ... 시작되는 때에

 

노트북 마이크에 말을 해봤다.

 

말이 끝나고 다음 코드 창에 >>> 이 뜨고나서

 

다음과 같이 적었다.

 

>>> r.recognize_google(audio)

 

입력받은 음성을 텍스트로 변환하는 코드다.

 

입력하니 다음과 같이 결과가 나왔다.

 

 

'how are you'

 

정확히 말한 그대로 나왔다.

 

말하는 과정을 찍어두지 않아서 믿기지 않겠지만 정확히 말한 그대로 나왔다.

 

 

 

텍스트 변환 시 UnknownValueError()가 발생하면 앞에 listen() 실행시 음성이 올바로 입력 되지 않은 거라 하니 

 

이럴 땐 음성 인식을 다시 시도해야 한다.

 

 

 

한국어도 입력 되는지 다시 시도해봤다.

 

>>> import speech_recognition as sr
>>> r = Recognizer()
>>> mic = sr.Microphone()
>>> with mic as source:
...		 audio = r.listen(source)
...

 

먹고 싶은 음식을 불러봤다.

 

>>> r.recognize_google(audio,language="ko-KR")

 

텍스트 변환시 언어를 "ko-KR"로 지정하면 한국어로 변환된다.

 

 

난 이 당시 김치찌개가 너무 땡겼다.

 

세번 말했는데 그대로 나왔다.

 

유뷰트 번역보다 변환이 잘 되는 듯 하다.

 

참고로 일본어는 

 

>>> r.recognize_google(audio,language="ja")

 

이렇게 변환해야 한다.

<