Repolode
KittenML

KittenML/KittenTTS

开源文本转语音库,KittenTTS 2 可从几秒音频克隆声音,并能在 CPU 上实时合成。

可替代:ElevenLabs

Star
16,193
Fork
967
未关闭 Issue
138
最近提交
4天前

这是什么?

Kitten TTS 是一个 Python 文本转语音库,核心模型 KittenTTS 2 是参数量为 17 亿的 1-bit 语音语言模型。它支持根据 5 到 30 秒的说话人录音进行上下文语音克隆,内置 47 种声音,覆盖 20 种语言,并可通过情绪、副语言事件和强调标记调整朗读效果。

项目同时提供参数量在 1500 万到 8000 万之间的轻量 ONNX 模型,无需 GPU 即可在 CPU 上运行,并与 KittenTTS 2 使用同一个构造函数加载。长文本会按句子边界切分后无缝拼接,流式接口则可逐块返回音频。

推理方式包括标准 Python 包、基于 llama.cpp 的 C++ 后端,以及在 NVIDIA GPU 上使用的 vLLM。模型权重采用与 Apache-2.0 代码不同的单独许可条款,使用前需要自行确认。

核心功能

  • 01仅凭 5 到 30 秒参考音频即可克隆声音,无需微调
  • 02内置 47 种声音,支持 20 种语言
  • 03支持情绪标签、行内副语言事件和强调标记,使朗读更有表现力
  • 04提供可在 CPU 上运行的轻量 ONNX 模型
  • 05长文本按句子切分并无缝拼接,并支持流式输出
  • 06可选 C++ 后端和 vLLM 推理,便于提升速度

适用场景

  • 为只有 CPU 的应用或边缘设备增加离线语音输出
  • 为较长的脚本或文章生成旁白
  • 用说话人的一小段样本快速验证自定义声音
  • 构建边合成边播放的低延迟语音输出

快速上手

  1. 1

    使用 pip 安装软件包

    pip install kittenml
  2. 2

    使用 KittenTTS 2 生成语音并保存为 WAV 文件

    python -c "from kittenml import KittenTTS; import soundfile as sf; m = KittenTTS('KittenML/kitten-tts-2'); audio = m.generate('One day, a little girl named Lily found a needle in her room.', voice='Bruno'); sf.write('output.wav', audio, m.sample_rate)"

使用前须知

  • KittenTTS 2 模型权重采用独立的 Stellon Labs 社区许可证,而非 Apache-2.0,商用前请先确认其条款。
  • 情感控制功能处于测试阶段,效果因音色和句子而异。
  • 流式输出以文本块为单位,首个音频块仍有明显的生成延迟。
  • C++ CPU 推理方案处于测试阶段。

标签

常见问题

KittenTTS 是什么?
开源文本转语音库,KittenTTS 2 可从几秒音频克隆声音,并能在 CPU 上实时合成。 Kitten TTS 是一个 Python 文本转语音库,核心模型 KittenTTS 2 是参数量为 17 亿的 1-bit 语音语言模型。它支持根据 5 到 30 秒的说话人录音进行上下文语音克隆,内置 47 种声音,覆盖 20 种语言,并可通过情绪、副语言事件和强调标记调整朗读效果。
KittenTTS 可以免费使用吗?用的什么许可证?
KittenTTS 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
KittenTTS 还在维护吗?
活跃维护中。KittenTTS 最近一次提交是在 2026年10月16日。
KittenTTS 适合用来做什么?
为只有 CPU 的应用或边缘设备增加离线语音输出 为较长的脚本或文章生成旁白 用说话人的一小段样本快速验证自定义声音 构建边合成边播放的低延迟语音输出
KittenTTS 怎么安装和运行?
使用 pip 安装软件包: pip install kittenml 使用 KittenTTS 2 生成语音并保存为 WAV 文件: python -c "from kittenml import KittenTTS; import soundfile as sf; m = KittenTTS('KittenML/kitten-tts-2'); audio = m.generate('One day, a little girl named Lily found a needle in her room.', voice='Bruno'); sf.write('output.wav', audio, m.sample_rate)"
在哪里获取 KittenTTS?
源代码和安装说明在 GitHub 上:https://github.com/KittenML/KittenTTS

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目