Spaces:
Sleeping
Sleeping
| 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](https://github.com/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 (日语支持) | |
| ## 🚀 快速开始 | |
| ### 本地开发 | |
| ```bash | |
| # 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](https://huggingface.co/spaces) | |
| - 选择 "Create new Space" | |
| - 选择 "Gradio" SDK | |
| - 连接 GitHub 仓库 | |
| 3. **自动部署**:推送代码后自动构建部署 | |
| ## 📋 依赖说明 | |
| ### 核心依赖(基于官方配置) | |
| ```txt | |
| # 官方 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 | |
| ### 性能优化 | |
| - **内存管理**:自动垃圾回收 | |
| - **缓存策略**:智能模型缓存 | |
| - **错误处理**:完善的异常捕获 | |
| - **资源限制**:文本长度限制 | |
| ## 📚 参考资料 | |
| - [官方项目](https://github.com/High-Logic/Genie) | |
| - [官方文档](https://github.com/High-Logic/Genie/tree/main/README.md) | |
| - [API 教程](https://github.com/High-Logic/Genie/tree/main/Tutorial) | |
| - [配置对齐说明](./OFFICIAL_ALIGNMENT.md) | |
| ## 📄 许可证 | |
| 本项目基于 Apache-2.0 许可证开源,详情请见 [LICENSE](./LICENSE) 文件。 | |
| --- | |
| Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference |