- ONNX 기반의 경량 텍스트-음성 변환(TTS) 라이브러리로, CPU만으로 고품질 음성 합성을 수행
- 모델 크기는 15M~80M 파라미터(25~80MB) 범위로, GPU 없이도 효율적 실행 가능
-
8가지 내장 음성과 속도 조절, 텍스트 전처리 파이프라인, 24kHz 오디오 출력 기능 제공
- Hugging Face에서 바로 사용 가능하며, Python API로 간단히 통합 가능
-
엣지 디바이스 배포와 상용 통합 지원을 목표로 한 오픈소스 TTS 솔루션
Kitten TTS 개요
- Kitten TTS는 ONNX 기반 오픈소스 TTS 라이브러리로, GPU 없이 CPU에서 고품질 음성 합성을 수행
- 모델 크기는 15M~80M 파라미터이며, 디스크 기준 25~80MB
- 버전 0.8에서는 15M, 40M, 80M 모델이 제공됨
- 현재 개발자 프리뷰 단계로, API는 향후 변경될 수 있음
-
상용 지원(통합 지원, 커스텀 음성, 엔터프라이즈 라이선스) 제공
주요 기능
-
초경량 구조: int8 기준 25MB부터 시작해 엣지 환경 배포에 적합
-
CPU 최적화: GPU 없이도 효율적인 ONNX 추론 수행
-
8가지 내장 음성: Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo
-
속도 조절 기능: speed 파라미터로 발화 속도 제어
-
텍스트 전처리 파이프라인: 숫자, 통화, 단위 등을 자동 처리
-
24kHz 출력: 표준 샘플레이트의 고품질 오디오 생성
제공 모델
- 네 가지 모델이 제공됨
- kitten-tts-mini (80M, 80MB)
- kitten-tts-micro (40M, 41MB)
- kitten-tts-nano (15M, 56MB)
- kitten-tts-nano (int8, 15M, 25MB)
- 일부 사용자는 kitten-tts-nano-0.8-int8 모델에서 문제를 보고했으며, 이슈 등록을 권장
데모 및 사용법
-
Hugging Face Spaces에서 브라우저로 직접 체험 가능
-
Python 3.8 이상과 pip만으로 설치 가능
- 기본 사용 예시:
-
from kittentts import KittenTTS
-
model = KittenTTS("KittenML/kitten-tts-mini-0.8")
-
audio = model.generate("텍스트", voice="Jasper")
- 고급 기능: 속도 조절(speed), 파일 저장(generate_to_file), 사용 가능한 음성 목록 조회
API 구조
-
KittenTTS(model_name, cache_dir=None)
-
model.generate(text, voice, speed, clean_text)
-
model.generate_to_file(text, output_path, voice, speed, sample_rate, clean_text)
-
model.available_voices
시스템 요구사항
-
운영체제: Linux, macOS, Windows
-
Python: 3.8 이상
-
하드웨어: CPU만 필요, GPU 불필요
-
디스크 공간: 모델에 따라 25~80MB
- 가상환경(venv, conda 등) 사용 권장
로드맵
-
추론 엔진 최적화, 모바일 SDK, 고품질 모델, 다국어 TTS, KittenASR 출시 예정
- 추가 요청은 GitHub Issues를 통해 접수 가능
상용 지원
커뮤니티 및 지원
-
Discord 커뮤니티, 공식 웹사이트, 이메일 지원, GitHub Issues 운영
- 공식 사이트: kittenml.com
라이선스
- 프로젝트는 Apache License 2.0 하에 배포됨