VoxCPMANE

VoxCPMANE 通过 CoreML 在 Apple Neural Engine (ANE) 上运行 VoxCPM,并以带内置 Web 试用界面的 Python 服务形式提供。

备注

本项目需要 搭载 Apple Silicon 的 macOS (M1/M2/M3/M4)。不支持 Intel Mac、Linux 或 Windows。

支持的 VoxCPM 版本

VoxCPM 1.0(0.5B)

✅ 支持(源码默认,16 kHz)

VoxCPM 1.5

⚠️ README 中标注为 beta(pip install --pre);源码默认仍为 0.5B

VoxCPM 2

❌ 不支持

主要特性

  • 通过 CoreML 使用 Apple Neural Engine 原生加速

  • 声音克隆,支持缓存已编译音色

  • 流式音频生成

  • 内置 Web 试用界面(Create Voice 标签页用于上传)

  • 可选的服务端回放

  • 内置预设示例音色

  • README 中已宣布支持 VoxCPM 1.5(beta,通过 pip install --pre;仓库内源码默认仍为 16 kHz 的 VoxCPM-0.5B)

准备工作

  • 搭载 Apple Silicon 的 macOS(M1 或更新)

  • Python 3.9 – 3.12

  • uv 包管理器(推荐)

  • (可选)在 /v1/audio/speech 上输出 mp3/opus/ogg/aac 时使用 `` pydub`` (WAV 与 FLAC 无需此项)

安装

# Stable release
uv pip install voxcpmane
# or
pip install voxcpmane

# VoxCPM 1.5 beta
uv pip install -U --pre voxcpmane

首次运行时会通过 Hugging Face Hub 自动下载 CoreML 模型资源(缓存在 ~/.cache/huggingface/)。自定义音色保存在 ~/.cache/ane_tts/

基本用法

启动服务(默认主机 0.0.0.0,端口 8000):

voxcpmane-server
# Server starts at http://localhost:8000

# Custom options
voxcpmane-server --host 127.0.0.1 --port 9000 --cache-dir /path/to/cache

在浏览器中打开 http://localhost:8000 即可访问 Web 试用界面。

声音克隆

可通过 API 或 Web 界面注册自定义音色。API 接受 JSON 请求体,其中 prompt_wav_path 指向 服务器文件系统 上的文件路径:

# Register a voice via API (JSON)
curl -X POST http://localhost:8000/v1/voices \
    -H "Content-Type: application/json" \
    -d '{"voice_name":"my_voice","prompt_wav_path":"/path/to/reference.wav","prompt_text":"Reference transcript"}'

若要上传音频文件,请在 http://localhost:8000 的 Web 试用界面中使用 「Create Voice」 标签页。

也可将音频与同名的 .txt 文本稿放入缓存目录(~/.cache/ane_tts/);它们会在启动时被编译。

API 参考

完整 API 说明见仓库中的 docs/API.md。主要端点:

  • POST /v1/voices — 注册自定义音色(JSON 请求体)

  • POST /v1/audio/speech — 生成语音

  • POST /v1/audio/speech/stream — 流式语音生成

  • GET /voices — 列出可用音色

  • GET /health — 健康检查

  • POST /v1/audio/speech/playback — 服务端音频回放

  • POST /v1/audio/speech/cancel — 取消进行中的生成

限制说明

  • 仅支持 macOS Apple Silicon — 无跨平台支持

  • 长文本输入可能需要分块(路线图项)

  • 首次使用音色编译可能需要数秒