Files
siliconflow_tts/const.py
T

68 lines
2.1 KiB
Python
Raw Normal View History

2025-08-01 23:02:17 +08:00
"""硅基流动TTS组件常量定义"""
DOMAIN = "siliconflow_tts"
DEFAULT_NAME = "SiliconFlow TTS"
# API配置
API_BASE_URL = "https://api.siliconflow.cn/v1"
API_ENDPOINT = f"{API_BASE_URL}/audio/speech"
# 默认配置
DEFAULT_MODEL = "FunAudioLLM/CosyVoice2-0.5B"
DEFAULT_VOICE = "speech:Dahu-HA-Ari:qc10fwc040:jxlvonagnnzdvbotrmrr"
DEFAULT_RESPONSE_FORMAT = "mp3"
DEFAULT_SAMPLE_RATE = 44100 # 更高的采样率,减少切断问题
DEFAULT_SPEED = 1.0 # 正常语速,避免因语速过快导致切断
DEFAULT_GAIN = -2 # 稍微降低增益,避免音频削峰导致的切断
DEFAULT_STREAM = False # 不使用流式传输,确保最快响应
# 支持的音频格式
SUPPORTED_FORMATS = ["mp3", "wav", "opus", "pcm"]
# 支持的采样率
SUPPORTED_SAMPLE_RATES = {
"opus": [48000],
"wav": [8000, 16000, 24000, 32000, 44100],
"pcm": [8000, 16000, 24000, 32000, 44100],
"mp3": [32000, 44100]
}
# 速度范围
MIN_SPEED = 0.25
MAX_SPEED = 4.0
# 增益范围
MIN_GAIN = -10
MAX_GAIN = 10
# 默认音色选项(内置)
DEFAULT_VOICE_OPTIONS = {
"speech:Dahu-HA-Ari:qc10fwc040:jxlvonagnnzdvbotrmrr": "阿狸",
"speech:Dahu-HA-Lulu:qc10fwc040:ugmvnfqyesexvqjuneyf": "露露",
"speech:Dahu-HA-Soraka:qc10fwc040:ezxwqvmnazypoekujait": "索拉卡",
"speech:Dahu-HA-Zac:qc10fwc040:smplyqhoxcxwepjavhci": "扎克"
}
# 全局变量存储合并后的音色选项(默认 + 用户自定义)
_VOICE_OPTIONS = DEFAULT_VOICE_OPTIONS.copy()
def get_voice_options():
"""获取当前可用的所有音色选项(默认 + 用户自定义)"""
return _VOICE_OPTIONS.copy()
def update_voice_options(custom_voices: dict):
"""更新音色选项,将用户自定义音色与默认音色合并"""
global _VOICE_OPTIONS
_VOICE_OPTIONS = DEFAULT_VOICE_OPTIONS.copy()
if custom_voices:
_VOICE_OPTIONS.update(custom_voices)
# configuration.yaml 配置键名
CONF_CUSTOM_VOICES = "custom_voices"
# 配置选项的键名
CONF_VOICE = "voice"
CONF_SPEED = "speed"
CONF_SAMPLE_RATE = "sample_rate"
CONF_RESPONSE_FORMAT = "response_format"
CONF_GAIN = "gain"