---
title: "로컬 CPU만으로 꽤 그럴듯한 음성 합성, Kokoro로 가능해짐"
published: 2026-07-07T18:24:10.000Z
canonical: https://jeff.news/article/4774
---
# 로컬 CPU만으로 꽤 그럴듯한 음성 합성, Kokoro로 가능해짐

Kokoro는 8,200만 파라미터짜리 소형 TTS 모델인데도 영어 중심으로 약 50개 음성과 다국어 음성 합성을 지원한다. Kokoro-FastAPI 컨테이너를 쓰면 로컬에서 OpenAI 음성 API 호환 인터페이스까지 바로 띄울 수 있고, 12년 된 Intel Core i7-4770K에서도 짧은 문단 합성이 4.7초 수준으로 돌아간다.

- 로컬 음성 합성(TTS)이 이제 “데모는 신기한데 실사용은 글쎄” 수준을 꽤 벗어남
  - 글쓴이는 Kokoro를 써서 샘플 텍스트를 로컬 머신에서 음성으로 합성했음
  - 더 흥미로운 건 GPU를 쓰지 않았다는 점임. 해당 머신에는 GPU가 있지만, GPU는 로컬 LLM 추론에 전부 할당하고 음성 합성은 CPU만으로 처리함
  - 즉, 로컬 LLM + 로컬 TTS를 한 머신에서 같이 굴릴 때 자원 배분이 꽤 현실적이라는 얘기임

- 사용한 모델은 Kokoro인데, 스펙만 보면 꽤 작음
  - 파라미터 수는 8,200만 개라서 요즘 LLM 기준으로 보면 “소형”에 가까움
  - 그런데도 영어, 중국어, 힌디어 등 여러 언어로 꽤 자연스러운 음성을 만든다고 함
  - 음성은 약 50개가 제공되고, 주로 영어에 최적화돼 있음

> [!IMPORTANT]
> 핵심은 “고품질 TTS를 로컬 CPU만으로 돌릴 수 있다”는 점임. GPU를 LLM에 양보해도 음성 출력까지 붙일 수 있으면 개인 비서형 로컬 앱 구성이 훨씬 쉬워짐.

- 설치는 Kokoro-FastAPI 컨테이너를 쓰는 방식이 제일 단순함
  - 이 컨테이너는 필요한 음성 모델을 미리 내려받아 포함하고 있음
  - 대신 이미지 크기가 약 5GB로 꽤 큼
  - Docker나 Podman으로 실행하면 `localhost:8880/web`에서 간단한 웹 UI를 열 수 있고, 텍스트를 넣으면 음성을 생성한 뒤 자동 재생까지 해줌

- 개발자 입장에서 좋은 부분은 OpenAI 음성 API 호환 인터페이스를 제공한다는 점임
  - 이미 OpenAI speech API를 호출하던 코드가 있다면 Kokoro-FastAPI 쪽으로 비교적 쉽게 갈아탈 수 있음
  - 글쓴이는 빠른 테스트용으로 자바스크립트와 파이썬 샘플 코드를 제공하는 `remotebrowser/speak` 저장소도 언급함
  - 생성된 음성은 MP3 파일로 저장되고, SoX가 설치돼 있으면 바로 재생도 가능함
  - `TTS_VOICE` 환경변수로 다른 목소리를 고를 수 있고, 전체 음성 목록은 Kokoro 프로젝트의 VOICES 문서에서 확인하는 방식임

- 성능 수치가 꽤 재밌음. 짧은 목성 설명 문단을 `am_eric` 음성으로 합성해 CPU별 시간을 비교함
  - Intel Core i7-4770K는 4.7초
  - Apple M2 Pro는 4.5초
  - AMD Ryzen 7 8745HS는 1.5초
  - 특히 i7-4770K는 12년 전 CPU임. 그 정도 구형 CPU에서도 짧은 문단 합성이 몇 초 단위로 끝난다는 게 포인트임

- 대안으로는 Speaches도 언급됨
  - Kokoro-FastAPI는 음성 가중치가 컨테이너에 포함돼 있어서 바로 쓰기 쉽지만, 이미지가 커짐
  - Speaches는 음성 가중치를 API로 명시적으로 내려받아야 해서 초기 준비 과정은 더 있음
  - 대신 Whisper 기반 음성 인식(STT)도 포함하고 있어서, 앱이 “말하기”뿐 아니라 “듣기”까지 필요하면 한 번에 묶기 좋음

- 결국 이 글의 메시지는 단순한 TTS 설치기가 아니라 “로컬 AI 앱의 입출력 스택이 채워지고 있다”는 쪽에 가까움
  - 로컬 LLM이 텍스트 답변을 만들고, Kokoro 같은 TTS가 그 답변을 음성으로 읽어줌
  - 여기에 Whisper 같은 STT까지 붙이면 사용자는 말로 입력하고 말로 답을 듣는 구조를 로컬에서 만들 수 있음
  - 클라우드 API 호출 없이 처리할 수 있으니 프라이버시 민감한 메모, 사내 문서, 개인 작업 흐름에도 붙이기 쉬워짐

---

## 기술 맥락

- 여기서 선택의 핵심은 GPU를 TTS에 쓰지 않고 LLM 추론에 남겨둔 거예요. 로컬 AI 환경에서는 보통 GPU가 가장 귀한 자원이라, 음성 합성을 CPU로 빼도 품질과 속도가 버텨주면 전체 시스템 구성이 훨씬 편해지거든요.

- Kokoro-FastAPI가 OpenAI 음성 API 호환 인터페이스를 제공하는 것도 꽤 실용적인 선택이에요. 이미 OpenAI API 기준으로 작성된 앱은 호출 구조를 크게 바꾸지 않고 엔드포인트만 로컬 서비스로 바꾸는 식의 전환이 가능해요.

- 컨테이너 이미지가 약 5GB로 큰 이유는 음성 모델을 미리 포함하기 때문이에요. 이건 배포 용량 면에서는 손해지만, 실행 직후 바로 테스트할 수 있다는 장점이 있어서 개인 서버나 로컬 실험 환경에서는 오히려 덜 귀찮은 선택일 수 있어요.

- Speaches는 반대로 음성 가중치를 따로 내려받게 해서 초기 이미지는 더 가볍게 가져갈 수 있어요. 대신 TTS뿐 아니라 Whisper 기반 STT까지 함께 제공하니, 음성 입력과 출력이 모두 필요한 앱이라면 운영 구성 요소를 줄이는 쪽으로 이점이 있어요.

## 핵심 포인트

- Kokoro는 8,200만 파라미터 모델이지만 로컬 CPU만으로 현실적인 음성 합성이 가능함
- Kokoro-FastAPI 컨테이너는 약 5GB로 크지만 음성 모델을 미리 포함해 바로 실행하기 쉬움
- OpenAI 음성 API 호환 인터페이스를 제공해서 기존 코드 전환 부담이 작음
- AMD Ryzen 7 8745HS에서는 테스트 문단 합성이 1.5초까지 나왔고, 12년 된 CPU도 4.7초로 실사용권에 들어옴
- TTS와 STT를 같이 원하면 Whisper까지 포함한 Speaches가 대안이 될 수 있음

## 인사이트

로컬 LLM만 돌리는 게 아니라, 이제 입출력까지 로컬로 묶는 그림이 꽤 현실적이 됐다는 게 포인트임. 특히 GPU를 LLM에 몰아주고 TTS는 CPU로 빼는 구성은 개인 서버나 사내 도구 만들 때 꽤 실용적임.
