Kokoro로 로컬 CPU에서 고품질 TTS 실행하기
요약
Kokoro는 전용 GPU 없이도 로컬 CPU 환경에서 고품질 TTS를 구현할 수 있는 모델입니다. OpenAI speech API와 호환되는 인터페이스를 제공하여 기존 시스템을 쉽게 통합할 수 있으며, Docker 컨테이너 사용 및 다양한 CPU 성능 테스트 결과를 제시합니다.
핵심 포인트
- GPU 없이도 높은 품질의 음성 합성이 가능해져 개인정보 보호에 유리합니다.
- OpenAI speech API와 호환되므로 기존 TTS 기반 프로그램을 수정하기 쉽습니다.
- Docker를 이용한 Kokoro-FastAPI 컨테이너 배포가 가장 간편하며, 웹 UI 및 API 사용이 모두 지원됩니다.
- CPU 성능에 따라 합성 속도가 크게 달라지며, 최신 CPU에서 빠른 처리가 가능합니다.
- 로컬 음성 생성은 이제
전용 GPU 없이도충분히 현실적인 품질을 낼 수 있으며, 예시 환경에서는 GPU를 LLM 추론에 남기고 TTS를 CPU가 처리함 Kokoro는 82M 파라미터 모델이지만 영어, 중국어, 힌디어 등 여러 언어를 지원하고 약 50개 음성을 제공하며 영어에 가장 최적화되어 있음- 가장 쉬운 구성은
Kokoro-FastAPI컨테이너를 실행하는 방식이고, 음성 모델이 미리 포함되어 이미지 크기가 약 5GB임 - OpenAI speech API와 호환되는 인터페이스를 제공해 기존 음성 API 기반 프로그램을
로컬 TTS로 비교적 쉽게 바꿔 쓸 수 있음 - 짧은 문단 합성은 Intel Core i7-4770K 4.7초, Apple M2 Pro 4.5초, AMD Ryzen 7 8745HS 1.5초 수준이라 로컬 LLM 응답을
읽지 않고 듣는사용 방식이 가능함
CPU만으로 실행하는 Kokoro TTS
-
몇 년 전만 해도 현실적인 로컬 음성 생성은 어려웠지만, 지금은
개인정보를 외부 서비스에 맡기지 않고높은 품질의 음성을 만들 수 있음 - 예시는 이전에 다룬 로컬 LLM용 GTX 1080 Ti 머신에서 실행됨 -
해당 머신의
전용 GPU는 LLM 추론에 예약됨 - 음성 합성은 CPU만 사용함 -
해당 머신의
-
사용 모델은 Kokoro
82M 파라미터모델임- 영어, 중국어, 힌디어 등 여러 언어의 현실적인 음성을 생성함 -
약 50개 음성을 제공하며, 주로 영어에 최적화되어 있음
-
가장 간단한 서버 설정은 Kokoro-FastAPI 컨테이너 이미지를 쓰는 방식임
-
미리 다운로드된 음성 모델이 포함되어 있음
-
이 때문에 컨테이너 이미지 크기는 약
5GB임 -
Docker 또는 Podman 실행 명령:
podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu -
실행 후 웹 UI는
localhost:8880/web
에서 열 수 있으며, 텍스트를 넣어 오디오를 생성하고 자동 재생할 수 있음
OpenAI 호환 API와 예제 실행
-
Kokoro-FastAPI 컨테이너는 웹 UI 외에도 OpenAI speech API 호환
TTS 인터페이스를 제공함- 기존 OpenAI speech API 사용 프로그램을 쉽게 맞춰 쓸 수 있음 -
JavaScript와 Python 예제 코드는 github.com/remotebrowser/speak에 있음
-
JavaScript 실행 예:
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 ./speak.js "Good morning! How are you today?" -
Python 실행 예:
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 ./speak.py "Good morning! How are you today?" -
생성된 오디오는
MP3 파일로 저장됨- SoX 또는 Sound eXchange가 설치되어 있으면 오디오가 자동 재생됨 -
SoX 정보는 sox.sf.net에서 확인할 수 있음
-
다른 음성을 고르려면
TTS_VOICE
환경 변수를 설정함export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 export TTS_VOICE="am_eric" ./speak.js "Good morning! How are you today?"
- 사용 가능한 전체 음성 목록은 Kokoro VOICES.md에 있음
CPU별 합성 시간과 대안
am_eric
음성으로 짧은 테스트 문단을 합성한 결과, 3회 실행 중 최선 기록 기준 생성 시간은 다음과 같음- Intel Core i7-4770K:
4.7초 - Apple M2 Pro:
4.5초 - AMD Ryzen 7 8745HS:
1.5초
-
Intel Core i7-4770K:
-
목록의 첫 CPU는 12년 전에 출시된 모델이며, 오래된 CPU에서도 작업을 처리할 수 있음
-
OpenAI 호환 컨테이너형 TTS 대안으로 Speaches도 있음
-
Kokoro-FastAPI와 달리 컨테이너 이미지에 음성 가중치가 포함되지 않으며, API로 명시적으로 다운로드해야 함
-
Whisper를 포함해 고품질
STT기능도 제공함 - 애플리케이션에 TTS와 STT가 모두 필요하면 한 곳에서 처리하는 선택지가 될 수 있음 -
로컬 LLM과 결합하면 LLM 답변을 읽는 대신
음성으로 듣는사용 방식이 가능함
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기