Will says
Running voice AI with Apple's own MLX framework—5x faster and completely free. This is how Apple Silicon should be used.
Apple Silicon Local Voice AI: MLX TTS + Whisper in Practice
Run voice AI locally with Apple's MLX framework—5x faster and completely free. Voice cloning, VoiceDesign, and MLX Whisper recognition covered in one guide.
Listen to audio
为什么选 MLX?
用苹果设备就要用苹果生态。MLX 是 Apple 专门为 Apple Silicon 设计的机器学习框架,直接调用 Metal GPU 和 Neural Engine,而不是走通用的 PyTorch CPU 路径。
对比实测:
| 指标 | PyTorch MPS | MLX | 提升 |
|------|------------|-----|------|
| 生成16秒音频 | ~180秒 | 37.7秒 | 5倍快 |
| 内存自动释放 | ❌ | ✅ 10分钟 | 自动化 |
| Apple Silicon加速 | ❌ | ✅ Metal GPU | 原生 |
| 费用 | 免费 | 免费 | 持平 |
---
场景一:声音克隆(日语内容)
使用 Qwen3-TTS-12Hz-1.7B-Base 的 ICL 能力,3-10 秒参考音频就能克隆声音:
source ~/qwen3-tts-env/bin/activatepython3 -m mlx_audio.tts.generate \
--model Qwen/Qwen3-TTS-12Hz-1.7B-Base \
--text "こんにちは、今日もいい天気ですね。" \
--ref_audio ~/qwen3-tts-models/voice_clone/ref_01.wav \
--ref_text "パパ、ママ、おはよう。きょうはおそとであそびたいな。おひさまキラキラしてるよ。" \
--output_path ~/Desktop/ \
--file_prefix output \
--audio_format wav
---
场景二:VoiceDesign(中文感情丰富)
用自然语言指令控制音色风格,不需要参考音频:
python3 -m mlx_audio.tts.generate \
--model Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign \
--text "嘿!今天来聊个超有意思的事~" \
--instruct "活泼元气的年轻女生,带一点俏皮,像熟人分享新鲜事,语速稍快但自然" \
--output_path ~/Desktop/ \
--file_prefix output \
--audio_format wav
---
长音频:分段 + 交叉淡入淡出
MLX TTS 单次约 30 秒上限,超出需分段。拼接关键:不能用 ffmpeg -f concat 硬切,要用 acrossfade 交叉淡入淡出,否则断裂感明显。
# 两段 crossfade 拼接(0.3秒过渡)
ffmpeg -y -i seg1.wav -i seg2.wav \
-filter_complex "[0][1]acrossfade=d=0.3:c1=tri:c2=tri[out]" \
-map "[out]" output.wav
多段:两两迭代合并,每次 0.3 秒交叉淡入淡出。
---
MLX Whisper 语音识别
本地识别,音频不出门,19 秒音频只需 5.3 秒:
pip install mlx-whisperimport mlx_whisper
result = mlx_whisper.transcribe(
"audio.wav",
path_or_hf_repo="mlx-community/whisper-large-v3-turbo"
)
print(result["text"])
---
音色选择策略
| 内容 | 方案 | 模型 |
|------|------|------|
| 日语 | 成希声音克隆 | 1.7B-Base + ref_audio |
| 中文感情丰富 | VoiceDesign | 1.7B-VoiceDesign |
| 博客导读(高质量) | MiniMax API | speech-2.8-hd |
| 草稿预览 | Edge TTS | zh-CN-XiaoxiaoNeural |
---
踩坑记录
1. transformers 版本冲突:qwen-tts 需要 4.57.3,mlx-audio 需要 5.x,必须分开 venv
2. 文件名有 _000 后缀:生成文件自动加 _000.wav,用 glob 匹配而非硬写文件名
3. 拼接用 crossfade:-f concat 硬拼断裂明显,用 acrossfade=d=0.3 过渡自然
4. tokenizer 警告可忽略:HuggingFace mistral regex 兼容性警告,不影响生成质量
---
总结
既然用苹果设备,就要用苹果生态。MLX 是 Apple Silicon 应有的玩法:
- 速度:5 倍提升
- 隐私:音频不离开设备
- 成本:零 API 费
- 可控:自定义音色风格