Kitten TTS:25MB 大小、纯 CPU 运行的开源语音合成模型

语音合成(TTS)工具这两年越来越多,但大多数要么需要 GPU,要么模型体积大得吓人。最近在 Hacker News 上看到一个叫 Kitten TTS 的开源项目,只有 25MB 大小,纯 CPU 就能跑,效果据说还不错。对于想在自己项目里加语音功能的站长来说,这个值得一试。

项目介绍

Kitten TTS 是一个轻量级的开源文本转语音模型,主打”小而能用”。整个模型只有 25MB 左右,不需要 GPU,普通 CPU 就能实时生成语音。

项目地址:https://github.com/KittenML/KittenTTS

功能亮点

  • 超小体积:模型只有 25MB,下载秒完,部署不占空间
  • 纯 CPU 推理:不需要 GPU,普通服务器、甚至树莓派都能跑
  • 多种声音:内置多种预设声音,男女声都有
  • 支持流式输出:可以边生成边播放,不用等全部生成完
  • Python SDK:提供 pip 安装的 Python 包,几行代码就能用
  • MIT 许可:商用也没问题

安装和使用

安装

用 pip 直接安装:

pip install kitten-tts

基本用法

最简单的用法就是三行代码:

from kitten_tts import KittenTTS

model = KittenTTS()
audio = model.generate("你好,这是一段测试语音。")
model.save(audio, "output.wav")

运行后会在当前目录生成一个 output.wav 文件,直接就能播放。

选择不同声音

模型内置了多种声音风格,可以按需选择:

# 查看可用声音
print(model.list_voices())

# 指定声音生成
audio = model.generate("Hello world", voice="female_01")

流式生成

如果文本比较长,可以用流式模式边生成边处理:

for chunk in model.stream("这是一段很长的文本..."):
    # 每个 chunk 是一小段音频数据
    process_audio_chunk(chunk)

部署到服务器

如果你想在自己的网站上提供 TTS 服务,可以这样部署:

用 FastAPI 包装成 HTTP 接口

from fastapi import FastAPI
from fastapi.responses import Response
from kitten_tts import KittenTTS

app = FastAPI()
model = KittenTTS()

@app.get("/tts")
async def text_to_speech(text: str):
    audio = model.generate(text)
    return Response(content=audio, media_type="audio/wav")

这样部署后,前端只需要请求 /tts?text=你好 就能拿到语音文件。

Docker 部署

FROM python:3.11-slim
WORKDIR /app
RUN pip install kitten-tts fastapi uvicorn
COPY main.py .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

适合什么场景

  • 网站语音播报:给文章加上”听全文”功能
  • 聊天机器人:让 AI 客服能开口说话
  • 无障碍功能:为视障用户提供语音导航
  • 嵌入式设备:树莓派、NAS 等低算力设备上的语音交互
  • 本地 AI 助手:配合 Ollama 等本地模型,做一个能说话的助手

限制和注意事项

  • 作为轻量模型,语音自然度比不上 ElevenLabs、Azure TTS 这类商业服务
  • 中文支持情况需要实际测试,目前主要优化的是英文
  • 25MB 模型的质量和几千兆的大模型肯定有差距,但”够用”场景下性价比很高
  • 长时间运行的生产环境建议用 GPU 加速,纯 CPU 在高并发下会比较慢

简评

Kitten TTS 的定位很清晰:不追求最好,追求”小而能用”。25MB 的体积和纯 CPU 推理这两个特点,让它特别适合资源有限但又想加语音功能的场景。如果你之前因为 TTS 方案太重而放弃,可以试试这个。MIT 许可也很友好,商用没问题。

来源:
GitHub – KittenML/KittenTTS
Hacker News 讨论

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容