MLX-Audio:提升您的语音处理体验
随着人工智能和机器学习的迅猛发展,语音识别、语音合成等技术已逐渐融入我们的日常生活。在这方面,MLX-Audio作为一款基于Apple MLX框架的音频处理库,凭借其高效的性能和强大的功能,正在为开发者和创作者们提供更加便捷的语音处理解决方案。
项目简介
MLX-Audio 是一款在 Apple Silicon 上优化的音频处理库,提供快速高效的文本到语音(TTS)、语音到文本(STT)和语音到语音(STS)功能。其多语言支持和多种自定义选项,使得用户能够根据需要生成个性化的语音内容。
功能特点
MLX-Audio的功能模块涵盖多项先进技术,让用户可以轻松实现复杂的音频处理任务:
- 快速推理:优化针对 Apple Silicon(M系列芯片)的性能,提高语音处理效率。
- 多模型架构:支持多种模型架构,适用于 TTS、STT 和 STS。
- 多语言支持:提供多语言模型,满足全球用户需求。
- 语音自定义与克隆:用户可以根据喜好自定义语音或克隆特定的声音。
- 可调节的语速控制:可根据需求调整语音播放速度。
- 互动网页界面:配备三维音频可视化的互动网页界面,提升用户体验。
- 兼容OpenAI的REST API:方便和灵活的集成方式,适合多种应用场景。
- 量化支持:支持多种精度(如3-bit、4-bit、6-bit、8-bit等)的量化处理,提升性能。
- Swift包集成:为iOS/macOS的集成提供Swift包,开发者可以快速上手。
安装方式
MLX-Audio的安装方式非常简单,用户可以快速通过以下命令进行安装。
使用pip安装
pipinstallmlx-audio只安装命令行工具
从PyPI获取最新版本:
uv toolinstall--force mlx-audio --prerelease=allow从GitHub获取最新代码:
uv toolinstall--force git+https://github.com/Blaizzy/mlx-audio.git --prerelease=allow开发或Web界面安装
gitclone https://github.com/Blaizzy/mlx-audio.gitcdmlx-audio pipinstall-e".[dev]"快速开始
此部分将展示如何通过命令行和Python API使用MLX-Audio。
命令行界面
以下是基本的TTS生成功能演示:
# 基本的TTS生成mlx_audio.tts.generate --model mlx-community/Kokoro-82M-bf16 --text"Hello, world!"--lang_code a# 带语音选择和速度调整的生成mlx_audio.tts.generate --model mlx-community/Kokoro-82M-bf16 --text"Hello!"--voice af_heart --speed1.2--lang_code a# 立即播放音频mlx_audio.tts.generate --model mlx-community/Kokoro-82M-bf16 --text"Hello!"--play --lang_code a# 保存到指定目录mlx_audio.tts.generate --model mlx-community/Kokoro-82M-bf16 --text"Hello!"--output_path ./my_audio --lang_code aPython API示例
用户可以通过Python API轻松生成语音。以下是一个简单的示例:
frommlx_audio.tts.utilsimportload_model# 加载模型model=load_model("mlx-community/Kokoro-82M-bf16")# 生成语音forresultinmodel.generate("Hello from MLX-Audio!",voice="af_heart"):print(f"Generated{result.audio.shape[0]}samples")支持的模型
MLX-Audio支持多种TTS、STT和STS模型,每个模型都有其特定的特性和应用场景。
文本到语音(TTS)模型
| 模型 | 描述 | 支持语言 | 仓库链接 |
|---|---|---|---|
| Kokoro | 快速、高质量的多语言TTS | 英语、日语、中文、法语等 | 链接 |
| Qwen3-TTS | 阿里巴巴的多语言TTS | 中文、英语、日语等 | 链接 |
| CSM | 带语音克隆的会话模型 | 英语 | 链接 |
| Dia | 针对对话优化的TTS | 英语 | 链接 |
语音到文本(STT)模型
| 模型 | 描述 | 支持语言 | 仓库链接 |
|---|---|---|---|
| Whisper | OpenAI的强大STT模型 | 99+种语言 | 链接 |
| Parakeet | NVIDIA的精准STT | 英语 | 链接 |
语音到语音(STS)模型
| 模型 | 描述 | 使用场景 | 仓库链接 |
|---|---|---|---|
| SAM-Audio | 文本引导的源分离 | 提取特定声音 | 链接 |
| Liquid2.5-Audio | 语音互转模型 | 语音交互 | 链接 |
高级功能:Web界面与API服务器
MLX-Audio还提供了现代的Web界面和兼容OpenAI的API,方便用户在不同场景下的应用。
启动服务器
启动API服务器:
mlx_audio.server --host0.0.0.0 --port8000在另一个终端中启动Web UI:
cdmlx_audio/uinpminstall&&npmrun devAPI示例
文本到语音:
curl-X POST http://localhost:8000/v1/audio/speech\-H"Content-Type: application/json"\-d'{"model": "mlx-community/Kokoro-82M-bf16", "input": "Hello!", "voice": "af_heart"}'\--output speech.wav语音到文本:
curl-X POST http://localhost:8000/v1/audio/transcriptions\-F"file=@audio.wav"\-F"model=mlx-community/whisper-large-v3-turbo-asr-fp16"量化与性能优化
MLX-Audio支持通过量化来降低模型体积并提高性能,用户可以轻松执行量化操作。
# 转换并量化到4-bitpython -m mlx_audio.convert\--hf-path prince-canuma/Kokoro-82M\--mlx-path ./Kokoro-82M-4bit\--quantize\--q-bits4Swift支持
如果您需要Swift/iOS的支持,可以查看mlx-audio-swift,实现macOS和iOS上的设备语音合成。
结论
MLX-Audio 是一款功能强大的音频处理库,适用于希望利用语音技术的开发者与创作者。无论是文本到语音的合成、语音识别,还是各种语音处理任务,MLX-Audio都提供了丰富的功能和灵活的使用方式。
同类项目对比
在语音处理领域,除了MLX-Audio,还有其他开源项目如Mozilla的DeepSpeech和Google的TTS。DeepSpeech专注于语音到文本,提供准确的实时识别;而Google的TTS则是以自然的合成语音著称,适合很多应用场景。但相较于这些项目,MLX-Audio在性能优化和功能多样性上具有独特优势,特别是针对Apple Silicon的优化,使其在能够充分利用硬件上表现更加卓越。
不妨试试MLX-Audio,来提升您的语音处理体验吧!