ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

在 Mac 上本地跑通语音合成与识别:MLX-Audio 完整实操教程

2026/9/20 6:56:56 拓冰建站 浏览量
在 Mac 上本地跑通语音合成与识别:MLX-Audio 完整实操教程 在 Mac 上本地跑通语音合成与识别MLX-Audio 完整实操教程【免费下载链接】mlx-audioA text-to-speech (TTS), speech-to-text (STT) and speech-to-speech (STS) library built on Apples MLX framework, providing efficient speech analysis on Apple Silicon.项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-audioMLX-Audio 是一个基于 Apple MLX 框架的本地语音库运行在 M 系列芯片M1/M2/M3/M4的 Mac 上同时覆盖文本转语音TTS、语音转文字STT、语音克隆和音乐生成适合想在设备端做语音应用或自动化的开发者。装好两样东西再跑第一条语音MLX-Audio 需要 Python 3.10 和 MLX 框架后者随 pip 自动安装。如果你的 Mac 是 Apple Silicon基础安装就一行pip install mlx-audio要使用 Web 界面或 API 服务需要带server依赖组从源码安装git clone https://gitcode.com/GitHub_Trending/ml/mlx-audio cd mlx-audio pip install -e .[dev, server]另外保存 MP3、FLAC、OGG 等格式依赖系统里的 ffmpeg提前装好brew install ffmpegWAV 格式不依赖 ffmpeg可以直接生成。一条命令听到第一句合成音 装好之后在终端执行mlx_audio.tts.generate \ --model mlx-community/Qwen3-TTS-12Hz-0.6B-CustomVoice-8bit \ --text Hello, world! \ --voice Vivian \ --play--play让系统直接播放不用翻找文件。--voice指定 Qwen3-TTS 自带的预设音色Vivian和Ryan都可以用。想加快语速加--speed默认 1.0mlx_audio.tts.generate \ --model mlx-community/Qwen3-TTS-12Hz-0.6B-CustomVoice-8bit \ --text 这句话会说得更快一些 \ --voice Vivian \ --speed 1.4一段文字如果生成多个片段默认存为audio_000.wav、audio_001.wav这样的编号文件加--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( 你好这是本地语音合成。, voiceVivian, lang_codeChinese, ): print(f生成了 {result.audio.shape[0]} 个采样点)result.audio是mx.array波形数据可以直接写盘或送进播放器。换模型、换音色、克隆声音 ️MLX-Audio 内置二十多种 TTS 模型换模型只需改--model。Kokoro-82M是其中比较经典的一款支持英、日、中、法、西、意、葡、印地八种语言自带 54 个预设音色。它需要额外安装文本分词工具pip install misaki # 日文pip install misaki[ja] # 中文pip install misaki[zh]mlx_audio.tts.generate \ --model mlx-community/Kokoro-82M-bf16 \ --text 欢迎使用 MLX-Audio \ --voice af_heart \ --lang_code alang_code是单字母代码a美式英语、b英式英语、j日语、z普通话。完整模型列表和语言支持见 docs/models/tts。用一段参考音频克隆音色不需要录音棚几秒的参考音频就够了。CSM 模型支持 zero-shot 语音克隆mlx_audio.tts.generate \ --model mlx-community/csm-1b \ --text 你好来自 Sesame。 \ --ref_audio ./reference_voice.wav \ --play--ref_audio指向参考音频文件模型提取音色特征后让新文本用同样的声音读出来。反向也跑通语音转文字STT 的命令行入口和 TTS 对称用 Whisper 转写一段录音python -m mlx_audio.stt.generate \ --model mlx-community/whisper-large-v3-turbo-asr-fp16 \ --audio audio.wav \ --format json \ --verboseWhisper 支持 99 种以上语言如果只需要英文且追求速度可以换 Parakeetmlx-community/parakeet-tdt-0.6b-v3覆盖 25 种欧洲语言。Python 里调用同样简短from mlx_audio.stt.generate import generate_transcription result generate_transcription( modelmlx-community/whisper-large-v3-turbo-asr-fp16, audioaudio.wav, ) print(result.text)打开网页版工作台MLX-Audio 自带 FastAPI 后端和 Next.js 前端两个终端分别启动# 终端 1API 服务 mlx_audio.server --host 0.0.0.0 --port 8000 # 终端 2Web 界面 cd mlx_audio/ui npm install npm run dev界面跑在http://localhost:3000API 在http://localhost:8000。界面提供 TTS 生成可选音色和模型、STT 上传转写、3D 音频可视化等功能。API 是 OpenAI 兼容格式已有的 OpenAI 客户端代码只需改base_urlfrom openai import OpenAI client OpenAI( base_urlhttp://localhost:8000/v1, api_keynot-needed, ) response client.audio.speech.create( modelmlx-community/Kokoro-82M-bf16, voiceaf_heart, inputHello from the OpenAI client!, ) response.stream_to_file(output.mp3)量化让大模型跑得更省 降低权重位宽能直接缩小模型体积。4-bit 模型大约是 fp16 的 1/4 大小在 Apple Silicon 的统一内存架构下推理也会更快。量化入口是mlx_audio.convertpython -m mlx_audio.convert \ --hf-path prince-canuma/Kokoro-82M \ --mlx-path ./Kokoro-82M-4bit \ --quantize \ --q-bits 4常用位宽选择4-bit体积和质量的平衡点日常使用推荐6-bit接近无损适合对音质敏感的场景8-bit几乎无质量损失体积约为 fp16 的一半量化模式affine/mxfp4/mxfp8/nvfp4和分组大小等完整选项见 docs/guides/quantization.md。移动端如果目标是 iPhone 或 iPad项目提供了独立的 Swift 包mlx-audio-swift支持 macOS 14.0 和 iOS 16.0可以在设备端直接做 TTS不需要联网。接下来做什么跑一遍examples/里的演示脚本比如examples/streaming_transcription.py展示了流式转写的完整流程打开 docs/getting-started/quickstart-cli.md对照参数表把 TTS 和 STT 的 CLI 选项全部过一遍如果要接入自己的业务下一步建议先跑通mlx_audio.server再用 OpenAI 客户端把 TTS/STT 请求对接到现有代码里【免费下载链接】mlx-audioA text-to-speech (TTS), speech-to-text (STT) and speech-to-speech (STS) library built on Apples MLX framework, providing efficient speech analysis on Apple Silicon.项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-audio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考