KoboldCpp 扩充了用于本地音乐生成和将文字转换为人声的语音合成模型,并新增了调整多个请求共享缓存空间大小的功能,该空间用于临时存放可复用数据。音频开发者可以在同一程序中完成从准备歌词到语音转录的工作,运行并行推理的开发者则可根据请求大小设置共享空间。

1. 根据歌词准备方式选择音乐生成配置

10月31日发布的 v1.124 集成了 audio.cpp 的部分热门音频模型。此次更新并非仅仅接入独立功能,而是扩充了程序内置音乐生成和语音合成可用的模型选择。

音乐生成新增了 YuE2。用户通过下载、保存并加载模板来选择配置。模板规定了音乐模型与负责准备歌词的语言模型如何组合使用。

自行提供歌词的配置只使用音乐模型,是最轻量的选择。如果还需要生成歌词,可以选择搭配小型或大型语言模型的配置。发行说明推荐搭配 4B 小型语言模型的配置。

2. 在同一界面完成语音合成与参考文本准备

语音合成新增了 BreezeTTS 2 和 Ming 3.0 TTS 等模型。两者均支持复现参考音频音色的语音克隆和指令输入,并在发行说明中被列为推荐模型。

Qwen3-TTS 的基础配置支持语音克隆,VoiceDesign 配置支持指令输入。即使属于同一系列,也需要根据所需功能选择不同配置。对于此次新增模型,不宜只看名称,而应根据是否使用参考音频或输入指令来选择。

音乐与语音生成界面 MusicUI 也已更新,以支持新模型。启动程序后,在浏览器中访问以下地址即可。这不仅提供模型选择,也提供了开始实际操作的界面。

http://localhost:5001/musicui

该界面还新增了使用 Whisper 模型的转录选项卡。使用某些需要参考音频文本的语音合成模型时,可以借此将语音转为文字,准备输入材料。新模型支持与输入材料准备功能同时加入,改变了音频工作流程。

3. 根据任务大小调整并发请求的共享空间

并行请求现在可以指定多个请求共享的键值缓存池总大小。这不是为每个请求单独划定空间,而是调整用于容纳并发处理请求的公共工作空间。

以下分别是并行请求功能选项和新增的缓存池总大小设置选项。如果不单独指定缓存池总大小,默认将使用上下文大小,即模型一次可处理的输入量。

--parallelrequests
--paralleltotalcontext

发行说明建议,在传入的一批请求都较大时增大缓存池。无法放入缓存池的大请求会等待,因此在实际运行中,接收并发请求与准备足够的同时处理空间密切相关。

好处是可以根据任务调整容纳大请求的空间,代价则是需要分配更大的缓存空间。运维人员在决定设置时,不仅要考虑并发请求数量,也要考虑请求大小。此版本还允许在并行请求模式下进行有限的缓存复用。

4. 选定模型和设备后运行

要使用音频功能,下载并加载所选模型配置即可。搭配大型语言模型生成歌词的配置面向大型 GPU,难以按轻量配置的硬件负担来使用。自行准备歌词还是交由模型生成,是同时影响功能选择与资源负担的判断依据。

运行时可以通过命令行指定选项,也可以在图形界面中直接选择模型。程序提供各操作系统的可执行文件;如果不需要 CUDA,可选择体积更小、不含 CUDA 的构建版本。

对于 AMD 用户,说明建议先尝试不含 CUDA 构建版本中的 Vulkan 选项。Linux 还可选择 ROCm 可执行文件,M 系列 Mac 则提供 arm64 构建版本。可以先选择模型,再选择适合所用设备的可执行文件。

KoboldCpp v1.124 的核心,是将音频输入准备与生成整合到同一工具中,并让运维人员能够根据任务规模设置并行推理的共享空间。