Skip to content

tts_config - TTS/STT 配置管理

字数
514 字
阅读时间
3 分钟

概述

tts_config.py 提供 TTS(文本转语音)和 STT(语音转文本)的配置标准化与解析。配置来源包括 Web 端模型配置和 config.ini 回退。

normalize_tts_config

标准化原始模型配置为统一的 TTS 参数字典:

python
from nbot.services.tts_config import normalize_tts_config

config = normalize_tts_config(model_config)

返回字段:

字段来源优先级默认值
api_keyresolve_runtime_api_key()
base_urlbase_urlhttps://api.openai.com/v1
provider_typeprovider_typeopenai_compatible
tts_providertts_provider""
tts_urltts_url""
tts_modeltts_model > modelgpt-4o-mini-tts
tts_voicetts_voice > voicealloy
tts_speedtts_speed > speed1.0
tts_pitchtts_pitch > pitch1.0
tts_volumetts_volume > volume1.0
tts_formattts_formatmp3
tts_upload_urltts_upload_url""
tts_headerstts_headers""
tts_body_templatetts_body_template""
tts_resource_idtts_resource_id""
tts_ref_audiotts_ref_audio""
tts_usertts_user""

voice 字段若为空或 "default",回退为 "alloy"

normalize_stt_config

标准化 STT 配置:

python
from nbot.services.tts_config import normalize_stt_config

config = normalize_stt_config(model_config)
字段来源优先级默认值
api_keyresolve_runtime_api_key()
base_urlbase_url""
provider_typeprovider_typeopenai_compatible
stt_providerstt_provider""
stt_urlstt_url""
stt_modelstt_model > modelwhisper-1
stt_languagestt_language > languagezh
stt_headersstt_headers""
devicedevice""
compute_typecompute_type""
beam_sizebeam_size5

服务端配置获取

get_tts_config_from_server(server, model_id="") 从 Web 服务端状态解析 TTS 配置:

python
from nbot.services.tts_config import get_tts_config_from_server

config = get_tts_config_from_server(server)

优先级:

  1. model_id 参数指定的模型
  2. server.active_models_by_purpose["tts"] 标记的活跃模型
  3. 第一个 purpose="tts"enabled=True 的模型
  4. 回退到 get_tts_config()

回退配置

get_tts_config() 在无 Web 配置可用时从 config.ini 读取:

python
from nbot.services.tts_config import get_tts_config

config = get_tts_config()
# 先尝试 get_tts_model_config(),失败则从 config.ini [ApiKey] 读取 api_key

提供商解析

provider_typetts_provider 共同决定 TTS 提供商:

provider_type典型值说明
openai_compatibleOpenAI、MiniMax、SiliconFlow标准 OpenAI 兼容 API
doubao豆包字节跳动 TTS
xiaomi小米小米语音合成

resolve_runtime_api_key() 根据 provider_type 自动选择对应的环境变量。

自定义 TTS URL

tts_urltts_upload_urltts_headerstts_body_template 支持使用非标准 API。tts_resource_id 用于指定音频资源 ID,tts_ref_audio 用于声音克隆参考音频。

相关页面

页面历史