안녕하세요. 오늘은 정말 신기하고 재미있는 라이브러리를 가지고 왔습니다.
제가 요즘 딥러닝을 위해 파이썬으로 여러가지를 만들어 보고 있는데, 음성쪽을 찾다보니 발견하였습니다.
단, 6줄로 구현하는 구글 음성 인공지능 API!
저도 구현은 그렇다치더라도 과연 잘될까? 라는 고민을 했지만,
과연 우리의 사람 말을 인식해서 글로 표현할 수 있을까?
상상 이상으로 잘되어 깜짝놀랐습니다.
바로 실습해보도록 하겠습니다.
파이참을 키고 설치를 준비합니다.
speechRecognition을 검색합니다.
설치가 완료되었네요.
만약 pycharm이 아니시라면, cmd에
python -m pip install speechrecognition
오늘자 기준으로 3.8.1 최신버젼기준입니다.
코딩이 엄청 짧으니 한 번에 올리도록 하겠습니다.
import speech_recognition as sr
r = sr.Recognizer()
harvard = sr.AudioFile('test.wav')
with harvard as source:
audio = r.record(source)
print(r.recognize_google(audio))
제가 실습한 음성입니다. 한 번 이 음성에 맞게 인식했는지 print해보겠습니다.
와... 이 실험 음성이 혀를 너무 굴려서 무슨말인지 몰랐는데, 구글 api는 저보다 확실히 알아냅니다.
음성파일은 4가지가 가능합니다.
- WAV: must be in PCM/LPCM format
- AIFF
- AIFF-C
- FLAC: must be native FLAC format; OGG-FLAC is not supported
google API뿐만 아니라
- recognize_bing(): Microsoft Bing Speech
- recognize_google(): Google Web Speech API
- recognize_google_cloud(): Google Cloud Speech - requires installation of the google-cloud-speech package
- recognize_houndify(): Houndify by SoundHound
- recognize_ibm(): IBM Speech to Text
- recognize_sphinx(): CMU Sphinx - requires installing PocketSphinx
- recognize_wit(): wit.ai
7가지나 제공합니다... 이야...
하지만... sphinx를 제외한 나머지 6개는 인터넷이 연결되어 있어야 합니다.
제가 때마침 음성을 filter프로그램을 만들고 있는데... 노이즈가 잔뜩 낀 음성을 필터링한 이 후에 인공지능을 돌려봐도 재밌을 것 같습니다.
구간을 지정할 수도 있습니다.
이런 식으로 구간을 1초씩 쪼개면 어떻게 될까요?
초 단위로 단어를 쪼개게 되면 단어 또한 함께 쪼개지게 됩니다.
녹음된 파일뿐만 아니라 실시간으로 음성을 인식해 Text를 뽑아내는 방법도 있습니다.
https://pythonspot.com/speech-recognition-using-google-speech-api/
실시간으로 음성을 텍스트로 변환하고 싶으시다면 위 사이트로 올라가시면 됩니다.
'Python > Application' 카테고리의 다른 글
[파이썬 응용] 4탄 Pyinstaller : exe실행파일 만들기, 오류 해결 (0) | 2020.02.25 |
---|---|
[파이썬 응용] 1. Filter Adapter Application (0) | 2020.02.24 |
[파이썬 응용] 3탄 *arg : 인자를 여러 개 받고 싶을 때 (0) | 2020.02.15 |
[파이썬 응용] 2탄 cx_freeze : pyinstaller에 지친 사람을 위해... (2) | 2020.02.14 |
[파이썬 응용] 1탄 Scipy : 음성 신호를 LPF , HPF 돌려보기! (3) | 2020.02.11 |