文本转语音模型Kokoro-FastAPI

简介

什么是 Kokoro-82M ?

Kokoro-82M 是一个开放权重的文本到语音(TTS)模型,拥有 8200 万参数。尽管其架构轻量,但它的音质与更大模型相当,同时速度更快且成本更低。Kokoro-82M 采用 Apache 许可证,可以在生产环境和个人项目中随处部署。

什么是 Kokoro-FastAPI ?

Kokoro-FastAPI 是一个基于 FastAPIDocker 化应用,旨在为 Kokoro-82M 文本到语音(TTS)模型提供一个简单的接口。该项目支持 CPUNVIDIA GPUPyTorch 推理,具备自动拼接功能。Kokoro-FastAPI 允许用户通过 OpenAI 兼容的 API 生成语音,支持多种语言(如英语、日语、韩语、中文等),并提供调试端点以监控系统状态。

应用场景

  1. 文本到语音转换

    • 用户可以将文本输入转换为自然的语音输出,适用于语音助手、读屏软件等应用。
  2. 多语言支持

    • 该项目支持多种语言的语音生成,适合需要多语言功能的应用程序,如教育软件和国际化产品。
  3. 音频生成与处理

    • 通过调整声音组合和权重,用户可以创建自定义的语音音效,适用于游戏、动画等多媒体项目。
  4. 语音合成 API

    • 提供 OpenAI 兼容的 API,方便开发者将语音生成功能集成到他们的应用中。
  5. 系统监控与调试

    • 项目内置调试端点,可以用来监控系统性能和资源使用,适合开发和运维人员在优化和故障排查时使用。

这个项目的灵活性和可扩展性,使其成为语音技术相关应用的理想选择。

安装

在群晖上以 Docker 方式安装。官方的镜像发布在 ghcr.io

所以用 docker cli 更快捷

老苏的小机器不支持 GPU,所以使用的是 CPU 版本;

1
2
3
4
5
6
# 运行容器
docker run -d \
--restart unless-stopped \
--name Kokoro \
-p 8876:8880 \
ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
version: '3'

services:
Kokoro:
image: ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2
container_name: Kokoro
restart: unless-stopped
ports:
- 8876:8880

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 kokoro 和 子目录
mkdir -p /volume1/docker/kokoro

# 进入 kokoro 目录
cd /volume1/docker/kokoro

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

镜像有个编译过程,看起来对网络有要求

如果网络没问题的话,应该会看到下面这样的提示

1
2
Beta Web Player: http://0.0.0.0:8880/web/
or http://localhost:8880/web/

Web

在浏览器中输入 http://群晖IP:8876/web 就能看到主界面

输入一些汉字,为避免识别错误,Language 可以直接选择 Chinese

感觉生成的语音,和日常生活中听老外说中文是一个味。

老苏把它丢云盘了,地址: https://www.alipan.com/s/DRgGA1zcUKA

xiaoyi 这个语音看起来像是中国人的名字,所以生成的语音更标准

也可以一次选多个语音,只是生成速度会变慢

API

软件还提供了 API 文档,在浏览器中输入 http://群晖IP:8876/docs 就能看到

资源

资源占用方面看起来还好

参考文档

remsky/Kokoro-FastAPI: Dockerized FastAPI wrapper for Kokoro-82M text-to-speech model w/CPU ONNX and NVIDIA GPU PyTorch support, handling, and auto-stitching
地址:https://github.com/remsky/Kokoro-FastAPI

hexgrad/Kokoro-82M · Hugging Face
地址:https://huggingface.co/hexgrad/Kokoro-82M