
들어가며
며칠 전 Supertonic 3가 릴리즈되었다는 소식을 들었다. Supertonic은 한국 스타트업 Supertone이 만든 온디바이스 TTS 엔진으로, ONNX Runtime 기반으로 로컬에서 구동되어 클라우드 의존성이 전혀 없다. 나는 이걸 OpenAI /v1/audio/speech 규격으로 감싸는 프록시(supertonic-openai-tts-proxy)를 만들어 Hermes Agent의 TTS 백엔드로 쓰고 있었는데, 이번에 v3로 업그레이드하면서 경험한 내용을 정리해본다.참고로 이 작업에는 Hermes Agent를 쓰고 있고, 백엔드 모델로 이번에는`deepseek/deepseek-v4-flash`를 사용했다. AI 에이전트한테 "Supertonic 3 나왔대, 비교해봐"부터 시작해서 모델 다운로드, 코드 수정, 서비스 재시작까지 전반적인 도움을 받았다.
Supertone? 한국의 AI 음성 스타트업. 음성 합성 기술로 유명하며,
Supertonic은 그들의 오픈웨이트 온디바이스 TTS 프로젝트다.
v2 → v3, 뭐가 달라졌나?
| 항목 | Supertonic 2 | Supertonic 3 |
|---|---|---|
| 출시일 | 2026.01.06 | 2026.04.29 |
| 지원 언어 | 5개 (en, ko, ja 등) | 31개로 대폭 확장 |
| 읽기 정확도 | 기본 양호 | 반복/건너뛰기(skip/repeat) 실패 대폭 감소 |
| 화자 유사도 | 기준 | 동일 언어군에서 향상 |
| 모델 크기 | ~252MB | ~381MB (vector_estimator가 127M→245M) |
| 샘플레이트 | 24000 Hz (추정) | 44100 Hz |
| ONNX 호환성 | v2 전용 | v2 인터페이스 호환 유지 |
| 표현 태그 | - | <laugh>, <breath>, <sigh> 지원 |
가장 체감되는 변화
- 언어가 5개에서 31개로 — 한국어/영어/일본어만 되던 게 갑자기 독일어, 프랑스어, 스페인어, 러시아어, 베트남어, 힌디어, 아랍어 등등 유럽어 + 아시아어까지 커버
- 읽기 안정성 — v2에서 가끔 단어를 건너뛰거나 반복해서 읽던 문제가 거의 사라짐
- 샘플레이트 44100 Hz — CD 음질로 업그레이드
- v2와 호환되는 ONNX 인터페이스 — 기존 연동 코드를 거의 안 건드려도 됨
업그레이드 과정
1. 모델 다운로드
v3는 아직 pip install supertonic에서 기본 모델로 제공되지 않는다. (AVAILABLE_MODELS에 supertonic-3가 아직 없음) 그래서 Hugging Face에서 직접 받았다.
# git-lfs 설치
sudo apt install git-lfs
git lfs install
# v3 모델을 ~/.cache/supertonic3에 클론
cd ~/.cache && git clone https://huggingface.co/Supertone/supertonic-3 supertonic3
v2는 252MB였는데 v3는 381MB로 약 1.5배 커졌다. 특히 vector_estimator.onnx가 127MB → 245MB로 거의 두 배.
2. 프록시 코드 수정
이전에 supertonic 2 tts 를 디바이스에 설치하고 헤르메스에 tts 엔진으로 구축했는데 이번에 3로 판올림을 진행했다.
# Before: auto_download로 v2 모델 사용
def get_tts():
return TTS(auto_download=True)
# After: v3 모델 디렉토리를 직접 지정
V3_MODEL_DIR = os.path.expanduser("~/.cache/supertonic3")
def get_tts():
return TTS(auto_download=False, model_dir=V3_MODEL_DIR, model="supertonic-2")
포인트는 auto_download=False로 하고 model_dir에 v3 경로를 직접 박는 것. model 파라미터는 어차피 하위호환성을 위해 supertonic-2로 남겨도 정상 동작한다. (내부적으로 multilingual 플래그만 확인)
3. 엔드포인트 및 기본값 업데이트
/v1/models→supertonic-2에서supertonic-3로total_steps기본값 3 → 6 (음질 향상, 속도와 트레이드오프)
4. Hermes Config 업데이트
tts:
provider: openai
openai:
model: supertonic-3 # ← 이거 한 줄
voice: F1
speed: 1.3
base_url: http://127.0.0.1:8789/v1
5. 서비스 재시작
systemctl --user restart supertonic-openai-tts-proxy
테스트
# 한국어 테스트
curl -X POST http://127.0.0.1:8789/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model":"supertonic-3","input":"안녕하세요, Supertonic 3 테스트입니다.","voice":"F1","lang":"ko"}' \
-o test.wav
# 영어 테스트
curl -X POST http://127.0.0.1:8789/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model":"supertonic-3","input":"Hello, this is Supertonic 3.","voice":"M1","lang":"en","response_format":"mp3"}' \
-o test.mp3
둘 다 깔끔하게 200 OK. 44100 Hz WAV, 128kbps MP3 모두 정상.
알게 된 점 / 팁
- pip 패키지가 아직 v3를 공식 지원하지 않는다 —
AVAILABLE_MODELS가['supertonic', 'supertonic-2']뿐.model_dir로 우회해야 함. pip 패키지 업데이트를 기다리거나 직접 PR을 넣을 수도 있을 듯. - v2 ONNX 인터페이스와 완전 호환 —
text_encoder.onnx,duration_predictor.onnx,vector_estimator.onnx,vocoder.onnx구조가 v2와 동일해서 Drop-in replacement 가능. - 모델 크기 증가 — 252MB → 381MB (약 50% 증가). 하지만 그래도 0.7B~2B급 대형 TTS 모델들에 비하면 엄청 가벼운 편. 라즈베리파이에서도 돌아간다는 게 증명됨.
- total_steps로 품질/속도 조절 — 기본값 3에서 6 정도면 음질 눈에 띄게 좋아지고, 속도도 실사용에 무리 없는 수준.
- Hermes TTS와의 연동 — OpenAI 호환 API 덕분에
base_url만 프록시 주소로 바꾸면 끝. 프록시가 중간에서 Supertonic을 OpenAI 규격으로 감싸주는 구조.
결론
Supertonic 3는 단순한 마이너 업데이트가 아니라 언어 지원 대폭 확장과 읽기 안정성 개선이 확실히 체감되는 메이저 업데이트다. v2에서 v3로의 마이그레이션은 ONNX 인터페이스 호환성 덕분에 아주 순조로웠고, 거의 Drop-in 수준이었다.
온디바이스 TTS의 퀄리티가 이 정도면, 클라우드 TTS를 대체할 만한 실용적인 선택지가 된 것 같다. 특히 Supertonic은 무료 + 프라이버시 완전 보장 + 오프라인이라는 세 가지를 다 잡은 게 가장 큰 강점.
참고: 프록시 코드 : https://github.com/sanguneo/supertonic-openai-tts-proxy
*Supertone 공식: https://github.com/supertone-inc/supertonic
Hugging Face 모델: https://huggingface.co/Supertone/supertonic-3
'Study > AI' 카테고리의 다른 글
| Hermes Agent core 수정 없이 Supertonic2 TTS 붙이기 (0) | 2026.04.24 |
|---|---|
| insane-search-hermes를 공개했습니다 (0) | 2026.04.22 |
| Google AI Studio, 구독만으로 더 넓어진 실험 한도 (0) | 2026.04.21 |
| 한국어 TTS 비교 후기: EdgeTTS를 거쳐 Supertonic-2로 정착하기까지 (0) | 2026.04.16 |
| OpenClaw 에이전트로 민방위 인터넷 교육 이수 (0) | 2026.04.15 |