Kyutai의 Pocket TTS, 5초의 오디오로 목소리 복제 가능 (CPU 구동 및 MIT 라이선스). 영어 TTS를 위한 Kokoro
요약
Kyutai의 Pocket TTS는 5초의 오디오만으로 목소리를 복제할 수 있는 100M 파라미터 규모의 스트리밍 언어 모델입니다. CPU 환경에서도 구동 가능하며, Mimi 신경 코덱을 기반으로 일정한 지연 시간과 스트리밍 기능을 제공합니다.
핵심 포인트
- 5초 참조 클립만으로 제로샷 목소리 복제 가능
- Mimi 신경 코덱 기반의 오디오 토큰 생성 방식
- 텍스트 길이에 관계없이 일정한 RTF 유지
- GPU 없이 CPU 환경에서 구동 가능한 효율성
- MIT 라이선스로 제공되는 오픈 소스 모델
Kyutai가 얼마 전 Pocket TTS를 출시했고, 저는 벤치마크를 위해 이를 살펴보는 시간을 가졌습니다. 마침내 최근 주목받고 있는 세 가지 CPU TTS 모델(Kokoro 82M, Supertonic 3, Inflect-Nano-v1)과 정면 승부를 펼쳤습니다. 180회의 시간 측정 실행, 36개의 오디오 샘플, UTMOS를 통한 객관적 MOS 점수를 산출했습니다.
요약하자면: Pocket TTS는 제가 테스트한 6가지 구성 중 가장 느리지만, 이 분야에서 여전히 가장 흥미로운 모델입니다. 그 이유는 다음과 같습니다.
Pocket TTS의 실제 정체:
이 모델은 Kyutai의 Mimi 신경 코덱 (neural codec) 위에서 오디오 토큰 (audio tokens)을 생성한 다음 24kHz로 디코딩하는 약 1억 개(100M) 파라미터 규모의 스트리밍 언어 모델 (streaming language model)입니다. 따라서 일반적인 '음향 모델 + 보코더 (vocoder)' 설정 대신, 오디오를 위한 자기회귀 언어 모델 (autoregressive LLM)에 더 가깝습니다. 토큰 단위로 작동합니다.
이 아키텍처의 두 가지 결과:
- 지연 시간 (Latency)이 텍스트 길이에 관계없이 매우 일정합니다. 12자든 1712자든 RTF (Real-Time Factor)는 0.69에서 0.76 사이를 유지합니다. 분할 상환할 고정된 오버헤드가 없습니다. 짧은 텍스트에서는 0.49였다가 긴 텍스트에서는 0.83까지 올라가는 Kokoro PyTorch와 비교해 보십시오.
- 스트리밍 (Streaming)이 가능합니다. 이는 대화형 시스템을 구축할 때 매우 중요합니다.
5초만으로 가능한 제로샷 (Zero-shot) 목소리 복제. CPU에서 구동.
이것이 핵심 기능입니다. 어떤 목소리든 5초짜리 참조 클립을 제공하면 그 목소리로 말합니다. 억양, 음색, 속도, 심지어 참조 오디오의 마이크 특성까지 재현합니다. 미세 조정 (Fine-tuning)도 필요 없고, GPU도 필요 없습니다. MIT 라이선스입니다.
다른 CPU 친화적 모델 중 그 어느 것도 이 기능을 수행할 수 없습니다. Kokoro와 Inflect-Nano는 고정된 음성 세트를 제공하며, Supertonic도 마찬가지입니다. CPU 환경에서 사용자가 제공한 목소리를 사용하고 싶다면, Pocket TTS는 현재 독보적인 위치에 있습니다.
저는 공정한 속도 및 품질 비교를 위해 Pocket TTS를 프리셋 음성(alba)으로 고정하여 벤치마크를 진행했습니다. 복제 기능은 아래 수치에 포함되지 않았는데, 그 기능을 갖추지 않은 모델들과는 비교할 수 없기 때문입니다.
전체 결과:
Config 평균 RTF UTMOS MOS 파라미터(Params) 라이선스(License)
Supertonic 3 (2-step) 0.121 1.53 ~99M OpenRAIL-M
Inflect-Nano-v1 0.145 3.48* 4.6M Apache 2.0
Supertonic 3 (5-step) 0.240 4.32 ~99M OpenRAIL-M
Kokoro 82M (ONNX) 0.641 4.44 82M Apache 2.0
Kokoro 82M (PyTorch) 0.665 4.46 82M Apache 2.0
Pocket TTS 0.714 4.10 ~100M MIT
하드웨어: Intel Xeon 8272CL, 4 코어, 16GB RAM, GPU 없음. UTMOS는 객관적 MOS 예측기인 utmos22_strong이며, 따라서 이번에는 제 귀에만 의존한 것이 아닙니다.
Inflect-Nano의 별표(*) 표시: UTMOS는 3.48을 부여했지만, 실제로 들어보면 지직거리는 소리(buzzy)가 나고 로봇 같습니다. 이는 UTMOS가 작은 HiFi-GAN 보코더(vocoder)를 자연스럽기보다는 깨끗하다는 이유로 과대평가하는 알려진 실패 모드(failure mode)입니다. 또한 벤치마크 도중 발견했는데, 약 15초의 출력 제한이 있어 긴 입력에 대한 RTF(Real-Time Factor)가 부풀려져 있습니다.
실용적인 선택:
CPU에서 음성 복제(voice cloning)가 필요함 → Pocket TTS, 이 분야에서 다른 대안은 없음
고정된 목소리, 최고 품질 → Kokoro 82M
수용 가능한 품질과 함께 지연 시간(latency)이 중요함 → 5-step 방식의 Supertonic 3
짧은 발화에 대한 매우 작은 점유 공간(tiny footprint) → Inflect-Nano-v1, 지직거리는 소리와 15초 제한을 감수할 수 있다면
프로토타이핑 전용 → 2-step 방식의 Supertonic 3
언급할 만한 두 가지 사항:
Pocket TTS 설치는 진정으로 고통이 없습니다. pip install pocket-tts로 설치하며, CUDA 빌드나 HuggingFace-repo-plus-sys.path 연결 작업이 필요 없습니다. 첫 로드 시 가중치(weights)를 다운로드합니다. 여섯 모델 중 가장 까다롭지 않습니다.
MIT 라이선스는 매우 큰 장점입니다. Kokoro는 Apache 2.0(이 또한 훌륭합니다)입니다. Supertonic은 상업적 제한이 있는 OpenRAIL-M입니다. Pocket TTS가 MIT 라이선스라는 것은 상업적으로 거의 무엇이든 할 수 있음을 의미합니다.
원본 CSV(180행), 36개의 WAV 샘플 전체, 그리고 벤치마크 스크립트가 포함된 저장소(Repo)는 아래 댓글에 있습니다 👇
혹시 여기서 실제 참조 클립(reference clip)으로 Pocket TTS 음성 복제를 실행해 본 분이 계신다면, 다양한 목소리 유형(억양이 있는 영어, 비영어, 노래 등)에서 성능이 어떻게 유지되는지 정말 듣고 싶습니다. 그것이 제가 다음에 테스트하고 싶은 것이지만, 깨끗한 데이터셋이 필요합니다.
제출자: /u/gvij
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기