# Genie-TTS **Repository Path**: ariya/Genie-TTS ## Basic Information - **Project Name**: Genie-TTS - **Description**: GPT-SoVITS ONNX Inference Engine & Model Converter - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
██████╗  ███████╗███╗   ██╗██╗███████╗
██╔════╝ ██╔════╝████╗  ██║██║██╔════╝
██║  ███╗█████╗  ██╔██╗ ██║██║█████╗  
██║   ██║██╔══╝  ██║╚██╗██║██║██╔══╝  
╚██████╔╝███████╗██║ ╚████║██║███████╗
 ╚═════╝ ╚══════╝╚═╝  ╚═══╝╚═╝╚══════╝
# 🔮 GENIE: [GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS) 轻量级推理引擎 **在 CPU 上体验近乎即时的语音合成** [简体中文](./README_zh.md) | [English](./README.md)
--- **GENIE** 是一个基于开源 TTS 项目 [GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS) 构建的轻量级推理引擎。它集成了 TTS 推理、ONNX 模型转换、API 服务端以及其他核心功能,旨在提供极致的性能和便利性。 * **✅ 支持的模型版本:** GPT-SoVITS V2, V2ProPlus * **✅ 支持的语言:** 日语、英语、中文 * **✅ 支持的 Python 版本:** >= 3.9 --- ## 🎬 演示视频 - **[➡️ 观看演示视频(中文)](https://www.bilibili.com/video/BV1d2hHzJEz9)** --- ## 🚀 性能优势 GENIE 针对原始模型进行了优化,以实现出色的 CPU 性能。 | 特性 | 🔮 GENIE | 官方 PyTorch 模型 | 官方 ONNX 模型 | |:-----------|:-----------:|:-------------:|:----------:| | **首次推理延迟** | **1.13s** | 1.35s | 3.57s | | **运行时大小** | **\~200MB** | \~数 GB | 与 GENIE 相似 | | **模型大小** | **\~230MB** | 与 GENIE 相似 | \~750MB | > 📝 **延迟测试说明:** 所有延迟数据均基于 100 个日语句子(每句约 20 个字符)的测试集取平均值。测试环境为 CPU i7-13620H。 --- ## 🏁 快速开始 > **⚠️ 重要提示:** 建议在 **管理员模式** 下运行 GENIE,以避免潜在的性能下降。 ### 📦 安装 通过 pip 安装: ```bash pip install genie-tts ``` ## 📥 预训练模型 首次运行 GENIE 时,需要下载资源文件(**~391MB**)。您可以按照库的提示自动下载。 > 或者,您可以从 [HuggingFace](https://huggingface.co/High-Logic/Genie/tree/main/GenieData) 手动下载文件并将其放置在本地文件夹中。然后在导入库 **之前** 设置 `GENIE_DATA_DIR` 环境变量: ```python import os # 设置手动下载的资源文件路径 # 注意:请在导入 genie_tts 之前执行此操作 os.environ["GENIE_DATA_DIR"] = r"C:\path\to\your\GenieData" import genie_tts as genie # 库现在将从指定目录加载资源 ``` ### ⚡️ 快速试用 还没有 GPT-SoVITS 模型?没问题! GENIE 包含几个预定义的说话人角色,您可以立即使用 —— 例如: * **Mika (聖園ミカ)** — *蔚蓝档案 (Blue Archive)* (日语) * **ThirtySeven (37)** — *重返未来:1999 (Reverse: 1999)* (英语) * **Feibi (菲比)** — *鸣潮 (Wuthering Waves)* (中文) 您可以在此处浏览所有可用角色: **[https://huggingface.co/High-Logic/Genie/tree/main/CharacterModels]( https://huggingface.co/High-Logic/Genie/tree/main/CharacterModels)** 使用以下示例进行尝试: ```python import genie_tts as genie import time # 首次运行时自动下载所需文件 genie.load_predefined_character('mika') genie.tts( character_name='mika', text='どうしようかな……やっぱりやりたいかも……!', play=True, # 直接播放生成的音频 ) genie.wait_for_playback_done() # 确保音频播放完成 ``` ### 🎤 TTS 最佳实践 一个简单的 TTS 推理示例: ```python import genie_tts as genie # 第一步:加载角色语音模型 genie.load_character( character_name='', # 替换为您的角色名称 onnx_model_dir=r"", # 包含 ONNX 模型的文件夹 language='', # 替换为语言代码,例如 'en', 'zh', 'jp' ) # 第二步:设置参考音频(用于情感和语调克隆) genie.set_reference_audio( character_name='', # 必须与加载的角色名称匹配 audio_path=r"", # 参考音频的路径 audio_text="", # 对应的文本 ) # 第三步:运行 TTS 推理并生成音频 genie.tts( character_name='', # 必须与加载的角色匹配 text="", # 要合成的文本 play=True, # 直接播放音频 save_path="", # 输出音频文件路径 ) genie.wait_for_playback_done() # 确保音频播放完成 print("🎉 Audio generation complete!") ``` --- ## 🔧 模型转换 要将原始 GPT-SoVITS 模型转换为 GENIE 格式,请确保已安装 `torch`: ```bash pip install torch ``` 使用内置的转换工具: > **提示:** `convert_to_onnx` 目前支持 V2 和 V2ProPlus 模型。 ```python import genie_tts as genie genie.convert_to_onnx( torch_pth_path=r"", # 替换为您的 .pth 文件 torch_ckpt_path=r"", # 替换为您的 .ckpt 文件 output_dir=r"" # 保存 ONNX 模型的目录 ) ``` --- ## 🌐 启动 FastAPI 服务 GENIE 包含一个轻量级的 FastAPI 服务器: ```python import genie_tts as genie # 启动服务 genie.start_server( host="0.0.0.0", # 主机地址 port=8000, # 端口 workers=1 # 工作进程数 ) ``` > 关于请求格式和 API 详情,请参阅我们的 [API 服务教程](./Tutorial/English/API%20Server%20Tutorial.py)。 --- ## 📝 路线图 * [x] **🌐 语言扩展** * [x] 添加对 **中文** 和 **英文** 的支持。 * [x] **🚀 模型兼容性** * [x] 支持 `V2Proplus`。 * [ ] 支持 `V3`、`V4` 等更多版本。 * [x] **📦 简易部署** * [ ] 发布 **官方 Docker 镜像**。 * [x] 提供开箱即用的 **Windows 整合包**。 ---