본문 바로가기
C.W.K.
Stream
Lesson 01 of 07 · published

mlx-audio TTS — Apple Silicon에서 말하기

~12 min · mlx-audio, tts, speech-synthesis

Level 0호기심
0 XP0/51 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

MLX의 음성 확장

mlx-audio는 음성 합성, 음성 인식, 오디오 조건 도구를 담은 별도 패키지야. 이 레슨은 TTS를 다뤄.

TTS 선두 모델은 몇 달마다 바뀌어. 반년 전 코드는 오늘 새 모델 이름을 요구할 수 있어. 모델을 불러오고 합성해 저장하는 흐름은 안정적이지만 모델 ID와 목소리 번호는 아니야. 아래 이름은 2026-05의 스냅숏으로 봐.

설치하고 한 문장 합성하기

mlx 환경에서 pip install mlx-audio를 실행하고 TTS 모델을 불러 한 문장을 WAV로 저장하면 돼.

속도는 어느 정도인가

M 시리즈 Mac에서 Kokoro(82M) 같은 소형 모델은 짧은 문장을 재생 시간보다 빨리 합성해. Sesame CSM처럼 1B급으로 올라가면 더 무겁지만 흐름은 같아. 텍스트와 모델이 커지면 시간이 늘지만 M-Pro 이상에서는 여전히 실시간보다 빨라야 해. 더 느리다면 모델이 MLX에 덜 최적화됐거나 통합 메모리를 쓰지 않는 포장을 거쳤을 가능성이 커.

목소리와 조건

현대 TTS 모델은 보통 학습된 목소리 목록에서 하나를 고르고 합성할 텍스트를 받아. 감정, 말하기 속도, SSML 방식의 쉼표시를 추가로 받기도 해. 정확한 API는 모델 카드를 봐. mlx-audio가 같은 기능을 공통 이름으로 바꿔 제공할 수 있어.

모델은 바뀌어도 흐름은 남아

mlx-lm.generate처럼 불러오고 실행해 결과를 내지만 문자열 대신 오디오 바이트를 준다고 생각해. 최고 모델은 바뀌어도 이 흐름은 그대로야.

Code

mlx-audio 설치 (일회성)·bash
# In your `mlx` conda env
conda activate mlx
pip install mlx-audio
한 문장을 WAV로 합성 (스케치 — 2026-05 기준 정확한 모델 이름)·python
# mlx-audio's high-level API is moving; check `python -m mlx_audio --help`
# for current sub-commands, and the model card on Hugging Face for required params.
# Typical pattern:

from mlx_audio.tts.generate import generate_audio

generate_audio(
    text="Hello from MLX on Apple Silicon.",
    model="prince-canuma/Kokoro-82M",        # `model_path=` was renamed to `model=`
    voice="af_heart",                          # voice slot from the model card
    file_prefix="hello_mlx",                   # writes hello_mlx.wav
)

# Output: a WAV file in the current directory.
# Wall-clock time is typically a fraction of the audio's playback length on
# an M-Pro or Ultra; older / lower-tier chips may be at or near realtime.

External links

Exercise

mlx 환경에 mlx-audio를 설치하고 현재 README에서 권장 TTS 모델을 골라. 같은 모델의 목소리 세 가지로 문장을 합성해 모두 들어봐. 어느 목소리가 가장 자연스럽고 합성 시간이 재생 시간과 어떻게 비교되는지 두 문장으로 적어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.