概述
在语音合成(TTS)领域,模型的轻量化与高性能一直是技术发展的核心挑战。KittenTTS 是一个开源的轻量级文本到语音模型,由 KittenML 团队开发。该项目以 1500万参数(约25MB模型大小)实现了高质量语音合成,且无需依赖 GPU,可在任何 CPU 设备上运行。KittenTTS 的设计目标是提供 轻量、高效、高质量 的语音生成解决方案,适用于边缘计算设备、移动应用、嵌入式系统等资源受限场景。其开源特性(Apache-2.0协议)和跨平台兼容性,使其成为开发者快速集成语音功能的理想选择。
Github地址为:
https://github.com/KittenML/KittenTTS

核心特点
1.超轻量级设计
- 模型大小:小于25MB,远低于主流 TTS 模型(如 Google TTS 或百度语音的数百MB)。
- 参数量:仅1500万参数,适合在低内存设备(如树莓派、手机)部署。
- CPU优化:完全支持 CPU 推理,无需 GPU 加速,显著降低硬件成本。
2.高质量语音输出
- 多音色支持:提供8种预训练音色(如 expr-voice-2-f、expr-voice-5-m 等),覆盖男性、女性、不同语调风格。
- 自然流畅:通过深度学习优化,生成的语音接近真人发音,减少机械感。
- 实时性:单句语音合成延迟低于500ms(测试环境为i7-12代CPU)。
3.快速部署与易用性
- Python接口:提供简洁的 Python API,3行代码即可完成语音合成。
- 跨平台兼容:支持 Windows、Linux、macOS 等主流操作系统。
- 无第三方依赖:仅需 PyTorch 和 SoundFile 库,安装简单。
技术实现
1.模型架构
KittenTTS 基于 Transformer + WaveNet 的混合架构:
- 文本编码器:使用轻量 Transformer 提取文本特征。
- 声码器:采用改善的 WaveNet 架构,优化生成语音的波形质量。
- 音色控制:通过嵌入向量(Embedding)实现多音色切换,支持自定义音色训练。
2.优化策略
- 量化压缩:对模型权重进行8位整型量化,减少内存占用。
- 动态剪枝:在推理阶段动态移除冗余计算路径,提升效率。
- 多线程加速:利用 CPU 多核并行处理,最大化吞吐量。
3.训练数据
- 数据来源:基于 LJSpeech、Common Voice 等开源数据集训练。
- 语音风格:涵盖英语、中文(普通话)、日语等多语言(当前版本支持英语)。
使用示例
安装与初始化
pip install https://github.com/KittenML/KittenTTS/releases/download/0.1/kittentts-0.1.0-py3-none-any.whl
这个安装会安装许多依赖,如下:
Successfully installed MarkupSafe-3.0.2 addict-2.4.0 annotated-types-0.7.0 attrs-25.3.0
babel-2.17.0 blis-1.3.0 catalogue-2.0.10 certifi-2025.8.3 cffi-1.17.1 charset_normalizer-3.4.2 click-8.2.1
cloudpathlib-0.21.1 colorama-0.4.6 coloredlogs-15.0.1 confection-0.1.5 csvw-3.5.1
curated-tokenizers-0.0.9 curated-transformers-0.1.1 cymem-2.0.11 dlinfo-2.0.0 docopt-0.6.2
espeakng_loader-0.2.4 filelock-3.18.0 flatbuffers-25.2.10 fsspec-2025.7.0 huggingface_hub-0.34.3
humanfriendly-10.0 idna-3.10 isodate-0.7.2 jinja2-3.1.6 joblib-1.5.1 jsonschema-4.25.0
jsonschema-specifications-2025.4.1 kittentts-0.1.0 langcodes-3.5.0 language-data-1.3.0
language-tags-1.2.0 marisa-trie-1.2.1 markdown-it-py-3.0.0 mdurl-0.1.2 misaki-0.9.4
mpmath-1.3.0 murmurhash-1.0.13 networkx-3.5 num2words-0.5.14 numpy-2.3.2
onnxruntime-1.22.1 packaging-25.0 phonemizer-fork-3.3.2 preshed-3.0.10 protobuf-6.31.1
pycparser-2.22 pydantic-2.11.7 pydantic-core-2.33.2 pygments-2.19.2 pyparsing-3.2.3
pyreadline3-3.5.4 python-dateutil-2.9.0.post0 pyyaml-6.0.2 rdflib-7.1.4 referencing-0.36.2
regex-2025.7.34 requests-2.32.4 rfc3986-1.5.0 rich-14.1.0 rpds-py-0.27.0 segments-2.3.0
setuptools-80.9.0 shellingham-1.5.4 six-1.17.0 smart-open-7.3.0.post1 soundfile-0.13.1
spacy-3.8.7 spacy-curated-transformers-0.3.1 spacy-legacy-3.0.12 spacy-loggers-1.0.5
srsly-2.5.1 sympy-1.14.0 thinc-8.3.6 torch-2.8.0 tqdm-4.67.1 typer-0.16.0 typing-extensions-4.14.1
typing-inspection-0.4.1 uritemplate-4.2.0 urllib3-2.5.0 wasabi-1.1.3 weasel-0.4.1 wrapt-1.17.2
2.生成语音
from kittentts import KittenTTS
import soundfile as sf
# 初始化模型
model = KittenTTS("KittenML/kitten-tts-nano-0.1")
# 生成语音
audio = model.generate(
text="hello kittentts!",
voice='expr-voice-2-f' # 可选音色:8种预训练音色
)
# 保存为WAV文件
sf.write('output.wav', audio, 24000)


播放了一下生成的音频,声音还挺甜美!下面来试一下中文,看看目前支不支持,就生成“同一个世界,同一个梦想”吧!

生成的音频只在重复读取两个单词:chinese word,chinese word,chinese word…
看来目前还不支持,等后续支持吧!
3.支持的音色列表
|
音色名称 |
适用场景 |
|
expr-voice-2-f |
温柔女性语音 |
|
expr-voice-2-m |
专业男性语音 |
|
expr-voice-3-f |
年轻女性语音 |
|
expr-voice-5-m |
沉稳男性语音 |

未来展望
KittenML 团队计划在后续版本中实现以下功能:
- 多语言支持:扩展中文、日语等语言的语音合成。
- 自定义音色训练:提供音色微调工具,允许用户上传音频训练专属音色。
- 移动端SDK:发布 Android/iOS SDK,简化移动应用集成。
- Web版本:开发浏览器端 WebAssembly 版本,支持网页直接调用。
KittenTTS 通过轻量化设计与高质量语音输出,为开发者提供了一种全新的 TTS 解决方案。其低门槛部署和跨平台特性,使其成为边缘计算、物联网等领域的理想选择。无论是个人开发者还是企业用户,均可通过此项目快速构建语音能力。




写了这么多,最终还是不中文
暂时不
文本转语音模型
中文么
收藏了,感谢分享