# Pocket TTS: CPU에 목소리를 부여하는 고품질 TTS

> Clean Markdown view of GeekNews topic #25871. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25871](https://news.hada.io/topic?id=25871)
- GeekNews Markdown: [https://news.hada.io/topic/25871.md](https://news.hada.io/topic/25871.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-16T17:33:33+09:00
- Updated: 2026-01-16T17:33:33+09:00
- Original source: [kyutai.org](https://kyutai.org/blog/2026-01-13-pocket-tts)
- Points: 18
- Comments: 4

## Summary

**Pocket TTS**는 1억 개 파라미터로 구성된 **경량 텍스트-음성 변환 모델**로, 일반 노트북 CPU에서도 실시간으로 고품질 음성을 합성합니다. **연속 잠재 벡터 예측(Continuous Audio Language Model)** 방식을 채택해 기존 이산 토큰 기반 구조의 병목을 제거하고, 약 5초 분량의 음성만으로 화자의 음색과 감정을 정밀하게 복제합니다. **MIT 라이선스 오픈소스**로 공개되어, GPU 없이도 고품질 음성 복제를 구현할 수 있는 새로운 기준을 제시합니다.

## Topic Body

- 1억 개의 파라미터로 구성된 **Pocket TTS**는 음성 복제 기능을 갖춘 **경량 텍스트-음성 변환 모델**로, 일반 노트북 CPU에서도 실시간 실행 가능  
- 기존의 대형 **LLM 기반 TTS(10억 개 이상 파라미터)** 와 소형 **Kokoro TTS(8,200만 파라미터)** 사이의 성능 격차를 줄이며, **고품질과 효율성**을 동시에 달성  
- 약 **5초 분량의 음성 샘플**만으로 화자의 음색, 감정, 억양, 음향 조건 등을 정확히 복제  
- **Continuous Audio Language Model** 기반 구조를 사용해 **이산 토큰 대신 연속 잠재 벡터**를 직접 예측, 품질 저하 없이 모델 크기를 축소  
- **MIT 라이선스 오픈소스**로 공개되어, CPU 환경에서도 고품질 음성 합성을 실현하는 **경량 TTS 기술의 새로운 기준** 제시  

---

### Pocket TTS 개요
- Pocket TTS는 **1억 개 파라미터**의 텍스트-음성 변환 모델로, **음성 복제(voice cloning)** 기능을 지원  
  - 노트북 CPU에서도 **실시간으로 실행 가능**  
  - 명령어 `uvx pocket-tts serve` 또는 `uvx pocket-tts generate`로 로컬 실행 가능  
- **Kyutai**가 개발했으며, **MIT 라이선스**로 오픈소스 공개  
  - 학습 데이터는 **공개 영어 음성 데이터셋만 사용**  
  - 추가적인 비공개 데이터로의 확장 가능성 언급  

### 기존 TTS 모델과의 비교
- 현재 TTS 기술은 두 가지로 나뉨  
  - **대형 LLM 기반 모델**: 예) Kyutai TTS 1.6B (약 16억 파라미터)  
    - 다양한 음성, 감정, 음향 조건을 모델링 가능하지만 **GPU 필요**  
  - **소형 특화 모델**: 예) Kokoro TTS (8,200만 파라미터)  
    - **고정된 음성 세트**와 **수작업 파이프라인**을 사용해 효율적이지만 유연성 제한  
- Pocket TTS는 이 두 접근법의 **중간 지점**을 차지하며, **CPU에서도 고품질 음성 합성** 가능  

### 성능 평가
- **Librispeech test-clean 세트**로 평가 수행  
  - 오디오 입력은 **Adobe Enhance Speech**로 정제해 24kHz 품질 확보  
- 비교 대상: F5-TTS, DSM, Chatterbox Turbo, Kokoro TTS  
- 평가 지표:  
  - **Word Error Rate (WER)**  
  - **오디오 품질(ELO)**  
  - **화자 유사도(ELO)**  
- 결과 요약:  
  - Pocket TTS는 **WER 1.84**로 가장 낮은 오류율  
  - **오디오 품질**은 F5-TTS 및 DSM보다 우수  
  - **화자 유사도**는 기준 음성과 동등 수준  
  - **CPU에서 실시간보다 빠르게 실행 가능한 유일한 모델**  

| 모델 | 파라미터 수 | WER ↓ | 오디오 품질(ELO) ↑ | 화자 유사도(ELO) ↑ | CPU 실시간 실행 |
|------|--------------|--------|--------------------|--------------------|----------------|
| F5-TTS | 336M | 2.21 | 1949 ± 27 | 1946 ± 26 | ✗ |
| Kyutai TTS 1.6B | 750M | 1.84 | 1959 ± 25 | 2037 ± 21 | ✗ |
| Chatterbox Turbo | 350M | 3.24 | 2055 ± 23 | 2012 ± 22 | ✗ |
| Kokoro | 82M | 1.93 | 음성 복제 없음 | 음성 복제 없음 | ✓ |
| **Pocket TTS** | **100M** | **1.84** | **2016 ± 25** | **1898 ± 26** | **✓** |

- **Intel Core Ultra 7 165H** 및 **Apple M3** CPU에서 테스트 시, Pocket TTS와 Kokoro만 **실시간 합성 가능**  

### 아키텍처
- Pocket TTS는 **Continuous Audio Language Model** 연구를 기반으로 설계  
  - 기존 방식은 **이산 오디오 토큰**을 예측했으나, Pocket TTS는 **연속 잠재 벡터(latent)** 를 직접 예측  
  - 이를 통해 **RQ-transformer 병목 제거** 및 **모델 경량화** 달성  

#### Neural Audio Codec
- **Mimi** 코덱 기반으로 설계  
  - Mimi는 이산 토큰으로 압축하지만, Pocket TTS는 **연속 잠재 표현** 사용  
  - **정규분포로 정규화된 VAE 학습** 적용  
  - **WavLM**을 **코사인 유사도 손실**로 내재 표현에 증류(distillation)  
  - RVQ 단계를 제거하고 전체 잠재 표현에 증류 손실 적용  

#### Generative Model
- **Masked Autoregressive(MAR)** 프레임워크 기반  
  - **Causal Transformer 백본**과 **MLP 샘플러**로 구성  
  - **Lagrangian Self-Distillation(LSD)** 손실을 사용해 **1-step 샘플링** 구현  
  - 추론 시, 예측된 잠재 벡터를 **자동회귀적으로 피드백**  

#### 음성 및 텍스트 조건화
- 모델 입력은 **음성 프롬프트(몇 초)** 와 **텍스트**를 결합  
  - 음성은 코덱 인코더로, 텍스트는 **SentencePiece 토크나이저**로 임베딩  

#### 모델 크기 구성
- **생성 모델(Transformer + MLP)** : 9천만 파라미터  
- **코덱 디코더**: 1천만 파라미터  
- **코덱 인코더**: 1,800만 파라미터 (음성 샘플 인코딩 시 1회만 사용)  

### 학습 데이터
- 전부 **공개 영어 음성 데이터셋**으로 구성, 총 **88,000시간**  
  - AMI, EARNINGS22, GIGASpeech, SPGISpeech, TED-LIUM, VoxPopuli, LibriHeavy, Emilia  

### 주요 기술 기여
#### Head Batch Multiplier
- Transformer의 연산 병목을 완화하기 위해 **z 벡터를 여러 번 재사용**  
  - 각 입력 시퀀스에 대해 z를 한 번 계산 후 **8회 손실 계산에 재활용**  
  - **효율성 향상** 및 **학습 안정화** 효과  

#### Gaussian Temperature Sampling
- 연속 공간에서도 **샘플링 온도 조절**을 적용  
  - **가우시안 노이즈 분산 축소**로 품질 향상  
  - **온도 0.7**에서 좋은 결과 확인  

#### Latent Classifier-Free Guidance (Latent CFG)
- 기존 CFG를 **잠재 변수(z)** 수준에서 적용  
  - 조건부/비조건부 출력을 선형 결합해 **품질 향상**  
  - **α=1.5** 사용  
  - **SoundReactor** 연구에서도 유사 개념 등장  

#### Distillation
- **CFG 모델을 교사 모델로 사용**해 **경량 학생 모델**로 증류  
  - 교사 모델의 MLP 헤드를 고정하고, 학생 모델이 **L2 손실**로 z를 학습  
  - **24층 교사 모델 → 6층 학생 모델**로 축소 가능  

### 결론
- Pocket TTS는 **CPU에서도 실시간 고품질 음성 합성**이 가능한 **경량 TTS 모델**  
- **연속 잠재 공간 기반 구조**, **효율적 학습 기법**, **음성 복제 기능**을 결합  
- **오픈소스 MIT 라이선스**로 공개되어, **개발자와 연구자에게 재현성과 확장성**을 제공

## Comments



### Comment 49357

- Author: xguru
- Created: 2026-01-16T23:32:12+09:00
- Points: 4

한국어 지원되는 오픈 TTS 모델은 잘 보이지가 않네요.   
예전에 공개된 [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) 이 한국어를 지원하다고는 하던데 품질이 좋은거 같지는 않다는 얘기를 들었고,  
잠깐 찾아보니 [GPT-Sovits](https://github.com/RVC-Boss/GPT-SoVITS) 로 만들어 쓰거나, [Edge-TTS](https://github.com/rany2/edge-tts) 같은거로 하면 나름 괜찮게 나온다고는 하고요.  
  
요즘 바이브코딩하면서 Whisper 랑 붙이면 뭔가 재미난게 나올거 같기는 한데 아이디어가 없네요 ㅎ

### Comment 49418

- Author: ng0301
- Created: 2026-01-18T16:21:40+09:00
- Points: 1

최근 Supertonic에서 한글까지 되는 모델 내놨는데 한번 찾아보세용.  
  
딸깍용 라이브러리도 만들어봤어요!  
  
https://www.npmjs.com/package/easy-supertonic-tts

### Comment 49451

- Author: bichi
- Created: 2026-01-19T10:12:42+09:00
- Points: 1
- Parent comment: 49418
- Depth: 1

멋지네요 그런데 만들면서 대상 리소스 주소도 함께 있다면 좋을꺼 같아요 그냥 막 깔순 없어서 ㅎㅎ

### Comment 49342

- Author: neo
- Created: 2026-01-16T17:33:33+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46628329) 
- 내 글에 이렇게 많은 관심이 생겨서 정말 기쁨임  
  나는 파리에서 **Kyutai 연구를 기반으로 한 엔터프라이즈급 음성 솔루션**을 개발하는 팀의 일원임  
  이 분야에서 무언가를 만들고 있는 사람이라면, 다가올 모델과 기능을 공유하고 싶음  
  내 프로필에 있는 이메일로 연락 주면 좋겠음
  - 대단한 작업임. 일상적인 기기에서도 로컬로 실행 가능한 수준까지 **한계를 밀어붙인 성과**라고 생각함

- 긴 케이스 스터디를 읽다가 브라우저 확장이 필요하다는 걸 깨닫고, 직접 브라우저 인터페이스를 만들어봄  
  결과물은 [Pocket Reader](https://github.com/lukasmwerner/pocket-reader)임

- 흥미로워서 바로 **MCP 서버**로 만들어 Claude가 작업 완료를 알려주도록 설정했음  
  [speak_when_done](https://github.com/Marviel/speak_when_done)
  - macOS에는 이미 꽤 자연스러운 **TTS 기능**이 내장되어 있음  
    나도 비슷한 도구를 만들어 `say` 명령어를 백그라운드 프로세스로 돌렸는데, 좋은 음성을 일관되게 설정하기가 어려웠음  
    그 자연스러운 음성이 어딘가 숨겨져 있는 듯함  
  - 나도 최근에 **piper-tts**로 비슷한 걸 만들어봄  
    [speak-mcp](https://github.com/tylerdavis/speak-mcp)
  - 나도 같은 이유로 **Pushover**를 설정해서 휴대폰으로 알림을 받게 했음  
    이제 당신의 서버도 시도해볼 예정임

- 이번엔 코드 품질이 정말 좋음  
  보통 새로운 모델들의 코드베이스는 불필요한 **의존성 덤프**로 가득한데, 이번엔 소프트웨어 엔지니어링적으로도 훌륭함

- 공유해줘서 고마움! 나는 **Kokoro 팬**이라 로컬 음성 비서를 직접 구축했음  
  [ova 프로젝트](https://github.com/acatovic/ova)  
  Pocket TTS도 꼭 써볼 예정임
  - TTS 성능은 **Kokoro가 훨씬 낫다고 느낌**  
    다만 Pocket TTS는 폐쇄적이라 음성 복제 기능은 확인 불가함  
  - 저장소 멋짐! 나도 시도해볼 예정임  
    혹시 **mlx 기반**인지 아니면 **Hugging Face transformers** 기반인지 궁금함

- 이 프로젝트를 **작은 정적 바이너리**로 배포할 수 있을지 궁금함  
  현재 의존성이 꽤 큼
  - 관련 이슈는 [여기](https://github.com/mmwillet/TTS.cpp/issues/127)에서 추적 가능함

- 정말 마음에 듦  
  다만 MIT 라이선스라고 되어 있는데, README에 별도의 **금지된 사용(Prohibited Use)** 섹션이 있어서 비자유 소프트웨어가 되는 건 아닌지 헷갈림
  - 내 이해로는 **코드는 MIT**, 하지만 **모델은 별도 라이선스**임  
    이미지나 사운드처럼 ML 모델도 소프트웨어로 간주되지 않을 수 있음  
    Hugging Face 모델 카드에도 같은 금지 조항이 있음  
  - MIT 라이선스에는 “제한 없이 사용할 수 있다”는 문구가 있음  
    따라서 README의 금지 항목은 **법적으로 상충**될 가능성이 있음  
  - 금지 조항은 “범죄에 사용하지 말라” 수준이라 **법적 효력은 미미**할 듯함  
  - “사용해도 된다, 하지만 이런 용도로는 안 된다”면 실제로 **라이선스를 위반한 건지** 애매함  
  - 금지 조항은 불필요한 **형식적 장식**처럼 느껴짐

- M1 Mac에서 `uvx pocket-tts serve`를 실행해봤음  
  테스트로 **『두 도시 이야기』의 첫 문단**을 읽게 했는데, Javert 음성이 문장을 중간중간 **건너뛰는 문제**가 있었음  
  예를 들어 “it was the age of foolishness” 같은 구절이 생략됨  
  신뢰가 떨어지는 부분임  
  관련 이슈는 [여기](https://github.com/kyutai-labs/pocket-tts/issues/38)에 올림
  - 내 테스트에서도 “we had everything before us” 부분이 생략됨. 확실히 좋지 않은 신호임  
  - 나도 같은 현상을 봄. 문장을 건너뛰거나 단어 순서를 바꾸는 등 **출력 왜곡**이 있었음 (Win10 RTX 5070 Ti)  
  - Eponine 음성으로도 “we had nothing before us”를 생략하고 마지막 문장을 말하지 않음. 내부적으로 뭔가 잘못된 듯함

- 나는 그동안 음성 모델을 많이 써보지 않았는데, Pocket TTS를 통해 **unmute.sh**를 알게 됨  
  오픈소스이고 같은 회사에서 만든 것 같음  
  이 모델들은 **홈랩 환경에서도 저비용으로 충분히 활용 가능**해 보임  
  오픈소스 모델들이 상향 평준화되어 있어서 거의 모든 용도에 맞는 게 있음  
  진짜 진입장벽이 남아 있는 분야는 **코딩 모델**뿐인 듯함  
  Deepseek 4가 Claude Sonnet을 이길 수 있을지도 흥미로움

- 내 **Codex 플러그인**에 통합해서 각 턴이 끝날 때 요약을 읽어주게 했는데, 놀라울 정도로 잘 작동함  
  내 MacBook에서 **Samantha보다 훨씬 부드럽게** 실행됨  
  [agentify-sh/speak](https://github.com/agentify-sh/speak/)
