Mediapipe을 이용해 손인식은 어느 정도 구현했고, 이제 음성 인식을 구현할 차례다.
음성 인식 기능 요구사항은 다음과 같다.
- 실시간으로 동작할 것
- 인터넷 연결 없이도 작동해야 할 것
실시간으로 동작하는 것은 그렇다 쳐도, 인터넷 연결 없이 온디바이스에서 음성 인식을 구현하는 것이 쉬워 보이진 않았다.
일단 음성 인식 라이브러리부터 찾아보았다.
Speech Recognition
여러 온오프라인 엔진과 API를 지원하는 음성 인식 라이브러리
Python으로 음성 인식을 구현할 때 가장 많이 접하게 되는 라이브러리 중 하나다. 소스코드는 여기로.
다음과 같은 엔진/API를 지원한다.
- CMU Sphinx (오프라인 동작)
- Google Speech Recognition
- Google Cloud Speech API
- Wit.ai
- Microsoft Azure Speech
- Houndify API
- IBM Speech to Text
- Snowboy Hotword Detection (오프라인 동작)
- Tensorflow
- Vosk API (오프라인 동작)
- OpenAI Whisper (오프라인 동작)
- Whisper API
일단 이 중에 온라인으로 동작하는 API는 관심이 없고, 오프라인으로 동작하는 모델을 조사해 보았다.
CMU Sphinx
- 정확도가 그리 좋지 않고 무엇보다 한국어를 지원하지 않음
Snowboy Hotword Detection
- 자료가 많이 없고 공식 문서 접근이 안됨, 아무래도 예전 모델이다보니 지원이 중단된 것 같았음
Vosk API
- 모델 파일을 따로 다운로드해 관리를 해야함, 정확도가 좋아보이진 않음
OpenAI Whisper
- 한국어를 포함한 다국어 지원, 오프라인 모델 중 가장 정확도 좋음
따라서 OpenAI Whisper를 사용하기로 했다.
'개발 > Python' 카테고리의 다른 글
[Python/GUI] PySide GUI에서 로딩 GIF 이미지 표시하기 (0) | 2024.08.09 |
---|---|
[Python/ML] MediaPipe를 이용한 손가락 인식 (0) | 2024.07.17 |
[Python] Pyinstaller Mediapipe 컴파일 에러 해결 (1) | 2024.07.16 |