Qwen3-TTS 음성 복제 기능이 llama.cpp 메인라인에 추가됨 — 예전 데모가 드디어 정식 지원으로
Qwen3-TTS voice cloning is now in mainline llama.cpp — the old demo finally became real support
핵심 요약
Qwen3-TTS 음성 복제 기능이 llama.cpp에 정식 통합되어 로컬 음성 생성 및 프로젝트 통합이 훨씬 쉬워졌습니다.
- 정식 통합 — Qwen3-TTS 음성 복제 기능이 llama.cpp 메인라인에 병합됨
- 다국어 지원 — 영어, 한국어, 일본어 등 다양한 언어의 음성 생성 가능
- 사용 편의성 — llama-tts 바이너리를 통해 로컬에서 간편하게 오디오 생성
- 현재 한계 — 1.7B 베이스 모델만 지원하며 서버 엔드포인트는 아직 개발 중
몇 달 전에 올라왔던 Qwen3-TTS llama.cpp 데모 기억하는 사람 있을 거다. 그때 그 PR은 llama.cpp에 필요한 그래프랑 API 기능이 좀 부족해서 아마 머지 안 될 거라고 했었지.
근데 어제 드디어 새로운 구현체가 마스터 브랜치에 머지됐다.
지금 되는 것들:
-
GGUF 형식의 Qwen3-TTS-12Hz-1.7B-Base 모델
-
화자 참조용 WAV 또는 MP3 파일
-
영어, 중국어, 독일어, 이탈리아어, 스페인어, 프랑스어, 포르투갈어, 러시아어, 일본어, 한국어 지원
-
llama-tts 바이너리를 통한 오디오 생성
예시:
llama-tts -hf ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF \
-p "Hello, this is running locally." \
--tts-lang en \
--tts-speaker-file speaker.mp3 \
--output out.wav
Qwen 설명에 따르면 베이스 모델은 3초 정도의 참조 오디오만 있으면 목소리 복제가 가능하다고 한다. llama.cpp 버전이 원본 PyTorch 구현체만큼 목소리 유사도나 안정성이 나오는지 보여주는 독립적인 테스트는 아직 못 봤다.
흥미로운 점은 Qwen3-TTS가 로컬에서 돌아간다는 사실 그 자체가 아니다. 이미 전용 C++ 구현체들은 있었으니까. 진짜 중요한 건 이제 음성 복제가 llama.cpp 메인라인에 들어왔다는 거다. 덕분에 이미 이 런타임을 기반으로 만들어진 프로젝트들에 로컬 음성 출력 기능을 넣기가 훨씬 쉬워질 거다.
아직 중요한 한계점들도 좀 있다:
-
현재 머지된 구현체는 llama-tts만 사용함
-
/tts 서버 엔드포인트는 아직 PR 초안 상태임
-
CustomVoice나 VoiceDesign이 아닌 1.7B 베이스 모델만 지원함
-
qwen3-tts.cpp나 audio.cpp랑 제대로 비교한 자료가 아직 없음
-
이번 업데이트에 기존 llama-tts 바이너리에 대한 브레이킹 체인지가 포함됨
내가 보고 싶은 비교는 똑같은 3초짜리 참조 클립이랑 똑같은 문단을 가지고 CPU, Metal, CUDA, ROCm에서 각각 돌려보는 거다. 항목은 아래와 같음:
-
실시간 팩터 (Real-time factor)
-
최대 RAM 및 VRAM 사용량
-
목소리 유사도
-
긴 문장 생성 시 안정성
-
첫 오디오 출력까지 걸리는 시간
속도 면에서는 전용 포트들이 여전히 앞설 수도 있겠지만, 이식성이나 통합성 면에서는 llama.cpp가 이길 수도 있겠지.
혹시 업데이트해서 테스트해 본 사람 있냐? M 시리즈 맥이나 CPU 전용 환경 결과가 특히 궁금하다.

