파이썬으로 음성을 텍스트로 변환할 수 있다고 해서
바로 실습해봤다.
실습하기 위해선 SpeechRecognition이라는 패키지가 설치 되어 있어야 했다.
그래서 설치하려다가 이런 오류가 나타났고,
링크에 적어놓은 방법대로 수행하니 문제를 해결할 수 있었다.
>>> 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")
이렇게 변환해야 한다.