跳转至

VoiceStudio — KittenTTS 引擎

KittenTTS(KittenML)是轻量级英语“flash”层级:一个 25–80 MB 的 ONNX 模型,带有 8 个预设声音,可在任何 CPU 上实时运行——无需 torch、无需 CUDA、无需任何 GPU。当你只需要快速英文旁白(配音、演示朗读、短句)且没有参考样本时,请使用它。

何时选择它

  • 仅限英文的内容,且速度和极小安装比声音克隆更重要。
  • 没有可用 GPU 的机器。

与 OmniVoice 相比的取舍:不支持声音克隆,仅限英文——但安装更快、体积更小。

安装

pip install kittentts

然后通过 Model Catalogue(TTS 标签页 → Use)或 OMNIVOICE_TTS_BACKEND=kittentts 选择该引擎。

声音

八个预设声音,四对男/女声:

expr-voice-2-m  expr-voice-2-f   (default: expr-voice-2-f)
expr-voice-3-m  expr-voice-3-f
expr-voice-4-m  expr-voice-4-f
expr-voice-5-m  expr-voice-5-f

未知的声音 ID 会记录一条信息日志并回退到默认声音。

模型选择

变量 默认值 含义
OMNIVOICE_KITTENTTS_MODEL KittenML/kitten-tts-mini-0.8 要加载的 HuggingFace 检查点

约 80 MB 的模型会在首次使用时从 HuggingFace 下载(网络连接不稳定时重试一次)。参见 downloading-models.md。

行为说明

  • 输出为 24 kHz 单声道。
  • 设计上仅支持 CPU——ONNX 图没有 CUDA/MPS 路径。
  • 非英语的 language 值会被忽略,并记录一条指向 OmniVoice 的日志;参考音频同样会被忽略(不支持克隆)。
  • 长输入加固(#1173): 随附的 ONNX 图有硬性的 512 token 上限,而音素化可能会大幅扩展文本(尤其是数字)。VoiceStudio 会使用模型自带的 tokenizer 预先测量每个块,并在单词边界处拆分过大的块,因此长输入或数字密集型输入不再会在 onnxruntime 内部以不透明的“invalid expand shape”错误中止。

已知限制

  • 仅限英语;不支持克隆、不支持声音设计、不支持情绪控制(参见 expressive-speech.md)。
  • 仅提供预设声音——速度是唯一的调节项。

故障排除

  • 引擎不可用:在 VoiceStudio 的 Python 环境中执行 pip install kittentts,然后重启。
  • 模型加载失败并报 EspeakDataError:espeak-ng(KittenTTS 背后的音素化器)无法打开其数据文件夹,通常是因为安装路径过长或包含非 ASCII 字符。VoiceStudio 已经会尝试使用 %PROGRAMDATA%(Windows)、~/.cache 或临时文件夹中的简短副本重试;如果这些位置都不可写,请将 OMNIVOICE_ESPEAK_DATA_CACHE 设置为一个简短、可写的 ASCII 文件夹(例如 C:\espeak),然后重启。旧版本在此处会以 Error processing file '…phontab' 退出整个后端。
  • 其他问题:install/troubleshooting.md。

另请参阅:benchmarks.md、磁盘占用。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio