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