配備 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 V3 | STT | 最佳準確度、99+ 種語言 | 3-4 倍即時 | 3.0 GB |
| Distil-Whisper Large V3 | STT | 比 Whisper 快 2 倍、準確度損失極小 | 6-8 倍即時 | 1.5 GB |
| Whisper Tiny | STT | 近乎即時、資源需求極低 | 50 倍以上即時 | 150 MB |
| Kokoro | TTS | 快速、輕量、10+ 種語言 | 15 倍以上即時 | 350 MB |
| Parler | TTS | 表現力豐富、可控語音 | 5-8 倍即時 | 800 MB |
| VoiceCraft | TTS/STS | 從 3 秒樣本進行零樣本語音克隆 | 2-3 倍即時 | 1.2 GB |
| CosyVoice | TTS | 中文 + 英文、自然的韻律 | 3-5 倍即時 | 900 MB |
| F5-TTS | TTS | 高品質英文、基於提示的風格 | 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 模型則提供近乎即時的轉錄。
延伸閱讀
- MLX-Audio GitHub 儲存庫 – 原始碼、模型列表和安裝指南
- Apple MLX 框架文件 – Apple 官方 MLX 文件
- OpenAI Whisper GitHub – 用於語音辨識的原始 Whisper 模型
- Kokoro TTS 模型 – MLX-Audio 支援的輕量級 TTS 模型