5uck1ess/tts-bench
Speed and samples benchmark: for all types of text to speech (TTS) models on Windows/Linux/Mac.
tts‑bench – 텍스트 음성 변환 모델용 로컬 벤치마크 스위트
정의 – tts‑bench는 자체 하드웨어에서 수많은 오픈소스 TTS 모델을 실행하고 세 가지 측면에서 비교할 수 있는 Python 기반 도구입니다.
| 측면 | 측정 내용 | 표시 방법 |
|---|---|---|
| 속도 | 콜드/웜 첫 오디오 시간(TTFA), 실시간 계수(RTFx), 메모리 사용량. CPU, CUDA GPU, Apple-Silicon(MPS)에서 실행. | 머신별 정렬 가능한 테이블(예: Ryzen 9 + RTX 5090, Apple M4, RTX 3090). |
| 듣기 | 모든 벤치마크 프롬프트에 대한 각 모델의 원시 오디오 출력. 모델 내장 음성 및 제로샷 음성 복제 버전 모두. | 데모 사이트의 인라인 <audio> 플레이어. 프롬프트 또는 모델별로 탐색 가능. |
| 점수 | 객관적 품질 수치: UTMOS(자연스러움), WER(명료도), SIM(음성 복제 충실도). | 대화형 정렬 가능한 테이블 및 상위 15개 차트. 기본/복제 토글로 두 그룹을 분리하여 볼 수 있음. |
이 스위트는 현재 단일 '전체 품질' 지표를 제공하지 않습니다. 저자는 NAQ 점수를 시도했지만 인간 선호도와 일치하지 않아 제거했습니다.
빠른 시작(README에서)
- 소형 패키지 관리자 uv와 Python 3.11을 설치합니다.
- 제공된 설치 스크립트(Windows PowerShell 또는 Unix 셸)를 실행합니다. 모든 모델을 설치하거나 하위 집합을 선택할 수 있습니다. 예:
전체 세트는 약 165GB(리포지토리의 가상 환경 파일 약 39GB +./install.sh kokoro piper miso # Linux/macOS .\install.ps1 kokoro,piper,miso # Windows~/.cache/huggingface에 캐시된 모델 가중치 약 125GB)를 차지합니다. - 벤치마크 실행:
가상 환경 폴더가 존재하는 모델만 실행되므로 부분 설치도 문제없습니다.python bench.py - 선택적 도우미:
python speak.py <model>– 단일 발화를 재생합니다.python compare.py "your phrase"– 두 모델에 대한 나란히 A/B 클립을 생성합니다.bench.py에--reference <wav>를 추가하여 자체 음성 샘플로 복제 모델을 평가합니다.
벤치마크 대상은?
리포지토리는 75개 모델(사전 정의 음성 및 제로샷 복제 모델 모두)을 추적합니다. 몇 가지 하이라이트:
- 고급 GPU에서 가장 빠름:
Kokoro(웜 TTFA 67ms, 실시간 104배). - CPU에서 가장 빠름:
Piper(Ryzen 9에서 웜 TTFA 약 107ms, 실시간 59배). - 최고 복제 후보(공개 블라인드 A/B 투표 아레나 기반):
- OmniVoice – 음성 일치 최고지만 단어를 누락할 수 있음.
- Echo‑TTS – 근소한 차이로 2위, 깨끗한 44.1kHz 출력.
- IndexTTS‑2 – 3위.
- 듣기 측면은 '최고 음질'을 결정하는 권장 방법입니다. 객관적 점수(UTMOS, WER, SIM)는 보조 수단일 뿐이며, 인간의 귀가 최종 기준입니다.
점수 계산 방법
- UTMOS – 자연스러움의 신경 예측기.
- WER – ASR 모델의 단어 오류율(
seed‑tts‑eval리포지토리와 동일한 접근 방식). - SIM – 복제 모델용 화자 검증 유사도.
모든 지표는 동일한 벤치마크 프롬프트 세트에서 실행됩니다. 코드는 scoring 가상 환경에 있습니다(Linux에서는 설치 명령에 scoring 또는 scoring_sim 추가).
커뮤니티 및 확장성
- 인간 선호도 아레나 – Hugging Face Spaces 앱(
tts‑arena)으로 누구나 클립 쌍에 투표할 수 있습니다. 투표는 실시간 Elo 리더보드에 반영되며 README에서 '최고 복제'로 참조합니다. - 모델 추가 – 러너 프로토콜은
docs/architecture.md를 참조하세요. 모델 테이블에 새 항목을 추가하고 동일한 CLI를 따르는 작은 래퍼를 제공하기만 하면 됩니다. - 알려진 문제 및 라이선스 – 모델별 자세한 메모는
docs/known‑issues.md및docs/expressive‑control.md에 있습니다.
누가 사용할까요?
- 연구자 – 자신의 머신에서 많은 오픈소스 TTS 시스템을 재현 가능하게 비교하려는 사람.
- 개발자 – 애플리케이션용 모델을 선택하는 사람(예: 저지연 온디바이스 합성 vs. 고품질 음성 복제).
- 애호가 – 수십 가지 음성을 듣고 투표하는 것을 즐기는 사람.
결론
tts‑bench는 로컬 텍스트 음성 변환 모델을 위한 진정하고 상당히 포괄적인 벤치마크 스위트입니다. 속도 수치, 객관적 품질 지표, 각 모델을 쉽게 들을 수 있는 방법, 주관적 순위를 위한 커뮤니티 기반 투표 시스템을 제공합니다. 프로젝트는 잘 문서화되어 있으며 여러 하드웨어 백엔드를 지원하고 새 모델로 확장할 수 있습니다.
관련
- Dispatch
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트