문장을 하나씩 유료 API로 보내지 않고도 자연스러운 내레이션을 만들고 싶다면, Kokoro 82M TTS는 가장 먼저 시험해볼 만한 오픈 모델 중 하나입니다. 다만 “82M”이라는 숫자를 만능 ElevenLabs 대체재로 받아들여서는 안 됩니다. Kokoro는 프리셋 음성, 깔끔한 내레이션, 로컬 배치 작업에서 강점을 보이고, 음성 복제나 극적인 표현 제어, 관리형 서비스의 안정성이 필요하다면 다른 선택지가 더 잘 맞습니다.
결론부터 말하면
Kokoro-82M은 82 million parameters를 사용하는 오픈 웨이트 텍스트 음성 변환 모델입니다. 현재 Hugging Face 모델 카드에 따르면 v1.0은 January 27, 2025에 공개됐으며, Apache 2.0 라이선스의 웨이트와 eight languages, 54 voices를 제공합니다. 자세한 내용은 official model card에서 확인할 수 있습니다. 공식 추론 라이브러리는 hexgrad/kokoro입니다.
프라이버시가 중요하거나 오프라인 내레이션이 필요하고, 프리셋 음성으로 충분하며, 작업량이 많아 API 비용이 부담된다면 Kokoro를 선택할 만합니다. 음성 복제, 관리형 스튜디오, 표현력 있는 상업용 결과물이 필요하다면 ElevenLabs가 더 적합합니다. 다국어 지원과 음성 복제가 작은 설치 용량보다 중요하다면 Qwen3-TTS를 살펴보세요.
로컬 설치: 실제로 작동하는 경로
공식 예제는 Python, kokoro, soundfile, PyTorch, espeak-ng를 사용하며, 파이프라인은 24 kHz 오디오를 반환합니다. Linux에서는 다음과 같이 기본 설치를 진행할 수 있습니다.
pip install -q "kokoro>=0.9.4" soundfile
sudo apt-get install espeak-ng
영어로 실행하는 최소 예제는 다음과 같습니다.
from kokoro import KPipeline
import soundfile as sf
pipeline = KPipeline(lang_code="a")
text = "Kokoro is a small local text to speech model."
for index, (_, _, audio) in enumerate(
pipeline(text, voice="af_heart", speed=1)
):
sf.write(f"kokoro-{index}.wav", audio, 24000)
저장소에는 American and British English, Spanish, French, Hindi, Italian, Japanese, Brazilian Portuguese, Mandarin Chinese에 해당하는 언어 코드가 정리돼 있습니다. Japanese와 Mandarin을 사용하려면 해당 Misaki extras가 필요합니다. 선택한 언어 코드는 음성과 일치해야 합니다.
Windows는 한 줄 명령으로 끝나는 설치가 아닙니다. 프로젝트 README는 사용자를 espeak-ng MSI release로 안내합니다. Apple Silicon 사용자는 PYTORCH_ENABLE_MPS_FALLBACK=1을 설정하고 PyTorch MPS를 시도할 수 있습니다. 첫 실행이 실패했을 때는 모델 파라미터 수보다 이런 환경 설정이 더 큰 영향을 미칩니다.
CPU, GPU, 실시간 속도: 확인된 사실과 과장하기 쉬운 주장
CPU 추론은 지원되지만, 공식 모델 카드와 공식 라이브러리 어디에도 하나의 보편적인 real-time factor가 제시돼 있지는 않습니다. 속도는 실행 환경, 프로세서, 언어, 텍스트 분할 방식, 그리고 첫 실행에 모델 로딩 시간이 포함되는지에 따라 달라집니다.
커뮤니티 측정 결과를 보면 왜 성능을 단정하기 어려운지 알 수 있습니다. 한 상세 비교에서 @analogalok reported는 GPU에서 21 seconds of audio를 생성하는 데 about 0.7 seconds가 걸렸고, 해당 환경에서 VRAM 사용량은 roughly 0.9 GB였다고 밝혔습니다. 이는 메모리 사용량이 낮은 GPU 실행 경로를 보여주는 유용한 사례이지, 모든 노트북에서 동일한 결과를 보장하는 수치는 아닙니다.
“I can run it comfortably using my CPU and the resulting audio is very pleasant to listen to.” — @rasmus1610, X
자신의 하드웨어에서 테스트할 때는 다음 세 가지 수치를 따로 측정하세요.
- 프로세스 시작부터 첫 오디오 세그먼트가 생성될 때까지 걸린 시간.
- 모델과 음성이 준비된 뒤 생성에 걸리는 시간.
- 오디오 길이를 준비 상태의 생성 시간으로 나눈 값, 즉 실제 real-time factor.
배치 내레이션에서는 세 번째 수치가 처리량을 결정합니다. 반면 대화형 어시스턴트에서는 첫 토큰까지의 지연 시간과 스트리밍 동작이 더 중요합니다. GPU 결과를 CPU 결과처럼 인용해서는 안 되며, 10-second sample을 production throughput이라고 부르는 것도 곤란합니다.
음성, 언어, 그리고 반드시 알아둘 한계
v1.0 model card에는 eight languages와 54 voices가 기재돼 있습니다. 이는 one language와 10 voices만 제공했던 v0.19에서 크게 확장된 수치입니다. 라이브러리에 문서화된 언어 코드는 다음과 같습니다.
| Code | Language |
|---|---|
a | American English |
b | British English |
e | Spanish |
f | French |
h | Hindi |
i | Italian |
j | Japanese |
p | Brazilian Portuguese |
z | Mandarin Chinese |
Kokoro는 프리셋 음성을 사용하는 모델이며, 참조 오디오를 입력으로 받는 voice-cloning 시스템은 아닙니다. 또한 Misaki grapheme-to-phoneme stack과 espeak-ng fallback 경로에 의존합니다. 이름, 약어, 숫자, 여러 언어가 섞인 텍스트는 긴 파일을 내보내기 전에 반드시 테스트해보는 편이 좋습니다.
Apache 2.0 model license는 상업적 배포를 고려할 때 매력적인 조건입니다. 하지만 “모델이 Apache 2.0”이라는 사실이 모든 음성 샘플, 데이터셋, 서드파티 의존성에 대한 문제까지 일괄적으로 해결해준다는 뜻은 아닙니다. 배포 체크리스트에 model card, voice files, dependency licenses를 함께 기록해두세요.
Kokoro vs ElevenLabs vs Qwen3-TTS
세 시스템의 블라인드 청취 비교가 의미 있으려면 동일한 텍스트, 음성 요구사항, 정규화 방식, 출력 레벨, 평가자 그룹을 사용해야 합니다. 이 글은 통제된 블라인드 청취 테스트의 승자를 주장하지 않습니다. 공식 Kokoro 자료에도 그런 테스트 결과는 공개돼 있지 않습니다. 대신 작업 방식의 차이를 비교하는 편이 더 정확합니다.
| 비교 기준 | Kokoro-82M | ElevenLabs | Qwen3-TTS |
|---|---|---|---|
| 배포 방식 | 로컬/오픈 웨이트 | 호스팅 API 및 스튜디오 | 로컬/오픈 모델 제품군 |
| 모델 라이선스/소스 | Apache 2.0 웨이트 | Provider terms | 공식 모델 카드에 Apache 2.0 기재 |
| 프리셋 음성 | 지원 | 대규모 호스팅 음성 라이브러리 | CustomVoice 및 기타 변형 제공 |
| 음성 복제 | 지원하지 않음 | 지원 요금제/기능에서 사용 가능 | Base variant가 reference cloning 지원 |
| 지원 언어 | v1.0 기준 8개 기재 | 모델에 따라 다름; 공식 API 가격은 모델별로 다름 | 10개 언어 기재 |
| 가장 잘 맞는 용도 | 프라이빗 배치 내레이션 | 관리형·표현력 중심의 프로덕션 | 다국어 또는 음성 복제 실험 |
| 주요 비용 | 하드웨어 또는 호스팅 추론 | 문자/크레딧 과금 | 하드웨어 또는 호스팅 |
ElevenLabs의 공식 API pricing page에는 현재 Flash/Turbo가 1,000 characters당 about $0.05, v2 Multilingual과 v3가 1,000 characters당 $0.10 수준으로 표시돼 있습니다. 자세한 내용은 API pricing에서 확인할 수 있습니다. Qwen3-TTS 공식 모델 카드에는 Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian이 기재돼 있으며, 음성 복제에 초점을 맞춘 변형도 제공합니다. 자세한 내용은 Qwen3-TTS model card를 참고하세요.
실제로 중요한 결론은 “Kokoro의 음질이 더 좋다”가 아닙니다. Kokoro는 반복적인 API 의존성을 없애고 텍스트를 자신의 장비 안에 둘 수 있는 반면, ElevenLabs는 편의성과 관리형 환경을 제공하고, Qwen3-TTS는 더 큰 로컬 모델을 감수하는 대신 다국어와 음성 복제 기능을 더 폭넓게 제공합니다.
배치 내레이션 비용: 근거를 제시할 수 있는 숫자
로컬 Kokoro에는 문자 수에 따른 모델 사용료가 없습니다. 추가로 발생하는 비용은 전기, 저장 공간, 그리고 추론을 실행하는 장비나 클라우드 인스턴스입니다. 이미 장비를 보유하고 있다면 소프트웨어 측면의 증분 비용은 사실상 0에 가깝습니다. GPU나 CPU를 임대한다면 제공업체의 시간당 요금에 실제 생성 시간을 곱해 계산하면 됩니다.
API와 비교할 때, Kokoro model card에는 April 2025 기준 호스팅 사례가 1 million input characters당 $1 미만으로 기록돼 있습니다. Replicate는 $0.65, DeepInfra는 $0.80이었습니다. 이는 당시의 참고 수치일 뿐 현재 가격을 보장하지는 않습니다. 같은 텍스트 분량을 기준으로 하면 ElevenLabs 공식 요금은 다음과 같이 계산됩니다.
| 작업량 | Kokoro 로컬 모델 비용 | ElevenLabs Flash/Turbo | ElevenLabs v2 Multilingual/v3 |
|---|---|---|---|
| 100,000 characters | 로컬 사용 시 $0* | $5 | $10 |
| 1,000,000 characters | 로컬 사용 시 $0* | $50 | $100 |
| 10,000,000 characters | 로컬 사용 시 $0* | $500 | $1,000 |
\*전기, 하드웨어, 호스팅, 엔지니어링 시간은 제외합니다. ElevenLabs 수치는 공식 $0.05/$0.10 per 1,000-character rates를 사용했으며, 요금제 할인, 크레딧, 세금, 초과 사용 규정은 반영하지 않았습니다. 이 표는 예산을 계산하기 위한 모델이지 최종 청구 금액을 보장하는 자료가 아닙니다.
이런 특성 때문에 Kokoro는 반복적으로 실행하는 내레이션 파이프라인에 특히 잘 맞습니다. 자막, 문서, 접근성용 오디오, 사내 교육 영상 등이 대표적인 예입니다. 반대로 발음 검수와 세그먼트 편집에 드는 인건비가 API 비용보다 커진다면 굳이 로컬 방식을 고집할 이유는 줄어듭니다.
FAQ
GPU 없이도 Kokoro를 실행할 수 있나요?
가능합니다. CPU 추론을 지원하지만, 공식 프로젝트는 보편적인 real-time factor를 약속하지 않습니다. 실제 배포에 사용할 CPU와 언어 조합으로 warm throughput을 측정해야 합니다.
Kokoro로 음성을 복제할 수 있나요?
아니요. Kokoro는 프리셋 음성 시스템입니다. 화자의 정체성을 유지하는 것이 핵심 요구사항이라면, 적절한 Qwen3-TTS variant처럼 음성 복제를 지원하는 모델을 사용해야 합니다.
Kokoro는 상업적으로 무료인가요?
Kokoro-82M model card에는 Apache 2.0 weights가 기재돼 있으며, 이는 허용 범위가 넓은 라이선스입니다. 다만 상업용 제품을 출시하기 전에는 실제 voice, dependency, distribution terms를 반드시 검토하세요.
Kokoro가 지원하는 언어는 무엇인가요?
v1.0 model card에는 eight languages가 기재돼 있습니다. 공식 라이브러리는 American and British English와 Spanish, French, Hindi, Italian, Japanese, Brazilian Portuguese, Mandarin Chinese를 문서화하고 있습니다. 언어별 패키지가 필요할 수 있습니다.
Kokoro가 ElevenLabs보다 좋은가요?
모든 기준에서 그렇지는 않습니다. 로컬 환경에서 프라이버시를 지키며 프리셋 음성으로 배치 내레이션을 만들려면 Kokoro가 더 잘 맞습니다. 관리형 인프라, 음성 복제, 표현력 있는 프로덕션 워크플로가 필요하다면 ElevenLabs가 더 안전한 선택입니다.
실제 선택 기준
다음 질문이 자신의 검수 기준이라면 Kokoro부터 시작해보세요. “이 장비가 필요한 처리량으로, 사용 가능한 음성 중 하나를 활용해, 깔끔한 내레이션을 비공개로 생성할 수 있는가?” 이름, 날짜, 숫자, 긴 문단, 실제로 필요한 언어를 넣어 직접 테스트해야 합니다.
테스트를 통과한다면 경제성은 단순합니다. 반복적인 문자 과금을 장비 사용 시간으로 바꾸는 것입니다. 발음, 화자 정체성, 감정 표현에서 한계가 드러난다면 ElevenLabs나 Qwen3-TTS로 옮기는 것은 품질의 패배가 아닙니다. Kokoro가 의도적으로 우선순위를 두지 않은 기능에 비용을 지불하는 선택일 뿐입니다.
같은 결정을 상업용 환경에서 검토하고 있다면 the ElevenLabs Eleven v3 API guide도 참고하세요.