Ollama 음성 모델: Ollama 0.40.11의 Phonon 텍스트 음성 변환

요약

Ollama가 이제 텍스트 음성 변환(TTS)을 지원합니다. 처음으로 탑재된 음성 모델은 Gradium의 소형 TTS 모델 제품군인 Phonon입니다. 이 기능은 Ollama 0.40.11 이상 버전의 macOS에서 실행되며, Apple Silicon의 MLX 프레임워크를 통해 가속됩니다. Ollama 측은 M5 Max가 탑재된 MacBook Pro에서 자사의 Phonon 구현이 Gradium 자체 런타임보다 35% 더 빠르면서도 참조 구현과 동일한 단어 오류율(WER)을 기록했다고 밝혔습니다.

Ollama의 발표 내용

Ollama는 이제 텍스트를 음성으로 변환할 수 있습니다. Ollama에서 사용할 수 있는 첫 번째 음성 모델은 Phonon으로, Ollama는 이를 Gradium에서 제공하는 최첨단 소형 텍스트 음성 변환 모델 제품군이라고 설명합니다.

출시 시점에는 macOS에서 음성 모델을 사용할 수 있습니다. Windows 및 Linux 지원은 곧 제공될 예정입니다.

가장 간단한 호출 방법은 텍스트 프롬프트를 모델에 전달하여 음성 오디오를 생성하는 것입니다:

ollama run phonon "Hello from Ollama."

특정 음성은 --voice 플래그를 사용하여 선택할 수 있습니다:

ollama run phonon --voice Zoey "So I went through the whole thread. Short version? Everyone agrees, and nobody wants another meeting."

Ollama는 게시된 샘플 오디오가 M5 Max가 탑재된 MacBook Pro에서 Ollama 0.40.11을 사용하여 편집 없이 출력된 결과물이라고 밝혔습니다.

Apple Silicon에서의 성능

Ollama는 M5 Max가 탑재된 MacBook Pro에서 자사의 Phonon 구현이 가장 빠른 엔진인 Gradium 자체 런타임보다 35% 더 빠르다고 보고했습니다.

핵심 기술적 주장은 Ollama가 Apple Silicon의 머신 러닝 프레임워크인 MLX에 의해 가속화되어 최첨단 처리량을 제공한다는 점입니다.

Ollama가 밝힌 측정 세부 정보는 다음과 같습니다:

  • 하드웨어: M5 Max 탑재 MacBook Pro.
  • 워크로드: 45초 분량의 음성 생성.
  • 통계: 10회 실행의 중앙값.
  • 보고된 지표: 실시간 대비 몇 배 빠른지로 표현된 처리량.
  • 기준: CPU에서 8비트 가중치, Neural Engine에서 fp16, GPU에서 f32를 사용하는 Gradium의 자체 런타임 ptts.
  • Ollama의 구성: 모델이 bf16으로 실행됨.

기준 런타임은 CPU, Neural Engine, GPU 전반에 걸쳐 정밀도를 혼합하여 사용하므로, 이 비교는 동일한 수치 정밀도 비교가 아닙니다. Ollama는 MLX를 통해 단일 bf16 구성으로 모델을 실행합니다.

정확도: 참조 구현과 일치

Ollama는 자사의 구현이 Hugging Face Transformers의 참조 구현과 동일한 단어 오류율(WER)을 기록하며 정확도 면에서 동등하다고 밝혔습니다.

Ollama가 밝힌 측정 세부 정보는 다음과 같습니다:

  • 지표: 단어 오류율(WER), 낮을수록 좋음.
  • 테스트 세트: Seed-TTS 영어 테스트 세트의 200개 문장.
  • 전사: Whisper large-v3.

이는 Apple Silicon에서의 속도 이점이 명시된 테스트 세트에서 출력 품질을 희생한 결과가 아님을 의미합니다.

음성

음성은 명령줄의 --voice 플래그나 API의 voice 필드를 사용하여 선택합니다.

ollama run phonon --voice Hadley "Hello from Ollama."

음성은 Gradium의 음성 카탈로그에서 제공됩니다. Ollama가 게시한 샘플에는 샘플 지속 시간과 함께 네 가지 음성이 나열되어 있습니다:

  • Zoey, 미국식, 0:06
  • Easton, 미국식, 0:04
  • Freya, 영국식, 0:04
  • Hugh, 영국식, 0:07

ollama show phonon을 실행하면 사용 가능한 모든 음성이 나열됩니다.

언어 및 라이선스

Phonon은 언어 범위와 라이선스가 다른 여러 모델 변형으로 제공됩니다.

모델 언어
phonon 영어
phonon:40m-fr 프랑스어
phonon:40m-de 독일어
phonon:40m-es 스페인어
phonon:40m-pt 포르투갈어
phonon:40m-multilingual 5개 언어 전체

라이선스는 기본 모델과 40M 변형 모델 간에 차이가 있습니다:

  • phonon은 Apache 2.0 라이선스로 릴리스되었습니다.
  • 40M 모델은 비상업적 용도로 제한된 CC BY-NC 4.0 라이선스로 릴리스되었습니다.

40M 언어 변형을 기반으로 상업용 제품을 구축하려는 경우 비상업적 제한 사항을 고려해야 합니다.

채팅 모델 출력을 음성으로 스트리밍

Phonon은 채팅 모델에서 직접 파이프라인으로 연결할 수 있어, 음성 출력을 별도의 애플리케이션이 아닌 두 개의 기존 Ollama 명령 조합으로 구성할 수 있습니다.

ollama run gemma4 --hidethinking "Tell me a fun fact about owls in two sentences." | ollama run phonon

Ollama는 텍스트가 도착하는 대로 음성으로 변환되므로 첫 번째 문장이 생성된 후 바로 재생이 시작된다고 밝혔습니다. 이러한 스트리밍 동작은 체감 지연 시간에 중요합니다. 청취자는 전체 생성이 완료될 때까지 기다릴 필요 없이 답변의 시작 부분을 바로 들을 수 있습니다.

Phonon은 대화형으로도 실행됩니다. 텍스트 없이 ollama run phonon을 실행하면 줄을 입력할 수 있는 프롬프트가 열리며, 출력을 리디렉션하여 WAV 파일로 저장할 수 있습니다:

ollama run phonon "Save this to a file." > speech.wav

API: OpenAI 호환 음성 엔드포인트

Phonon은 OpenAI 호환 /v1/audio/speech 엔드포인트와 작동합니다. Ollama에 따르면, OpenAI SDK를 사용하는 기존 코드는 기본 URL만 변경하면 됩니다.

curl http://localhost:11434/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{
    "model": "phonon",
    "voice": "Zoey",
    "input": "Hello from Ollama."
  }' --output speech.wav

Ollama는 오디오가 생성되는 동안 응답이 스트리밍되므로 즉시 재생이 가능하다고 밝혔습니다. 문서화된 예제는 curl 응답을 플레이어로 바로 파이프합니다:

curl -sN http://localhost:11434/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{"model": "phonon", "input": "Playback starts right away."}' \
  | ffplay -nodisp -autoexit -loglevel error -

Ollama가 밝힌 오디오 형식 세부 정보는 다음과 같습니다:

  • 샘플 레이트 및 채널: 24 kHz 모노.
  • 기본 컨테이너: WAV.
  • 원시 출력: "response_format": "pcm" 요청 시 16비트 샘플.

스트리밍 예제의 -sN 플래그는 curl의 진행률 표시줄과 버퍼링을 비활성화하여 오디오 바이트가 생성되는 즉시 플레이어로 흐르도록 합니다.

시작하기 및 요구 사항

음성 모델은 Apple Silicon Mac에서 실행됩니다. Windows 및 Linux 지원은 곧 제공될 예정입니다.

Phonon을 로컬에서 실행하는 단계:

  1. Ollama 0.40.11 이상 버전을 다운로드합니다.
  2. 모델을 가져옵니다:
ollama pull phonon

Ollama가 참조한 추가 문서:

이 기능이 중요한 이유

Ollama에 음성 모델을 추가함으로써 로컬 모델 실행기가 로컬 음성 파이프라인으로 변모합니다. 개발자에게 주목할 만한 두 가지 특징은 다음과 같습니다:

  • 로컬 실행. 텍스트 음성 변환은 호스팅된 음성 API가 아닌 Ollama를 통해 사용자의 Apple Silicon 하드웨어에서 직접 실행됩니다.
  • 구성 가능성. Phonon은 표준 입력(stdin)을 읽고 오디오를 표준 출력(stdout)으로 쓰기 때문에 동일한 CLI에서 모든 채팅 모델과 연결할 수 있으며, 기존 SDK 코드가 이미 알고 있는 OpenAI 호환 HTTP 엔드포인트를 통해서도 접근할 수 있습니다.

발표에서 언급된 주의 사항은 플랫폼 범위(출시 시 macOS 전용)와 라이선스(40M 다국어 변형은 CC BY-NC 4.0으로 비상업적 용도이며, 기본 영어 phonon 모델은 Apache 2.0임)입니다.

Sources