AI

MLX-Audio:为 Apple Silicon 优化的 TTS、STT 和 STS 库

MLX-Audio 是一个基于 Apple MLX 框架构建的文本转语音、语音转文本和语音转语音库,支持数十种模型。

MLX-Audio:为 Apple Silicon 优化的 TTS、STT 和 STS 库

配备 M 系列芯片——从 M1 到最新的 M4 Ultra——的 Apple Silicon Mac 拥有非凡的计算能力,特别是在机器学习工作负载方面。其统一内存架构允许模型访问大量快速内存,而无需传统 CPU-GPU 数据传输的瓶颈。MLX-Audio 是一个基于 Apple MLX 框架构建的开源 Python 库,专为利用此硬件优势处理所有音频 AI 任务而设计。

MLX-Audio 为文本转语音、语音转文本和语音转语音转换提供统一的接口,支持从 OpenAI 的 Whisper(用于转录)到 Kokoro 和 VoiceCraft(用于合成)等数十种模型。它将通常分散在多个库和框架中的能力结合在一起,全部针对在 Mac 硬件上高效运行进行了优化。

该库的开发源于一个简单的观察:虽然强大的音频 AI 模型存在,但在 Mac 硬件上运行它们常常是令人沮丧的体验。基于 PyTorch 的实现在 Apple Silicon 上运行缓慢或根本无法运行,用户还得应付不兼容的依赖项。MLX-Audio 通过利用 MLX 的原生 Apple Silicon 优化并为所有支持的模型提供一致、文档完善的接口来解决这个问题。


MLX-Audio 如何利用 Apple 的 MLX 框架?

MLX 框架是 Apple 针对 PyTorch 和 JAX 的回应——一个专为 Apple Silicon 设计的数组框架。与通过 MPS(Metal Performance Shaders)后端在 Apple Silicon 上运行且兼容性不一的 PyTorch 不同,MLX 是专为 M 系列架构原生设计的。

graph LR
    A[MLX-Audio 库] --> B[文本转语音<br>Kokoro, Parler,<br>VoiceCraft, CosyVoice]
    A --> C[语音转文本<br>Whisper, Distil-Whisper,<br>Whisper-Timestamped]
    A --> D[语音转语音<br>VoiceCraft STS,<br>自定义管道]
    B --> E[MLX 框架<br>Apple Silicon 原生]
    C --> E
    D --> E
    E --> F[统一内存<br>M 系列芯片]
    F --> G[CPU 核心]
    F --> H[GPU 核心]
    F --> I[神经引擎]

统一内存架构是关键优势。在传统系统上,数据必须在推理开始前从系统 RAM 复制到 GPU VRAM,这会增加延迟并限制有效的批处理大小。在 Apple Silicon 上,CPU、GPU 和神经引擎共享同一个内存池,消除了这个复制开销。MLX-Audio 利用这一点,高效执行在有限 VRAM 的独立 GPU 设置上可能会遇到困难的大型音频模型。

一个实际的影响:在 NVIDIA 显卡上需要大约 3 GB GPU VRAM 的 Whisper Large 模型,可以在配备 16 GB 统一内存的 Mac 上顺畅运行,而且由于减少了数据传输开销,MLX 优化的实现通常能达到可比或更好的吞吐量。


MLX-Audio 支持哪些音频模型?

MLX-Audio 的模型支持涵盖音频 AI 的主要类别,每个模型在质量、速度和资源使用之间提供不同的权衡。

模型类别主要优势M3 Max 上的速度模型大小
Whisper Large V3STT最佳准确度、99+ 种语言3-4 倍实时3.0 GB
Distil-Whisper Large V3STT比 Whisper 快 2 倍、准确度损失极小6-8 倍实时1.5 GB
Whisper TinySTT近乎实时、资源需求极低50 倍以上实时150 MB
KokoroTTS快速、轻量、10+ 种语言15 倍以上实时350 MB
ParlerTTS表现力丰富、可控语音5-8 倍实时800 MB
VoiceCraftTTS/STS从 3 秒样本进行零样本语音克隆2-3 倍实时1.2 GB
CosyVoiceTTS中文 + 英文、自然的韵律3-5 倍实时900 MB
F5-TTSTTS高品质英文、基于提示的风格4-6 倍实时600 MB

“速度"数字代表模型在配备 64 GB 内存的 M3 Max MacBook Pro 上相对于实时速度的运行倍数。例如,Whisper Tiny 可以在大约一秒内转录一分钟的音频片段。


如何开始使用 MLX-Audio?

开始使用 MLX-Audio 很简单,特别是如果你有一台较新的 Apple Silicon Mac 和已设置的 Python 环境。

步骤命令 / 代码备注
安装pip install mlx-audio需要 macOS 和 Apple Silicon
转录音频import mlx_audio; text = mlx_audio.transcribe("audio.mp3")默认使用 Whisper
生成语音mlx_audio.tts("Hello world", voice="kokoro")使用 Kokoro 进行文本转语音
语音克隆mlx_audio.tts("Custom voice", voice_ref="sample.wav", model="voicecraft")从 3 秒样本克隆语音
STS 管道mlx_audio.sts("input.mp3", target_voice="speaker.wav")具有语音转换的语音转语音
# 基本转录示例
import mlx_audio

# 转录音频文件
result = mlx_audio.transcribe(
    "meeting_recording.mp3",
    model="whisper-large-v3",
    language="en"
)
print(result.text)

# 文本转语音
mlx_audio.tts(
    "Welcome to the MLX-Audio tutorial.",
    voice="af_bella",  # Kokoro 语音
    output="output.wav"
)

# 使用 VoiceCraft 进行语音克隆
mlx_audio.tts(
    "This is a cloned voice from a short sample.",
    voice_ref="sample_speech.wav",
    model="voicecraft",
    output="cloned_output.wav"
)

该库包含命令行工具,无需编写 Python 代码即可快速使用,并支持批处理,可在一行命令中转录或生成多个音频文件。


MLX-Audio 有哪些实用应用?

MLX-Audio 结合了本地处理、广泛的模型支持和 Apple Silicon 优化,使其适用于广泛的应用。

应用使用的模型关键优势
播客转录Whisper Large V3本地运行、保护隐私
语音助手Kokoro TTS + Whisper Tiny低延迟、始终可用
有声书旁白VoiceCraft 或 Parler自然、富有表现力的语音
会议转录Distil-Whisper快速处理长时间录音
配音 / 本地化Whisper + CosyVoice先 STT 再以目标语言 TTS
无障碍工具Kokoro + Whisper Tiny实时字幕和屏幕朗读
内容语音克隆VoiceCraft从样本创建自定义合成语音

一个特别引人注目的使用场景是播客和会议转录。由于一切都在 Mac 上本地运行,没有 API 费用、没有数据离开设备,也没有网络连接需求。一个一小时的会议录音可以使用 Whisper Large V3 在 15 分钟内完成转录,使用 Distil-Whisper 则在 10 分钟内完成。

注重隐私的行业,如法律、医疗保健和金融,从仅本地处理中获得显著益处。音频数据无需上传到云端 API,这通常是 GDPR、HIPAA 或类似框架下的合规要求。


常见问题

什么是 MLX-Audio? MLX-Audio 是一个开源 Python 库,提供文本转语音(TTS)、语音转文本(STT)和语音转语音(STS)功能,基于 Apple 的 MLX 框架,针对 Apple Silicon(M 系列)硬件进行了优化。它支持数十种模型,包括 Whisper、Kokoro、Parler、VoiceCraft 等。

MLX-Audio 与其他音频 AI 库有何不同? MLX-Audio 通过 MLX 框架专门针对 Apple Silicon 进行了优化,利用 M 系列芯片的统一内存架构实现高效的模型推理。这意味着它在 Mac 硬件上的运行速度比基于 PyTorch 的一般实现要快得多且效率更高,通常能为复杂模型实现接近实时的性能。

MLX-Audio 支持哪些 TTS 模型? MLX-Audio 支持不断增长的 TTS 模型集合,包括 Kokoro(轻量、快速)、Parler(表现力丰富的 TTS)、VoiceCraft(零样本语音克隆)、CosyVoice、ChatTTS、F5-TTS 和 Edge-TTS,用于多语言和多说话者合成。

MLX-Audio 支持哪些 STT/语音识别模型? 在语音转文本方面,MLX-Audio 支持 OpenAI Whisper(从 tiny 到 large 的所有模型大小)、Distil-Whisper(更快的蒸馏变体)和 Whisper-Timestamped(带有词级时间戳)。这些模型提供数十种语言的强大转录能力。

MLX-Audio 可以用于实时应用吗? 是的,MLX-Audio 适合实时应用。MLX 框架的高效内存管理和模型量化技术可在 Apple Silicon 上实现低延迟推理。像 Kokoro 这样较小的 TTS 模型可以以超实时速度生成语音,而 Whisper tiny 和 base 模型则提供近乎实时的转录。


延伸阅读

TAG
CATEGORIES