LongCat AudioDiT 集成
Libre WebUI 为官方 meituan-longcat/LongCat-AudioDiT-1B 和 meituan-longcat/LongCat-AudioDiT-3.5B 检查点内置 JSON 插件和本地 HTTP 适配器。上游项目提供 Python API 而非 HTTP 服务器,因此 examples/longcat-audiodit-server 中的适配器提供模型发现、JSON 语音和多部分声音克隆端点。
AudioDiT 返回完整的 24 kHz 单声道 WAV 文件,而不是流式音频响应。因此,Libre WebUI 会在句子和短语边界拆分长回复,提前生成数量受限的批次,并按顺序调度解码音频,实现连续播放。
要求
实际使用建议采用 NVIDIA CUDA GPU。请从 1B 检查点开始;3.5B 需要多得多的 VRAM,加载时间也更长。CPU 可用于实验,但通常无法实现交互速度。
启动适配器
克隆官方实现并创建隔离环境:
git clone https://github.com/meituan-longcat/LongCat-AudioDiT.git
python3 -m venv .venv
source .venv/bin/activate
pip install -r examples/longcat-audiodit-server/requirements.txt
export PYTHONPATH="$PWD/LongCat-AudioDiT"
然后启动一个检查点:
python examples/longcat-audiodit-server/server.py \
--model meituan-longcat/LongCat-AudioDiT-1B \
--device cuda:0
服务器默认绑定 127.0.0.1:8300。为方便本地使用,它有意不提供身份验证,因此不要直接暴露到不可信网络。若 Libre WebUI 与适配器位于不同主机,请使用经过身份验证的 HTTPS 网关:可复用声音会在每个语音批次中向该端点发送解密后的参考录音。examples/longcat-audiodit-server/README.md 记录了 CUDA Docker 示例和健康检查。
启用插件
打开 设置 → 插件 → LongCat AudioDiT,启用插件;除非适配器运行在其他位置,否则保留默认本地端点。模型发现仅公布当前服务器进程中驻留的检查点。要在 1B 和 3.5B 之间切换,请重启适配器。
当 llama-swap 等网关位于适配器前方时,将模型 API 端点配置为经该网关访问的适配器 GET /v1/models 路由。不要把模型发现指向 POST /v1/audio/speech:发现失败时会回退到清单中的两个检查点,可能使界面选择适配器尚未加载的检查点。
在 设置 → 文字转语音 中选择 LongCat 作为聊天播放提供商。自然分批播放默认启用。提供商共享的 140 字符限制可让密集中文文本保持在 1B 较短的持续时间窗口内;Libre WebUI 会为更长回复自动创建多个批次。
声音克隆
打开 Imagine → 音频,选择 LongCat 语音模型并启用 克隆参考声音。上传清晰录音,并输入其中实际说出的确切文字。3–10 秒、单人且背景噪声较少的片段效果最佳;适配器拒绝超过 15 秒或 10 MiB 的片段。
克隆可以只用于一次生成,也可选择 另存为可复用声音,指定私有名称,并明确确认说话者同意存储。保存的声音可在同一 LongCat 模型的 设置 → 文字转语音 下选择。聊天朗读和自动播放随后会在 Libre WebUI 按句拆分的批次中复用该声音。
参考录音会占用 AudioDiT 持续时间窗口的一部分。若请求的语音无法放入剩余时间,适配器会返回明确的客户端错误,而不会悄然截断音频;请缩短参考或生成段落后重试。
只有获得说话者明确许可时才能克隆声音。一次性生成时,Libre WebUI 将参考保存在内存中,适配器在请求后删除临时解码文件。明确保存可复用声音时,Libre WebUI 会在用户范围的 AES-GCM 加密配置中存储原始参考音频和确切文本,绝不会用生成的模仿替代规范参考。AudioDiT 不提供可移植的说话者嵌入,因此每个批次都会解密原始音频与文本并发送给已配置提供商。可从文字转语音设置中永久删除配置。若插件的已批准路由或端点发生变化,保存的配置会安全失败;验证新目标后请重新创建。
生成的语音单独存储在用户的加密媒体库中。删除媒体库结果不会删除保存的声音配置,删除声音配置也不会移除此前生成的媒体库音频。
提供商支持 WAV、FLAC、MP3 和 Ogg 参考。英语和普通话是文档最充分的目标语言。LongCat 不发布预设命名声音,因此普通合成使用模型默认声音。
推理控制
插件为 ODE 步数、引导强度、CFG/APG 引导方法和种子提供受限高级变量。Libre WebUI 只会把清单声明的控制项转发到语音和克隆端点。默认值与上游推理示例一致,适合作为起点。
AudioDiT 不提供播放速度控制。为了兼容 OpenAI 语音请求格式,适配器接受 0.25 到 4.0 的 speed 值,并有意忽略。实际语速由模型决定;选择其他速度不会拉伸生成的 WAV。
直接 curl 请求、Docker 命令、精确限制和离线验证命令请参阅示例 README。