Kyutai의 Pocket TTS, 5초 오디오로 CPU에서 음성 복제 가능 (MIT 라이선스). Kokoro, Supertonic, Inflect-Nano와 영어 TTS 벤치마크 비교
Kyutai's Pocket TTS clones a voice from 5 seconds of audio, on CPU, under MIT. Benchmarked against Kokoro, Supertonic, and Inflect-Nano for Eng. TTS
핵심 요약
CPU 환경에서 5초 만에 음성 복제가 가능한 Pocket TTS의 성능을 주요 오픈소스 모델들과 비교 분석함.
- Pocket TTS 특징 — 100M 파라미터의 스트리밍 LLM 기반 오디오 모델로 CPU에서 구동됨
- 음성 복제 성능 — 5초 분량의 레퍼런스 오디오만으로 즉각적인 제로샷 음성 복제 지원
- 벤치마크 결과 — 속도는 다소 느리지만 MIT 라이선스와 스트리밍 기능으로 차별화됨
- 설치 편의성 — 별도의 CUDA 빌드 없이 pip 설치만으로 간편하게 사용 가능
얼마 전에 Kyutai에서 Pocket TTS를 내놨길래 벤치마크 좀 돌려봤다. 요즘 주목받는 CPU용 TTS 모델 3종(Kokoro 82M, Supertonic 3, Inflect-Nano-v1)이랑 제대로 붙여봤음. 180번 테스트 돌리고, 오디오 샘플 36개 뽑아서 UTMOS로 객관적인 MOS 점수까지 매겨봤다.
결론부터 말하면, Pocket TTS가 테스트한 6개 설정 중에 속도는 제일 느린데, 그래도 이 바닥에서 제일 흥미로운 모델인 건 확실함. 왜 그런지 설명해줌.
Pocket TTS의 정체:
이건 약 1억 개 파라미터를 가진 스트리밍 언어 모델인데, Kyutai의 Mimi 뉴럴 코덱으로 오디오 토큰을 생성한 다음 24kHz로 디코딩하는 방식임. 그러니까 흔히 쓰는 '어쿠스틱 모델 + 보코더' 조합이 아니라, 오디오를 위한 자기회귀(autoregressive) LLM에 더 가깝다고 보면 됨. 토큰 단위로 하나씩 뱉는 거지.
이 구조 때문에 생기는 특징 두 가지:
- 텍스트 길이에 상관없이 지연 시간(Latency)이 일정함. 12글자를 넣든 1712글자를 넣든 RTF가 0.69에서 0.76 사이임. 고정 오버헤드 같은 게 없다는 소리. 짧은 텍스트에선 0.49였다가 긴 텍스트에선 0.83까지 치솟는 Kokoro PyTorch랑 비교해보면 차이가 확 보임.
- 스트리밍이 됨. 인터랙티브한 거 만들 때 이게 얼마나 중요한지는 다들 알지?
5초 만에 끝내는 제로샷 보이스 클로닝. CPU에서.
이게 핵심임. 5초짜리 레퍼런스 클립만 던져주면 그 목소리를 그대로 복제해서 말함. 억양, 음색, 속도, 심지어 마이크 특성까지 다 잡아냄. 파인튜닝? 필요 없음. GPU? 필요 없음. 라이선스는 MIT임.
다른 CPU용 모델들은 이런 거 아예 못함. Kokoro나 Inflect-Nano, Supertonic은 다 고정된 목소리만 쓸 수 있거든. CPU 환경에서 사용자가 원하는 목소리를 쓰고 싶다? 지금은 Pocket TTS가 유일한 선택지임.
벤치마크는 공정한 속도/품질 비교를 위해 Pocket TTS를 기본 목소리(alba)로 고정하고 돌렸음. 클로닝 기능은 다른 모델엔 아예 없는 거라 이번 수치에는 포함 안 시켰다.
전체 결과:
| Config | Mean 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 |

