로컬 음성 인식·합성
내 컴퓨터에서 음성 만들기: 로컬 TTS 시작 가이드
강의 원고를 읽어줄지, 여러 언어로 안내 음성을 만들지, 특정 화자의 목소리를 재현할지에 따라 필요한 모델이 달라집니다. 언어 목록에 이름이 있다고 해서 발음과 억양까지 같은 수준으로 보장되는 것도 아닙니다. 이 가이드는 작업을 정하고, 모델과 실제 실행 백엔드를 맞춘 뒤, 짧은 문장으로 확인하는 순서를 다룹니다. 사이트의 토큰1/초 수치는 음성 생성 속도로 환산하지 않습니다.
무엇을 읽게 할지 한 문장으로 정하기
먼저 결과물과 듣는 사람을 떠올려 보세요. 예를 들어 ‘한국어 강의 원고를 일정한 목소리로 읽어 WAV로 저장’처럼 적으면 필요한 언어, 파일 형식, 말투를 정리하기 쉽습니다. 짧은 안내 방송인지 긴 원고인지도 중요합니다. 긴 글은 문장을 나누고 이어 붙이는 방법, 중간부터 다시 만들 수 있는지까지 확인해야 합니다.
목소리를 따라 하는 기능이 필요한지, 제공 화자로 충분한지도 나눠 생각합니다. 직접 녹음한 문장을 읽는 작업이라면 참조 음성을 쓰지 않는 경로부터 시작할 수 있습니다. 화자의 목소리를 닮게 만드는 기능을 쓸 때는 본인 음성이나 명확히 허락받은 자료만 사용하세요. 처음 비교할 때는 모델에 포함된 화자부터 들어보면 됩니다.

언어 목록 다음에는 실제 발음을 확인하기
Qwen3-TTS2는 공식 README에서 10개 언어를, Kokoro는 모델 카드에서 8개 언어와 여러 음색을, Chatterbox Multilingual V3는 23개 이상 언어를 안내합니다. 이 숫자는 지원 범위를 알려줄 뿐, 각 언어의 억양·고유명사·숫자 읽기 품질을 같은 척도로 보증하지 않습니다.
특히 Kokoro의 공식 음색 안내는 영어 이외 언어의 학습·발음 지원이 고르지 않을 수 있다고 설명합니다.
비교할 짧은 문장에는 평소 쓰는 지명, 제품명, 날짜를 하나씩 넣어보세요. 잘못 읽는 부분이 있으면 원문은 보관하고 문장부호나 표기를 바꾼 버전도 시험합니다. 듣기 편한지, 정확히 읽는지, 목소리가 마음에 드는지는 각각 기록해 언어 지원 표시만 보고 모델을 고르지 않도록 합니다.
작업 방식으로 모델 후보를 줄이기
영어·일본어·중국어 등 Kokoro의 지원 언어로 간단히 읽어주는 작업이라면 82M Kokoro부터 살펴볼 수 있습니다. 다만 공식 목록에 한국어는 없습니다.
한국어가 필요하면 한국어 화자 Sohee를 제공하는 Qwen3-TTS CustomVoice, 참조 음성이 필요한 다국어 작업이면 Chatterbox Multilingual V3를 후보로 삼으세요. Qwen의 목소리 설계 기능은 1.7B VoiceDesign에만 공개되어 있습니다.
처음에는 목소리 복제 대신 제공되는 화자·프리셋을 골라 같은 문장을 들어보면 조건을 맞추기 쉽습니다. 후보가 정해지면 긴 원고, 여러 파일, 편집 가능한 출력처럼 실제 작업에 가까운 시험으로 넘어갑니다. 짧은 테스트에서 맞지 않는 음색이나 발음을 미리 걸러낼 수 있습니다.
OS와 가속 경로를 확인하기
Windows·Linux의 NVIDIA GPU3를 쓸 때는 해당 체크포인트4가 안내하는 CUDA5와 정밀도 조건을 확인합니다. Qwen3-TTS 공식 Python 시작 방법은 Python 3.12이며, CUDA 예제는 BF166과 선택적 FlashAttention7 2를 보여줍니다.
이는 CUDA 실행법의 예이지 모든 GPU에서의 속도표는 아닙니다. FlashAttention 설치 전에도 호환 하드웨어와 PyTorch8 구성을 점검하세요.
Apple Silicon 맥에서는 Kokoro 공식 PyTorch 경로에 MPS fallback 설정이 있습니다. 별도 MLX9 실행기를 쓰고 싶다면 MLX-Audio가 Kokoro·Qwen3-TTS·Chatterbox 변환 모델을 안내합니다.
이 모델 파일은 upstream 원본과 다른 community MLX 배포본이므로 실행기와 변환 버전을 함께 확인하세요. 아래는 Qwen의 한국어 기본 화자를 사용하는 문서화된 MLX-Audio CLI10 형식입니다.
pip install mlx-audio
mlx_audio.tts.generate --model mlx-community/Qwen3-TTS-12Hz-0.6B-CustomVoice-8bit --text '안녕하세요.' --voice Sohee --lang_code Korean
설치 대신 짧은 첫 요청부터
모델을 내려받기 전에 공식 문서에서 Python 버전, 패키지, 체크포인트 이름을 확인하세요. Qwen3-TTS의 데모 실행 예는 IP 주소 옵션을 받으므로, 로컬 UI를 열 때는 공개 주소 대신 루프백인 127.0.0.1에만 바인딩합니다. Kokoro와 Chatterbox는 Python 라이브러리를 호출하는 공식 예가 있어 외부에 포트를 열지 않고도 스크립트 안에서 시험할 수 있습니다.
실행이 되면 짧은 문장 하나를 저장하고 재생해 봅니다. 언어와 화자, 출력 형식, 저장 경로를 하나씩 바꿔야 오류 원인을 찾기 쉽습니다. 글자가 잘리거나 마지막 문장이 빠지면 더 긴 입력을 넣기 전에 토큰 제한, 문장 분할, 샘플레이트와 파일 길이를 확인합니다. 음성이 재생된다는 사실은 긴 작업의 안정성까지 입증하지 않습니다.
내 작업에서 속도와 품질을 함께 판단하기
동일한 텍스트와 화자 설정으로 모델을 올리는 시간, 따뜻한 상태의 합성 시간, 파일 저장 완료 시간을 각각 기록합니다. 오디오 길이를 확인해 RTF11(경과 시간÷실제 음성 길이)를 계산하고, 역수인 실시간 배수와 혼동하지 마세요. 첫 음성 도착 시간은 별도 칸에 둡니다. 긴 내레이션에서는 전체 완료 시간이, 대화형 응답에서는 TTFA가 더 중요한 상황이 될 수 있습니다.
같은 언어에서 읽기 정확성, 듣기 편함, 말투 적합성도 따로 메모합니다. 숫자 하나로 ‘가장 좋은 음성’을 고르기보다, 내 원고에서 수정 횟수가 적고 납품 형식에 맞는지를 봅니다. Qwen README의 97ms는 스트리밍 첫 패킷 주장이지 전체 원고 생성 시간이 아닙니다. 이 사이트는 여기 소개된 모델을 직접 측정하지 않았습니다.

용어 각주
토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다. 토큰 하나가 글자 하나나 일정한 시간 길이에 해당하지는 않습니다.
본문으로 돌아가기음성 합성 — 텍스트를 발음과 운율을 가진 음성 신호로 변환하는 기술입니다. 출력 음성의 특성은 모델과 설정에 따라 다릅니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기체크포인트 — 학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.
본문으로 돌아가기CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다. CUDA용으로 만든 프로그램은 다른 GPU에서 그대로 동작한다고 보장되지 않습니다.
본문으로 돌아가기BF16 — 모델의 수를 저장하고 계산하는 16비트 부동소수점 형식입니다. 사용 가능 여부는 하드웨어와 실행 프로그램에 달려 있습니다.
본문으로 돌아가기FlashAttention — 어텐션 계산에서 메모리 접근을 효율화하는 구현입니다. 사용 가능 여부와 효과는 하드웨어, 모델, 실행 환경에 따라 다릅니다.
본문으로 돌아가기PyTorch — AI 모델을 만들고 실행하는 소프트웨어 프레임워크입니다. 모델과 함께 호환되는 PyTorch 버전 및 하드웨어 지원도 확인해야 합니다.
본문으로 돌아가기MLX — Apple silicon용 머신러닝 프레임워크입니다. Apple silicon의 통합 메모리 구조를 활용하며, 지원 모델과 기능은 MLX 도구별로 다릅니다.
본문으로 돌아가기CLI — Command-Line Interface의 약자입니다. 터미널에 명령어를 입력해 프로그램을 조작하는 방식입니다.
본문으로 돌아가기실시간 계수 — 생성에 걸린 시간을 출력의 재생 시간으로 나눈 값입니다. 조건을 맞춰 비교할 때 값이 작을수록 생성이 빠릅니다.
본문으로 돌아가기