海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

Kitten-TTS-Server 是一个开源项目,它为轻量级的 KittenTTS 模型提供了一个功能增强的服务器。用户可以通过这个项目自己搭建一个文本转语音(TTS)服务。这个项目的核心优势在于它在原始模型的基础上,增加了一个直观的网页用户界面(Web UI)、用于制作有声读物的长文本处理功能,以及显著提升性能的 GPU 加速能力。该服务器的底层模型非常小,只有不到25MB,但能生成听起来很真实自然的人声。项目通过提供一个功能齐全的服务器,简化了模型的安装和运行过程,让不具备专业知识背景的用户也能轻松使用。服务器内置了8种预设的语音(4种男性,4种女性),并且支持通过 Docker 进行部署,大大降低了配置和维护的复杂性。

 

功能列表

  • 轻量级模型:核心采用 KittenTTS ONNX 模型,体积小于 25MB,资源占用少。
  • GPU 加速:通过优化的 onnxruntime-gpu 管道和 I/O 绑定技术,全面支持 NVIDIA (CUDA) 加速,显著提升语音生成速度。
  • 长文本与有声书生成:能够自动处理长篇文本,通过智能断句、分块处理再无缝拼接音频的方式,非常适合用来生成完整的有声读物。
  • 现代化网页界面:提供一个直观的 Web UI,用户可以直接在浏览器中输入文本、选择语音、调整语速,并能实时看到生成音频的波形图。
  • 内置多种语音:集成了 KittenTTS 模型自带的8种语音(4男4女),可以直接在界面上选择。
  • 双 API 接口:提供一个功能完整的 /tts 接口和一个兼容 OpenAI TTS API 结构的 /v1/audio/speech 接口,方便集成到现有工作流中。
  • 配置简单:所有设置都通过一个单一的 config.yaml 文件进行管理。
  • 状态记忆:网页界面能够记住上次使用的文本、语音和相关设置,简化操作流程。
  • Docker 支持:提供为 CPU 和 GPU 环境预设好的 Docker Compose 文件,实现一键式容器化部署。

使用帮助

Kitten-TTS-Server 项目提供了清晰的安装和使用流程,确保用户可以顺利地在自己的硬件上把它运行起来。

系统环境准备

在安装之前,你需要准备好以下环境:

  1. 操作系统: Windows 10/11 (64位) 或 Linux (推荐 Debian/Ubuntu)。
  2. Python: 3.10 或更高版本。
  3. Git: 用于从 GitHub 克隆项目代码。
  4. eSpeak NG: 这是一个必需的依赖项,用于文本音素化。
    • Windows: 从 eSpeak NG 的发布页面下载并安装 espeak-ng-X.XX-x64.msi。安装后需要重启命令行终端。
    • Linux: 在终端运行命令 sudo apt install espeak-ng
  5. (GPU 加速可选):
    • 一块支持 CUDA 的 NVIDIA 显卡。
    • (仅 Linux): 需要安装 libsndfile1 和 ffmpeg。可以通过命令 sudo apt install libsndfile1 ffmpeg 来安装。

安装步骤

整个安装过程被设计为“一键式”,根据你的硬件选择不同的安装路径。

第一步:克隆代码仓库
打开你的终端(在 Windows 上是 PowerShell,在 Linux 上是 Bash),然后运行以下命令:

git clone https://github.com/devnen/Kitten-TTS-Server.git
cd Kitten-TTS-Server

第二步:创建并激活 Python 虚拟环境
为了避免与其他项目的依赖库产生冲突,强烈建议创建一个独立的虚拟环境。

  • Windows (PowerShell):
    python -m venv venv
    .\venv\Scripts\activate
    
  • Linux (Bash):
    python3 -m venv venv
    source venv/bin/activate
    

激活成功后,你的命令行提示符前面会出现 (venv) 字样。

第三步:安装 Python 依赖库
根据你的电脑是否配有 NVIDIA 显卡,选择下面其中一种方式进行安装。

  • 选项一:仅使用 CPU 安装(最简单)
    这种方式适用于所有电脑。

    pip install --upgrade pip
    pip install -r requirements.txt
    
  • 选项二:使用 NVIDIA GPU 安装(性能更强)
    这种方式会安装所有必要的 CUDA 库,让程序在显卡上运行。

    pip install --upgrade pip
    # 安装支持GPU的ONNX Runtime
    pip install onnxruntime-gpu
    # 安装支持CUDA的PyTorch,它会一并安装onnxruntime-gpu所需的驱动文件
    pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
    # 安装其余的依赖
    pip install -r requirements-nvidia.txt
    

    安装完成后,可以运行以下命令验证 PyTorch 是否能正确识别到你的显卡:

    python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
    

    如果输出结果为 CUDA available: True,说明 GPU 环境配置成功。

运行服务器

注意:第一次启动服务器时,它会自动从 Hugging Face 下载约 25MB 大小的 KittenTTS 模型文件。这个过程只需要一次,后续启动会非常快。

  1. 确保你已经激活了虚拟环境(命令行前面有 (venv))。
  2. 在终端里运行服务器:
    python server.py
    
  3. 服务器启动后,会自动在你的默认浏览器中打开网页操作界面。
    • 网页界面地址: http://localhost:8005
    • API 文档地址: http://localhost:8005/docs

要停止服务器,只需在运行服务器的终端窗口中按下 CTRL+C

Docker 安装方式

如果你熟悉 Docker,可以使用 Docker Compose 来进行部署,这种方式更简单,并且可以更好地管理应用。

  1. 环境准备:
    • 安装 Docker 和 Docker Compose。
    • (GPU 用户) 安装 NVIDIA Container Toolkit。
  2. 克隆代码仓库 (如果之前没做过):
    git clone https://github.com/devnen/Kitten-TTS-Server.git
    cd Kitten-TTS-Server
    
  3. 启动容器 (根据你的硬件选择命令):
    • NVIDIA GPU 用户:
      docker compose up -d --build
      
    • 仅 CPU 用户:
      docker compose -f docker-compose-cpu.yml up -d --build
      
  4. 访问和管理:
    • 网页界面: http://localhost:8005
    • 查看日志: docker compose logs -f
    • 停止容器: docker compose down

功能操作

  • 生成普通语音:
    1. 启动服务器并打开 http://localhost:8005
    2. 在文本框中输入你想要转换的文字。
    3. 从下拉菜单中选择一个喜欢的声音。
    4. 可以拖动滑块调整语速。
    5. 点击“Generate Speech”按钮,音频会自动播放,并提供下载链接。
  • 生成有声书:
    1. 将整本书或一个章节的纯文本内容复制出来。
    2. 粘贴到网页的文本框中。
    3. 确保“Split text into chunks”(将文本拆分为块)选项是勾选状态。
    4. 为了让停顿更自然,建议设置一个 300 到 500 字符之间的分块大小(Chunk Size)。
    5. 点击“Generate Speech”按钮,服务器会自动把长文本切片、生成语音,最后拼接成一个完整的音频文件供你下载。

应用场景

  1. 制作有声书
    对于喜欢听书的用户或者内容创作者,可以利用这个工具将电子书、长篇文章或网络小说转换成有声读物。其长文本处理功能可以自动完成切分和拼接,生成完整的音频文件。
  2. 个人语音助手
    开发者可以将其 API 集成到自己的应用程序中,为应用添加语音播报功能,例如朗读新闻、天气预报或通知信息。
  3. 视频内容配音
    自媒体创作者在制作视频时,可以用它来生成旁白或解说。相比真人录音,它的效率更高,成本更低,而且可以随时修改文案并重新生成配音。
  4. 学习辅助工具
    语言学习者可以输入单词或句子,生成标准发音用于跟读模仿。也可以将学习资料转换成音频,在通勤或运动时收听。

QA

  1. 这个项目和直接使用 KittenTTS 模型有什么不同?
    这个项目是基于 KittenTTS 模型的一个“服务化”封装。它解决了直接使用模型时环境配置复杂、缺少用户界面、无法处理长文本以及不支持 GPU 加速等问题。Kitten-TTS-Server 提供了一个开箱即用的网页界面和 API 服务,让普通用户也能轻松使用。
  2. 安装时遇到 eSpeak 相关的错误怎么办?
    这是最常见的问题。请确保你已经为你的操作系统正确安装了 eSpeak NG,并且在安装后重启了命令行终端。如果问题依旧,请检查 eSpeak NG 是否被安装到了系统的标准路径下。
  3. 如何确认 GPU 加速是否生效?
    首先,确保你按照 NVIDIA GPU 的方式安装了所有依赖。然后,可以运行 python -c "import torch; print(torch.cuda.is_available())" 命令,如果返回 True,说明环境配置正确。当服务器运行时,你也可以通过任务管理器或 nvidia-smi 命令查看 GPU 的使用情况。
  4. 服务器启动时提示“端口已被占用”怎么办?
    这说明你电脑上已经有其他程序占用了 8005 端口。你可以修改项目根目录下的 config.yaml 文件,将 server.port 的值改成另一个未被占用的端口号(例如 8006),然后重启服务器。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文