Files
siliconflow_tts/__pycache__/tts.cpython-313.pyc
T

60 lines
12 KiB
Plaintext
Raw Normal View History

2025-08-01 23:02:17 +08:00
Ќh&NSrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSK J
r
J r J r SSK
Jr SSKJr SSKJr SS KJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r& \RN"\(5r)\ "S
S 5/\ "S
S 5/S .r*S
\S\S\SS4Sjr+"SS\
5r,g)u硅基流动TTS组件N)Any)TextToSpeechEntityVoice TtsAudioType) ConfigEntry)
HomeAssistant)AddEntitiesCallback) API_ENDPOINT
DEFAULT_MODEL
DEFAULT_VOICEDEFAULT_RESPONSE_FORMATDEFAULT_SAMPLE_RATE
DEFAULT_SPEED DEFAULT_GAINDEFAULT_STREAMSUPPORTED_FORMATS MIN_SPEED MAX_SPEEDMIN_GAINMAX_GAINget_voice_options
CONF_VOICE
CONF_SPEEDCONF_SAMPLE_RATECONF_RESPONSE_FORMAT CONF_GAINz3speech:Dahu-HA-Lulu:qc10fwc040:ugmvnfqyesexvqjuneyfLulu)zhenhass config_entryasync_add_entitiesreturnc0# U"[U5/5 g7f)u设置TTS实体N)SiliconFlowTTSEntity)r!r"r#s 0/config/custom_components/siliconflow_tts/tts.pyasync_setup_entryr(5s ,\:;<sc \rSrSrSrS\SS4Sjr\S\\ 4Sj5r
S\ S\\ S-4S jr \S\ 4S
j5r
\S\\ 4S j5rS \ S\ S-4S
jrS\ S\4SjrSS\ S\ S\\ \4S-S\4SjjrSrg)r&=u硅基流动TTS实体r"r$NcFXlSUlSUR3Ulg)u初始化TTS实体zSiliconFlow TTSsiliconflow_tts_N)
_config_entry
_attr_nameentry_id_attr_unique_id)selfr"s r'__init__SiliconFlowTTSEntity.__init__@s%)+!1,2G2G1HIc<[[R55$)u返回支持的语言列表)listSUPPORTED_VOICESkeysr1s r'supported_languages(SiliconFlowTTSEntity.supported_languagesFs$))+,,r4languagec[5n/nUR5HupEUR[XE55 M! [R SUS[
U5S35 U$)uE获取指定语言支持的语音(动态加载所有可用音色)u 为语言 'u ' 提供 u 个音色选项)ritemsappendr_LOGGERdebuglen)r1r<
voice_optionsvoicesvoice_id
voice_names r'get_supported_voices)SiliconFlowTTSEntity.get_supported_voicesKs]*+
$1$7$7$9 H MM%5 6%:
H:Ys6{mCSTU
r4cg)u返回默认语言rr9s r'default_language%SiliconFlowTTSEntity.default_languageUsr4c[$)u!返回支持的音频编解码器)rr9s r'supported_audio_codecs+SiliconFlowTTSEntity.supported_audio_codecsZs
! r4 file_pathc N[RRU5(d[R SU35 g[ US5nUR
5n[U5S:a'[RS[U5S35 USSn[R"U5RS5n[RSUS [U5S
35 UsSSS5 $!,(df  g=f![a"n[R S U35 SnAgSnAff=f) u'将音频文件编码为base64字符串u音频文件不存在: Nrbiu音频文件较大 (u bytes),截取前100KBzutf-8u成功编码音频文件: u
, 大小:  bytesu编码音频文件失败: )ospathexistsr@erroropenreadrBwarningbase64 b64encodedecoderA Exception)r1rP
audio_file
audio_data
encoded_audioes r'_encode_audio_file'SiliconFlowTTSEntity._encode_audio_file_s 77>>),,
7 {CDi&*'__.
z?Z/OO&:3z?:KKc$de!+KZ!8J & 0 0 < C CG L

:9+ZPST^P_O``fgh$'&&  MM6qc: ; s;<C8 C8 BC' C8'
C51C85C88
D$DD$ referencec$URS5$)u'检查是否为URI格式的参考音频zspeech:)
startswith)r1res r'_is_uri_reference&SiliconFlowTTSEntity._is_uri_referenceus##I..r4messageoptionsc
# URRRS5nU(d[R S5 gSU3SS.nURR
n[R
SU35 [R
SU35 U(aS U;aURS 5OUR[[5nU(aS
U;aURS
5OUR[[5nU(aS U;aURS 5OUR[[5n U(aS U;aURS 5OUR[[5n
[[ [#[$U55n[[&[#[(U
55n
UR+5n U R-S
5(dU S-
n U S-
n U(aSU;a
USn SU SU 3n [R
SU S35 [.U UUU U
[0S.n
[2nU(a$SU;aUSn[R5SU35 OU(aUSU;aOUSnUR7U5(aUn[R5SU35 Oy[R9SU35 O`UR[:5(a.UR[:5n[R5SU35 O[R5SU35 [=5nUU;a[R9SUS35 [2nXS'[R5SUS SS!US"U S#US$U