Whistle - 16.9 MB로 구현한 음성 텍스트 변환
요약
본 글은 범용 음성 인식의 한계를 지적하며, 언어 장애가 있는 사용자에게 필요한 '받아쓰기 전용' 모델의 중요성을 강조합니다. Gemini 3.5 Transcribe와 Parakeet 같은 다양한 STT(Speech-to-Text) 모델들을 비교 분석하고, 실시간 출력 기능이나 정확도 등 현장 활용 시 필수적인 기술적 과제들을 논하며 최적화된 워크플로우를 제시합니다.
핵심 포인트
- 범용 음성 인식보다 받아쓰기 전용 모델이 필요하다.
- Gemini 3.5 Transcribe는 API로 이용 가능하여 좋은 대안이다.
- 실시간 출력 기능은 범용 STT 앱에서 필수적으로 갖춰야 한다.
- Parakeet과 Whisper Large 비교 시, 정확도가 활용에 가장 중요하다.
음성 인식의 어려움은 바이너리 크기가 아니라고 봄. 내게는 뇌졸중 이후 입이 처진 84세 크로아티아인 아버지가 자서전을 쓰려고 할 때, 그 말을 제대로 알아듣는 것이 과제임.
지난주 Windows 음성 입력을 설정해 드렸는데, 키보드로는 며칠 걸릴 한 페이지를 10분 만에 쓰실 수 있게 됨. 다만 입으로 내는 모든 소리까지 글에 들어가는 문제가 있음.
아버지께 필요한 것은 범용 음성 인식 모델이 아니라 받아쓰기 전용 모델임. 이런 모델은 “음”, “어”를 무시하고, “코끼리가, 아니 원숭이가 나무에 올라갔다”를 “원숭이가 나무에 올라갔다”로 정리하며, 일부는 말로 문장부호를 입력하는 기능도 지원함.
Gemini 팀이 최근 공개한 Gemini 3.5 Transcribe가 이런 작업에 강하다고 하며, API로 이용 가능함. https://blog.google/innovation-and-ai/models-and-research/ge....
아버지께 잘 맞는 해결책을 찾으시길 바람. 2년 전 언어 장애가 있는 사람들을 위한 음성 인식을 조사했는데, 결국 데이터 부족, 불규칙한 발화로 인한 지속적인 해석의 모호함, 환자마다 다른 발화 패턴이라는 세 가지 난제로 귀결됨.
음성 인식에는 서로 다른 과제가 많고 각각 별도의 해결책이 필요함. 나는 Android 휴대폰의 예전 Google Assistant가 정말 그리움. Spotify에서 듣고 싶은 곡을 꽤 정확하게 재생해 줬지만, Gemini는 거의 매번 실패하고 훨씬 느림.
신곡은 계속 나오고, 곡명에는 드문 이름이나 특이한 단어 배열이 자주 쓰이므로 일반적인 LLM 도구로는 해결하기 어려운 과제임.
이 정도로 작으면 CPU L3 캐시 안에 넣고 여러 용도로 사실상 상시 실행할 수 있음.
데모에는 말하면서 녹음하는 도중, 정지 버튼을 누르기 전에 인식된 텍스트를 실시간으로 출력하는 기능이 나오지 않음. 대부분의 범용 실시간 음성 인식 앱에는 필수 기능이라고 봄.
이 기능을 빠뜨리는 구현이 이렇게 많다는 게 놀라움. Handy에는 Nemotron Streaming이 들어 있고 아주 잘 작동함.
바이브 코딩으로 Deepgram API 서버를 어느 정도 연동했지만 아직 마무리하지 못함. 이런 기능은 꼭 있어야 한다고 봄.
이것이 로컬 서비스보다 Deepgram을 주로 쓰는 가장 큰 이유임.
임의의 TV 에피소드로 시험했더니, 간혹 막힌 듯 “Thank you.”만 출력함. 한 번은 60초 분량의 대사를 전부 이렇게 처리했는데, 실제로 같은 말을 60초 동안 반복하는 장면은 아니었음. 변환 과정에서 이런 현상이 여러 차례 발생함.
여러 모델이 무음 구간에서 “감사합니다. 구독 잊지 마세요”나 “시청해 주셔서 감사합니다”를 생성하는 게 재미있음. 어떤 데이터로 학습했는지 드러나는 셈임.
Parakeet과 비교하면 어떨까? M 시리즈 MacBook에서 프로젝트에 로컬로 쓰고 있는데 아주 잘 작동함. 회의 녹취나 데모 영상의 음성 전사 같은 내 용도에는 충분히 빠르고 정확함.
이 모델은 확실히 더 가볍고 빨라 보이는데, 정확도는 어떤가?
Parakeet을 칭찬하는 사람이 많지만, 내게는 Whisper Large보다 정확도가 낮았음. 훨씬 빠르고 작기는 해도, 받아쓰기를 꾸준히 본격적으로 활용하려면 정확도가 매우 중요함.
결국 AI로 Whisper Large를 최적화하고 TypeWhisper 플러그인을 만들어 사용 중임. 결과는 MTPLX에서 로컬로 실행하는 Qwen 3.8로 후처리함.
Parakeet이 기준점이 될 만한 모델이지만, moonshine이나 TTS 모델인 koroko는 앱 자체에 모델을 내장하는 데 더 초점이 맞춰져 있음. Parakeet은 앱에 내장하기가 현실적으로 어려움.
나는 superwhisper에서 Parakeet을 쓰면서 음성 인식과 음성 합성을 내장한 다른 앱도 개발 중임. 이미 내려받은 Parakeet 모델을 재사용하고 싶지만 ONNX부터 whisper까지 구현이 제각각이라 쉽지 않음.
moonshine이나 이번 모델은 앱에 간단히 내장할 수 있게 해 줌. Parakeet만큼 좋지는 않아도 필요한 수준의 80% 정도는 달성할 수 있음.
적어도 영어 인식 정확도는 놀라울 정도임. 일부러 틀리게 만들려고 해 봤는데도 완벽하게 알아들었음!
조금 다른 얘기지만, 이제는 사용자를 짜증 나게 하지 않는 맞춤법 검사기도 쉽게 학습시킬 수 있어야 하지 않을까? 특히 Apple이 신경 써 줬으면 함.
폴란드어로 시험했는데, 아주 크고 또렷하고 느리게 말하지 않으면 성능이 좋지 않음. Parakeet이 확실히 나음.
language=detect를 보고 일본어를 넣어 봤는데, 실제 지원 언어 목록을 보면 당연한 결과지만 뒤틀린 스페인어로 변환됨.
노르웨이어도 지원하지 않아 영어로 “Hello everyone, today we are going to do some cleaning”이라고 말했더니, “cleaning”을 “training”으로 잘못 인식함. 아마 문맥이나 학습 데이터 때문인 듯함.
쓸 만하지만 한계가 뚜렷한 정도로 보임.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기