로컬 음성 인식·합성
로컬 TTS 모델 비교: 언어·장비·속도 근거 읽기
언어 수가 많거나 모델이 작다는 설명은 내 컴퓨터에서 얼마나 빨리 끝날지 알려주지 않습니다. Qwen3-TTS1 파생 CUDA2 런타임에는 RTX 4090·5090의 작성자 실측표가 있지만, Kokoro와 Chatterbox Multilingual V3를 포함한 동일 조건 비교는 아닙니다. 장치와 실행 버전, 요청 길이, 시간 경계를 함께 읽고 내 작업에서 따로 확인하는 법을 설명합니다.
먼저 결과물과 언어를 고르기
일반 내레이션, 다국어 안내, 특정 화자를 닮은 음성 중 무엇이 필요한지부터 정합니다. 그다음 언어와 실제 문장을 고릅니다. Kokoro는 8개 언어, Qwen3-TTS는 10개 언어, Chatterbox Multilingual V3는 23개 이상을 표기하지만, 범위 숫자는 발음 품질의 순위가 아닙니다. 같은 짧은 문장에 이름·숫자·문장부호를 넣어 결과를 들어보세요.
사용하려는 언어가 포함되어도 억양이나 전문 용어가 필요한 수준으로 나올지는 별도 질문입니다. 한 모델이 언어 목록을 넓게 제공하는 것과, 특정 지역·업무 문장을 정확하게 읽는 것은 같지 않습니다. ‘지원’ 체크와 ‘내 샘플에서 통과’ 체크를 따로 기록하세요.
기능과 실행 경로 비교
Kokoro는 82M 규모의 단순 읽기 시작점으로 볼 수 있고, 공식 README는 CPU/CUDA 예제와 Apple Silicon M1〜M4 MPS fallback을 제공합니다. Qwen3-TTS는 CustomVoice·VoiceDesign·Base로 사용 방식을 나누며, 공식 빠른 시작은 Python 3.12와 CUDA 예제를 설명합니다.
조사한 공식 빠른 시작에는 Qwen의 MPS·CPU3 경로가 없었습니다.
Chatterbox Multilingual V3는 500M의 다국어 모델로, 저장소의 Python 예제는 CPU·CUDA·MPS 장치를 선택합니다. 이 선택지는 실행 코드가 있다는 뜻이지 각각의 성능이 같다는 뜻은 아닙니다. Mac 사용자에게는 MPS가 문서화되어 있다는 점이 후보를 줄이는 데 도움이 되지만, 속도와 메모리는 별도 측정이 필요합니다.

공개된 시간 수치와 빠진 조건
Qwen README는 첫 오디오 패킷이 97ms까지 낮을 수 있다고 설명하지만, 장치·입력 길이·정밀도·batch·완료 경계가 붙어 있지 않습니다. 이는 스트리밍 TTFA 주장입니다. 별도 작성자 벤치마크 저장소에는 Qwen 파생 CUDA 경로의 RTX 4090·5090 수치가 있으며, 아래 표처럼 해당 버전과 측정 조건을 함께 읽어야 합니다.
아래 숫자는 이 사이트의 측정값이나 공식 Qwen 모델팀 결과가 아닙니다. faster-qwen3-tts 작성자는 RTX 4090에서 0.6B/1.7B CUDA 그래프 RTF4 4.78/4.22와 TTFA 156/174ms를 공개했으나 입력 길이와 반복 조건이 표에 없습니다. Triton 저장소의 RTX 5090 표는 BF165·batch 1, 한국어/영어 두 문장, 워밍업 3회 후 20회 측정 조건을 적었습니다.
표에 있는 두 저장소의 RTF는 ‘실제 음성 길이÷생성 시간’으로, 이 글에서 정의한 일반적인 RTF의 역수이며 값이 클수록 빠릅니다. 두 결과 모두 특정 최적화 스택에 관한 것임을 잊지 마세요.
Triton 표는 최초 모델 로드도 Hybrid 6.0초, 기본 PyTorch6 17.5초로 따로 제시합니다. 두 테스트 문장의 실제 출력 길이는 표에서 확인되지 않으므로 표시된 RTF와 요청 시간을 다른 길이의 문장에 그대로 적용하지 마세요.
체험 화면에 공통 예시 음성이 표시되더라도 선택한 모델로 생성한 비교 샘플이라는 뜻은 아닙니다. 결과 음질을 비교하려면 각 모델에서 같은 문장과 화자 조건으로 직접 생성하고, 출처와 설정을 확인하세요.
| 실행 환경·조건 | 요청 지연 | 첫 모델 로드 | 저장소 표기 RTF* | 첫 오디오 |
|---|---|---|---|---|
| RTX 4090 측정 · faster-qwen3-tts · 0.6B · CUDA Graph | 표에 미기재 | 표에 미기재 | 4.78 | 156 ms |
| RTX 4090 측정 · faster-qwen3-tts · 1.7B · CUDA Graph | 표에 미기재 | 표에 미기재 | 4.22 | 174 ms |
| Qwen3-TTS-Triton · RTX 5090 · 1.7B Hybrid · BF16 · 배치 1 · 한국어/영어 · 예열 3회 + 20회 측정 | 886 ms KO / 1,042 ms EN | 6.0 s | 4.20 KO / 4.26 EN | 별도 수치 미기재 |
| Triton 벤치마크 기본 PyTorch 경로 · 동일 RTX 5090 조건 | 4,615 ms KO / 5,081 ms EN | 17.5 s | 0.88 KO / 0.90 EN | 별도 수치 미기재 |
Qwen 파생 CUDA 런타임 작성자 공개치: 모델 간 순위표가 아님
RTX 4090 측정 · faster-qwen3-tts · 0.6B · CUDA Graph
- 요청 지연
- 표에 미기재
- 첫 모델 로드
- 표에 미기재
- 저장소 표기 RTF*
- 4.78
- 첫 오디오
- 156 ms
RTX 4090 측정 · faster-qwen3-tts · 1.7B · CUDA Graph
- 요청 지연
- 표에 미기재
- 첫 모델 로드
- 표에 미기재
- 저장소 표기 RTF*
- 4.22
- 첫 오디오
- 174 ms
Qwen3-TTS-Triton · RTX 5090 · 1.7B Hybrid · BF16 · 배치 1 · 한국어/영어 · 예열 3회 + 20회 측정
- 요청 지연
- 886 ms KO / 1,042 ms EN
- 첫 모델 로드
- 6.0 s
- 저장소 표기 RTF*
- 4.20 KO / 4.26 EN
- 첫 오디오
- 별도 수치 미기재
Triton 벤치마크 기본 PyTorch 경로 · 동일 RTX 5090 조건
- 요청 지연
- 4,615 ms KO / 5,081 ms EN
- 첫 모델 로드
- 17.5 s
- 저장소 표기 RTF*
- 0.88 KO / 0.90 EN
- 첫 오디오
- 별도 수치 미기재

RTF와 첫 음성 지연은 다른 질문
완성한 파일의 길이가 A초이고 해당 측정 구간이 T초라면 RTF는 T÷A입니다. 예를 들어 실제 음성 길이와 경과 시간이 같으면 RTF는 1입니다. 반대로 A÷T는 실시간 배수로, 이 경우도 1입니다. RTF와 실시간 배수를 같은 이름으로 부르면 빠른지 느린지 해석이 뒤집힐 수 있습니다.
빠른 첫 응답이 필요한 대화라면 TTFA를 보되, 긴 원고 납품은 마지막 프레임7까지 끝나는 시간을 봅니다. 콜드 로드, 전처리, 음성 생성, 보코더/디코더, 조각 결합, 파일 저장 중 어디까지 포함했는지도 기록합니다. 배치 작업은 요청 하나의 대기와 여러 요청의 전체 처리량8을 따로 봐야 합니다.
장비를 맞춘 소규모 비교 절차
세 모델이 지원하는 범위 안에서 언어 하나, 동일 문장, 동일한 길이 목표와 화자 유형을 맞춥니다. 정확한 모델 ID·revision, 운영체제, CPU/GPU, Python 및 라이브러리 버전, backend, precision, batch size9, sample rate10를 적습니다. 한 번은 새 프로세스로 실행해 로드와 생성을 나누고, 워밍업 후 같은 작업을 여러 차례 반복합니다.
저장된 WAV의 실제 길이를 재고 합성 구간의 RTF를 계산합니다. 콜드 실행과 워밍업 실행을 섞지 말고 평균이나 최단 기록뿐 아니라 매 회 값을 남깁니다. 음성이 끊기거나 잘못 읽거나 쉼이 어색한 점은 속도와 다른 칸에 적습니다. 품질 판단을 속도 순위로 대신하면 안 됩니다.

측정 결과로 장비 선택하기
자신의 OS에서 공식 문서에 적힌 경로가 없다면, 성능 숫자를 추정하는 대신 후보 장비나 모델을 바꾸세요. MPS를 지원하는 것으로 적혀 있어도 CUDA와 같은 속도라는 의미는 아닙니다. 특정 실행 경로가 느릴 때는 GPU11가 아니라 CPU fallback, 미지원 연산, 오디오 저장이나 메모리 압력이 원인일 수 있으니 앱 로그와 장치 사용량을 확인합니다.
세 모델의 공식 자료만으로 보편적인 속도·메모리 1위를 정할 수 없습니다. 다만 사용 목적에 필요한 언어와 기능, 문서화된 가속 경로가 확인된 뒤에는 내 작업에서 얻은 RTF와 품질 메모를 구매 판단에 쓸 수 있습니다. 숫자가 없는 곳은 빈칸으로 남기는 편이 추측보다 안전합니다.
라이선스와 참조 음성의 권리
공식 모델 카드에서 Kokoro는 Apache-2.0, Chatterbox 저장소는 MIT를 표기합니다. Qwen 저장소의 Apache-2.0은 코드에 관한 표시이며, 선택할 체크포인트12의 모델 카드 조건을 별도로 확인하세요. 배포와 상업 사용은 코드, 가중치, 입력 음원, 생성 음성 각각의 조건을 읽어야 합니다.
참조 음성은 본인 또는 허락받은 화자의 자료만 사용하세요. 데모를 이용할 때는 모델 제공 화자로 먼저 시험하고, 참조 음성 업로드가 필요한 경우 보관·처리 방식을 확인합니다. 생성 음성을 공개한다면 실존 인물의 발언처럼 오해될 수 있는지 살펴보고 출처와 맥락을 분명히 하세요.
용어 각주
음성 합성 — 텍스트를 발음과 운율을 가진 음성 신호로 변환하는 기술입니다. 출력 음성의 특성은 모델과 설정에 따라 다릅니다.
본문으로 돌아가기CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다. CUDA용으로 만든 프로그램은 다른 GPU에서 그대로 동작한다고 보장되지 않습니다.
본문으로 돌아가기CPU — 컴퓨터에서 일반적인 프로그램 명령을 실행하는 중앙 처리 장치입니다. AI 작업에서는 GPU 등 다른 프로세서와 역할을 나누기도 합니다.
본문으로 돌아가기실시간 계수 — 생성에 걸린 시간을 출력의 재생 시간으로 나눈 값입니다. 조건을 맞춰 비교할 때 값이 작을수록 생성이 빠릅니다.
본문으로 돌아가기BF16 — 모델의 수를 저장하고 계산하는 16비트 부동소수점 형식입니다. 사용 가능 여부는 하드웨어와 실행 프로그램에 달려 있습니다.
본문으로 돌아가기PyTorch — AI 모델을 만들고 실행하는 소프트웨어 프레임워크입니다. 모델과 함께 호환되는 PyTorch 버전 및 하드웨어 지원도 확인해야 합니다.
본문으로 돌아가기프레임 — 영상의 한 장면을 이루는 단일 이미지입니다. 초당 프레임 수와 프레임 해상도는 서로 다른 속성입니다.
본문으로 돌아가기처리량 — 일정 시간 동안 처리하거나 생성한 작업량입니다. 토큰/초, 요청/초처럼 단위를 함께 확인해야 비교할 수 있습니다.
본문으로 돌아가기배치 크기 — 한 번의 처리 묶음에 함께 넣는 입력 또는 요청 수입니다. 배치를 키우면 처리량과 메모리 요구량이 모두 달라질 수 있습니다.
본문으로 돌아가기샘플링 레이트 — 오디오 신호를 1초 동안 몇 번 측정해 디지털화하는지 나타내는 값입니다. 비트 깊이와는 다른 속성입니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기체크포인트 — 학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.
본문으로 돌아가기