最小模型仅 25MB,老设备无 GPU 也能流畅跑!
* 戳上方蓝字“开源先锋”关注我
大家好,我是开源君!
想在树莓派、手机或者老电脑上部署带语音合成(TTS)功能的应用,但主流模型动不动就几百MB甚至上GB,还必须得有GPU才能跑。
最近逛 Github 发现这样一款开源项目 - KittenTTS,能让任何设备都能流畅运行高质量的语音合成,堪称嵌入式开发和轻量级应用的福音!
项目简介
KittenTTS是一个开源的、极具表现力的文本转语音模型系列,它的核心特点就是“小身材,大能量”。
整个模型最小的只有约1500万参数,体积被控制在惊人的25MB以内,比许多主流TTS模型小了十倍甚至更多。
最厉害的是,它经过极致优化,完全不需要GPU,仅靠CPU就能实现高质量的语音合成,从手机APP到嵌入式设备,从Web到桌面软件,几乎哪里都能用。
效果demo
项目在Github上已经收获了 14k+ star,社区非常活跃!
功能特性
模型超轻量:整个模型最小的不到 25 MB,仅约 1500 万参数。 无需 GPU,纯 CPU 即可运行:几乎任何电脑、树莓派、嵌入式设备都能胜任。 多种预设语音:提供多种声音风格(男女声、不同语调 etc),适配不同场景需求。 快速推理、实时生成:经过优化,语音合成速度够快,适合对话系统或实时 TTS 场景。 输出高质量音频:生成音频质量较好,可用于旁白、播报、读屏等应用。 开源 + 可本地部署:代码和模型开放,遵循 Apache-2.0 许可,无需将数据上传云端,隐私安全友好。
快速安装与使用
上手 KittenTTS 非常简单,不到一分钟就能搞定!
安装:只需一行命令,通过pip即可安装预编译的包。
pip install https://github.com/KittenML/KittenTTS/releases/download/0.8.1/kittentts-0.8.1-py3-none-any.whl
使用:安装完成后,就可以在你的Python脚本中愉快地调用了。
from kittentts import KittenTTS
import soundfile as sf
# 初始化模型,指定模型版本
m = KittenTTS("KittenML/kitten-tts-mini-0.8")
# 生成语音!选择你喜欢的声音
audio = m.generate("This high quality TTS model works without a GPU", voice="Jasper")
# 将生成的音频保存为WAV文件
sf.write('output.wav', audio, 24000)
可用的语音选项非常丰富,男女共有8种('Bella', 'Jasper', 'Luna', 'Bruno', 'Rosie', 'Hugo', 'Kiki', 'Leo')
运行上面的代码后,很快就能在目录下得到一个 output.wav 音频文件。
开源君实测在普通的笔记本电脑CPU上,生成速度非常快,几乎感觉不到延迟。
对于这样一个轻量级的模型来说,其语音的自然度和流畅度确实令人惊喜,完全能够满足大多数应用场景的基本需求,比如语音提示、有声读物、辅助工具播报等。
另外,如果想更快速的体验到效果,可以直接到这里体验:https://huggingface.co/spaces/KittenML/KittenTTS-Demo
开源君想说
KittenTTS并不是为了和大型、高资源、云服务级别的 TTS 模型(比如那些动辄数百 MB、数 GB 的模型)去拼“极致音质”。
它有更明确的定位:做轻量、做实用、做可本地部署,适合资源受限设备、适合隐私敏感环境、适合离线语音合成需求。
更多细节功能,感兴趣的可以到项目地址查看:
https://github.com/KittenML/KittenTTS
13MB 打包整个网站、去 JS、跨平台,还能做成 App,有点离谱了!