GENIE / README.md
Tom1986's picture
重构:将app.py拆分为模块化架构 + 修复onnxruntime依赖问题
24437ee

A newer version of the Gradio SDK is available: 6.2.0

Upgrade
metadata
title: GENIE TTS
emoji: 🔮
colorFrom: pink
colorTo: gray
sdk: gradio
sdk_version: 5.46.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: High-quality Japanese TTS based on Genie (GPT-SoVITS V2)

🔮 Genie TTS - Hugging Face Spaces Deployment

基于 High-Logic/Genie 的官方 TTS 引擎,提供高质量日语语音合成服务。

✨ 功能特点

  • 🚀 高性能推理:基于 ONNX Runtime 的 CPU 优化推理
  • 🎯 即开即用:内置 misono_mika 预定义角色,无需额外模型
  • 📱 Web 界面:响应式 Gradio 界面,支持音频实时播放
  • 🔧 官方对齐:配置与上游官方项目完全一致
  • 💾 智能缓存:自动模型缓存,提升后续使用体验

⚠️ 部署状态

Hugging Face Spaces 环境限制

由于 Hugging Face Spaces 环境缺少 portaudio19-dev 系统依赖,PyAudio 编译可能失败,导致 genie-tts 安装失败。我们已添加了:

  • packages.txt 文件尝试安装系统依赖
  • ✅ 智能错误处理和状态显示
  • ✅ 运行时安装策略(--no-deps 模式)
  • ✅ 详细的故障诊断信息

🔧 推荐解决方案:

  1. 本地运行:在本地环境可完整安装所有依赖
  2. Docker 部署:使用官方 Docker 配置
  3. 其他云平台:支持系统依赖安装的平台

🏗️ 技术架构

用户输入 → Gradio界面 → Genie TTS引擎 → ONNX推理 → 音频输出
    ↓             ↓              ↓           ↓          ↓
   文本预处理    参数验证      模型加载    语音合成    Web播放

核心组件

  • TTS Engine: Genie TTS v1.0+ (官方包)
  • Model Runtime: ONNX Runtime 1.16+
  • Audio Processing: SoundFile + SoXR
  • Web Interface: Gradio 4.0+
  • Text Processing: PyOpenJTalk (日语支持)

🚀 快速开始

本地开发

# 1. 克隆仓库
git clone <repository-url>
cd genie-tts-deployment

# 2. 安装依赖
pip install -r requirements.txt

# 3. 启动应用
python app.py

Hugging Face Spaces 部署

  1. Fork 仓库 到您的 GitHub 账户
  2. 创建 Space
    • 访问 Hugging Face Spaces
    • 选择 "Create new Space"
    • 选择 "Gradio" SDK
    • 连接 GitHub 仓库
  3. 自动部署:推送代码后自动构建部署

📋 依赖说明

核心依赖(基于官方配置)

# 官方 TTS 引擎
genie-tts>=1.0.0

# Web 界面框架  
gradio>=4.0.0

# 机器学习推理
onnxruntime>=1.16.0

# 音频处理(官方核心依赖)
soundfile>=0.12.0    # 音频文件读写
soxr>=0.3.0          # 高质量音频重采样  
librosa>=0.10.0      # 音频分析
scipy>=1.9.0         # 科学计算

# 日语文本处理
pyopenjtalk          # 日语分词和读音

# 模型下载
huggingface-hub>=0.17.0

# 系统工具
rich>=12.0.0         # 美化日志输出
requests>=2.25.0     # 网络请求
psutil>=5.8.0        # 系统信息

兼容性说明

  • PyAudio 处理:移除以避免 HF Spaces 编译错误
  • 音频播放:通过 Web 界面实现,无需本地音频设备
  • Python 版本:支持 3.9+(与官方一致)

🎮 使用指南

基础用法

  1. 选择角色:当前支持 misono_mika
  2. 输入文本:支持日语文本(建议500字符以内)
  3. 点击合成:等待处理完成
  4. 播放音频:直接在浏览器中播放

示例文本

どうしようかな……やっぱりやりたいかも……!
私も昔、これと似たようなの持ってたなぁ…。
おはようございます!今日もよろしくお願いします。

🔧 技术细节

模型信息

  • 架构:GPT-SoVITS V2
  • 语言支持:日语
  • 采样率:32kHz
  • 推理引擎:ONNX Runtime (CPU)
  • 模型大小:约180MB

性能优化

  • 内存管理:自动垃圾回收
  • 缓存策略:智能模型缓存
  • 错误处理:完善的异常捕获
  • 资源限制:文本长度限制

📚 参考资料

📄 许可证

本项目基于 Apache-2.0 许可证开源,详情请见 LICENSE 文件。


Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference