Blaizzy/mlx-audio

A text-to-speech (TTS), speech-to-text (STT) and speech-to-speech (STS) library built on Apple's MLX framework, providing efficient speech analysis on Apple Silicon.

MLX‑Audio – 高速、原生支援 Apple Silicon 的音訊 AI 庫

是什麼 – 一個 Python 套件(及可選的 Swift 套件),包裝了大量先進的語音與音樂模型,並在 Apple 的 MLX 框架上執行。提供即用型命令列工具、Python API、Web UI 和 OpenAI 相容的 REST 端點,支援以下功能:

  • 文字轉語音(TTS)
  • 語音轉文字(STT / ASR)
  • 語音轉語音 / 聲源分離
  • 語音活動檢測與說話人分離(VAD / Diarization)
  • 音樂生成
  • 3 至 8 位量化推論,適用於低記憶體的 Apple Silicon 裝置

快速開始(CLI)

# 安裝套件
pip install mlx-audio   # 或:uv tool install mlx-audio

# 產生一段短的 TTS 影片(預設語音 "Vivian")
mlx_audio.tts.generate \
    --model mlx-community/Qwen3-TTS-12Hz-0.6B-CustomVoice-8bit \
    --text "Hello, world!" \
    --play

加入 --stream 可在產生過程中即時聆聽音訊,--save 可儲存至磁碟,--join_audio 可將多段輸出合併為單一檔案。


快速開始(Python)

from mlx_audio.tts.utils import load_model

model = load_model("mlx-community/Qwen3-TTS-12Hz-0.6B-CustomVoice-8bit")
for result in model.generate(
        "Hello from MLX‑Audio!",
        voice="Vivian",
        lang_code="English",
    ):
    # result.audio 是包含波形的 mx.array
    print("generated", result.audio.shape[0], "samples")

STT、VAD、分離等操作也使用相同模式,只需使用對應的 mlx_audio.sttmlx_audio.vad 模組即可。


核心功能(來自 README)

  • Apple Silicon 優化 – 推論在 MLX 後端執行,可在 M 系列晶片上實現低延遲生成。
  • 廣泛的模型目錄 – Hugging Face 上托管了數十個預先主機的模型(如 Kokoro、OmniVoice、Qwen3‑TTS、Whisper、VAD、音樂生成模型),大多數模型提供 8 位、4 位或 3 位量化版本。
  • 多語言與語音克隆 – 多數模型支援 20 多種語言;多個模型(OmniVoice、Higgs Audio、CSM)可從參考音訊片段中克隆說話人。
  • 串流與即時控制 – 支援 TTS 的 --stream 標誌、串流 ASR 模型(如 Nemotron 3.5‑ASR‑streaming、VibeVoice‑ASR),以及全雙工 VoiceChat。
  • Web UI – 互動式瀏覽器介面,支援 3D 音訊可視化。
  • OpenAI 相容 REST API – 可直接取代 OpenAI 的 audio/speech 端點。
  • 量化支援 – 支援 3、4、6、8 位(以及 MXFP 格式),使大模型適配筆電有限的記憶體。
  • Swift 套件 – 可選的 iOS/macOS 集成,用於原生應用開發。

模型類別(摘錄)

類別 例子模型 語言 / 備註
TTS Kokoro、OmniVoice、Qwen3‑TTS、Higgs Audio v3、Voxtral‑TTS 20+ 語言,支援語音克隆、速度控制
STT / ASR Whisper‑large‑v3‑turbo、Qwen3‑ASR、VibeVoice‑ASR、Moonshine 99+ 語言(Whisper),支援串流版本
VAD / Diarization Silero VAD、Sortformer v1/v2.1 語言無關,最多支援 4 位說話人
STS / Enhancement SAM‑Audio(聲源分離)、DeepFilterNet、NemotronLabs VoiceChat 噪音去除、全雙工語音聊天
音樂生成 MiniMax Music 3(分層 AR + 流匹配) 多語言歌詞,44.1 kHz 立體聲

安裝方式

方法 命令 使用情境
標準 pip pip install mlx-audio 簡單本地使用,包含核心套件。
uv(僅 CLI 工具) uv tool install --force mlx-audio 僅需 mlx_audio.* 命令列工具時使用。
從原始碼安裝(開發 / 伺服器) ```bash
git clone https://github.com/Blaizzy/mlx-audio.git
cd mlx-audio
pip install -e ".[dev, server]"

---
## 執行 Web UI / API 伺服器
```bash
# 安裝時包含 "server" 附加元件後
mlx_audio.server --host 0.0.0.0 --port 8000

UI 可透過 http://localhost:8000 訪問,提供文字框、語音選擇器和 3D 波形可視化功能。


授權與引用

  • 授權:MIT(參見 README 中的徽章)。
  • 引用:README 中包含 Citation 部分;發布結果時,建議引用原始模型倉儲(如 Qwen3‑TTS、Whisper)。

誰會使用它?

  • 需要在 Mac 電腦上實現低延遲語音合成或辨識的語音助理或多模態代理開發者
  • 希望在 Apple 硬體上使用統一介面與便捷量化進行新音訊模型原型設計的研究人員
  • 尋找 Swift 相容音訊 AI SDK 的 iOS/macOS 應用開發者
  • 希望在本地離線運行 TTS/語音克隆流程、避免雲端成本的內容創作者

總結

MLX‑Audio 是一個專注於 Apple Silicon 的綜合性工具箱,集成了數十個前沿語音與音樂模型,提供 CLI 和 Python API,支援激進量化,並附帶 Web UI 和 OpenAI 相容伺服器。它將原本沉重的大規模音訊模型世界,轉變為可在 MacBook 上本地執行的輕量級解決方案。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案