GENIE / config.py
Tom1986's picture
Enhance Gradio compatibility by adding theme handling and updating UI_CONFIG; refactor requirements.txt for clarity
8b86e7b
"""
Genie TTS 配置管理模块
包含应用程序的所有配置常量和设置
"""
import os
import tempfile
from pathlib import Path
# 应用基本信息
APP_TITLE = "🎵 Genie TTS - 高质量日语语音合成"
APP_DESCRIPTION = """
**Genie TTS** 是基于 GPT-SoVITS V2 架构的轻量级日语语音合成系统。
### ✨ 特性
- 🎯 **零样本语音合成**:无需训练,直接使用预定义角色
- 🚀 **轻量级推理**:基于 ONNX Runtime,CPU 友好
- 🎭 **多角色支持**:预置多个日语语音角色
- 🔄 **实时合成**:快速响应,适合交互应用
"""
# 支持的字符列表
AVAILABLE_CHARACTERS = ['misono_mika']
# 默认设置
DEFAULT_CHARACTER = 'misono_mika'
DEFAULT_TEXT = "こんにちは、元気ですか?"
# 系统配置
CACHE_DIR_NAME = "genie_tts_cache"
MAX_TEXT_LENGTH = 500
AUDIO_SAMPLE_RATE = 32000
AUDIO_FORMAT = "WAV"
# 模型文件配置
MODEL_FILES = [
'prompt.wav',
'prompt_wav.json',
't2s_encoder_fp32.onnx',
't2s_first_stage_decoder_fp32.onnx',
't2s_stage_decoder_fp32.onnx',
'vits_fp32.onnx'
]
# 模型大小估算 (MB)
MODEL_SIZES = {
'misono_mika': 180
}
# 环境变量设置
ENV_SETTINGS = {
"HF_HUB_ENABLE_PROGRESS_BAR": "1",
"TOKENIZERS_PARALLELISM": "false",
}
# 示例文本
EXAMPLE_TEXTS = [
["こんにちは、元気ですか?", "misono_mika"],
["今日はいい天気ですね。", "misono_mika"],
["ありがとうございます。", "misono_mika"],
["おはようございます。", "misono_mika"],
["お疲れ様でした。", "misono_mika"]
]
# UI配置
UI_CONFIG = {
"server_name": "0.0.0.0",
"server_port": 7860,
"show_api": False,
"show_error": True,
"quiet": False
}
# Gradio主题配置(单独处理版本兼容性)
GRADIO_THEME = "soft"
# Gradio界面文本
UI_TEXT = {
"text_label": "🎯 输入日语文本",
"text_placeholder": "在此输入要合成语音的日语文本...",
"character_label": "🎭 选择角色",
"submit_button": "🎵 生成语音",
"clear_button": "🗑️ 清空",
"audio_label": "🔊 生成的音频",
"status_label": "📊 状态信息",
"examples_label": "💡 示例文本",
"system_status_label": "🖥️ 系统状态"
}
def get_cache_dir():
"""获取缓存目录路径"""
cache_dir = os.path.join(tempfile.gettempdir(), CACHE_DIR_NAME)
os.makedirs(cache_dir, exist_ok=True)
return cache_dir
def get_character_cache_dir(cache_dir, character_name):
"""获取特定角色的缓存目录"""
return os.path.join(cache_dir, character_name)
def setup_environment():
"""设置环境变量"""
for key, value in ENV_SETTINGS.items():
os.environ[key] = value