Ollama가 텍스트를 음성으로 바꾸는 음성 합성 모델 지원을 시작했다. 첫 모델은 Gradium이 만든 소형 음성 합성 모델군 Phonon이다. 지금은 macOS에서 쓸 수 있고, Windows와 Linux 지원은 곧 추가될 예정이라고 Ollama는 밝혔다.
사용하려면 Apple Silicon Mac에서 Ollama 0.40.11 이상을 내려받은 뒤 ollama pull phonon으로 모델을 받으면 된다. ollama run phonon "Hello from Ollama."처럼 문장을 넣어 실행하고, 텍스트 없이 실행하면 프롬프트에 한 줄씩 입력할 수 있다. 출력을 리다이렉트해 WAV 파일로 저장하는 방법도 있다.
성능과 정확도
Apple Silicon에서 Ollama는 Apple의 머신러닝 프레임워크 MLX로 가속한다. M5 Max 탑재 MacBook Pro에서 45초 분량의 음성을 만들어 실시간 대비 몇 배 빠른지를 10회 측정한 중앙값으로 비교한 결과, Ollama가 그다음으로 빠른 엔진인 Gradium 자체 런타임(ptts)보다 35% 빨랐다고 Ollama는 밝혔다. ptts는 CPU에서 8비트 가중치, Neural Engine에서 fp16, GPU에서 f32를 쓰고, Ollama는 모델을 BF16으로 실행한다.
정확도는 단어 오류율로 비교했다. Seed-TTS 영어 테스트셋 문장 200개를 Whisper large-v3로 받아 적어 측정했고, Ollama 구현의 오류율이 Hugging Face Transformers의 기준 구현과 같았다고 Ollama는 밝혔다.
목소리, 언어, 연동
목소리는 --voice 옵션이나 API의 voice 값으로 고르며(예: Hadley), Gradium의 음성 목록에서 가져온다. ollama show phonon을 실행하면 전체 목록이 나온다.
| 모델 | 언어 |
|---|---|
| phonon | 영어 |
| phonon:40m-fr | 프랑스어 |
| phonon:40m-de | 독일어 |
| phonon:40m-es | 스페인어 |
| phonon:40m-pt | 포르투갈어 |
| phonon:40m-multilingual | 5개 언어 모두 |
영어용 phonon은 Apache 2.0으로 공개됐다. 프랑스어, 독일어, 스페인어, 포르투갈어, 다국어 40M 모델은 CC BY-NC 4.0이 적용돼 비상업적 용도로만 쓸 수 있다.
채팅 모델의 답변을 Phonon으로 넘기면 텍스트가 도착하는 대로 읽어 주므로 첫 문장이 끝나는 시점부터 재생이 시작된다. 예를 들어 ollama run gemma4 --hidethinking "..." | ollama run phonon처럼 파이프로 잇는다.
Phonon은 OpenAI 호환 /v1/audio/speech 엔드포인트를 지원한다. 요청에는 model에 phonon, voice에 목소리 이름(예: Zoey), input에 읽을 문장을 넣는다. OpenAI SDK를 쓰는 기존 코드는 기본 주소(base URL)만 내 컴퓨터의 Ollama 서버(포트 11434)의 /v1 경로로 바꾸면 되며, Ollama는 curl, Python, Node.js 예시를 함께 실었다. 응답은 스트리밍으로 오므로 생성 도중 재생할 수 있다. 오디오는 24kHz 모노이며 기본은 WAV, response_format을 pcm으로 지정하면 16비트 원시 샘플로 받는다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.
- Speech models in Ollama · Ollama Blog ollama.com