From 2208a1a7d412669a96cc4960ae602137c549b1f4 Mon Sep 17 00:00:00 2001 From: hubian <908234780@qq.com> Date: Wed, 22 Apr 2026 16:22:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90ChatTTS=E9=9B=86?= =?UTF-8?q?=E6=88=90=EF=BC=8C=E8=BF=9E=E6=8E=A5192.168.2.5:12002?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/tts_service.cpython-310.pyc | Bin 7660 -> 8805 bytes .../17aeba5b5a9e4593bd4b385cace035cf.mp3 | Bin 0 -> 26064 bytes .../94e455ca455f44e9914ebf6125fc3264.mp3 | Bin 0 -> 11664 bytes .../d294e0f73aff47c7ac66dd96808b4161.mp3 | Bin 0 -> 6912 bytes logs/server.log | Bin 266 -> 329697 bytes tts_service.py | 64 ++++++++++++++---- 6 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 audio_cache/17aeba5b5a9e4593bd4b385cace035cf.mp3 create mode 100644 audio_cache/94e455ca455f44e9914ebf6125fc3264.mp3 create mode 100644 audio_cache/d294e0f73aff47c7ac66dd96808b4161.mp3 diff --git a/__pycache__/tts_service.cpython-310.pyc b/__pycache__/tts_service.cpython-310.pyc index f9b665b87fb1301b2db2a5a77edaf9eea23aabfb..81dcc0de5a2be0cc6e27088da7d291e34e37fbc4 100644 GIT binary patch delta 2198 zcmZuy|8G-O6u;-b_u8&wWtK8J=x~$xrKlYnqB4;Thd94v7&k=(>`Lz&YxmYy?t5d> zyjm0p!(@@%FCFct$ZSB2$_i^o)f_J&0QyX4R0}B3iuAJM1(+3a0t&UAKEYb+4h|ILlEzUBs;(kuX@cQ=k*4e#1@ z?t))ueC&E-(xh8w)?kf(IDg^N8}D}yP3BxYj_$=%a~J1MUHy>anmm>-g*2tKJ8U_+q>`IgMbFbU@HLynts zXPjVle#@gT<;}8-VFrA?=-8!ni)=@yKr4wbe%NW|(I+sEuS?S@`$n)fIY_4cswc7H zfjEk@IGpte{78hyc?6b$&ZEE~3bAWkN2C`uAxQkzaW$!DuBw4{0rTp;_THL~jzmC> zqRb)8L6HfVVRBm~CAa_!PU2bNFR#K0b^<22(1d<0f&_&Htf^*H| z%Km+5t+Zx^!}$Z@6{xs#Y=Je~g<-qASjBcL;;M=qTLVt>Iabtg9~w4>KF@>3AiIrK z@Svy*V~Weia7RYKebh7>P}D+o?4+p%;c;V4!lOZx@Hfqk61i`fEwu)1fL_k7>zRGC zCC)^eeL&Ww+70HYTxbmN4_D~ z{^A-jZW$#0O#aP{^;hG6>(S)zdNlMGN1Mvs)MsjNS+bVdV%hneWx;T$%0zF_;Y1E!lb4`D}UE!!^paXC}U&XnAOmCf7JWy^F; z`2@K=NU#|ptvB}ZEKQ6tEPxND40bh2Q?xa?3gHwECxsB@93uF}cp?_kW7pcD9YPQ} z!mp{!Ej_w6BQ3Ra`N|rt%%K{25M1$uc#Y%f@EPjR%O8Dl>HJ3*-<@B4t-ko~CyS?# zjHG$v1ZZa{2L;}Za$`OJl^X8>H;Z}Bpw6LQ4Pk3nRy9lYw6qTuM4KryO|y~oay6b< zse0m@;05)1BB|_nGTaf<;%nqX>dQnz{nFN=&cx5bXKG@_LHJyKyJ8&9sm+N}=U$Bd zDW##-iZC5kbM({XUiAAB#?_gXv#l?pN@fYh)x8}X+sFrL6D&WcraSI{uhknJZ>=3~ z%&SA)_Go2auUiqDM`1!22`eA?r z>fD;t`UXFCl2^E~1^VxhCV_?ELpJyqkk8XyYtTvls@A5qU@i8f(y&(@Pp#`YK-QCF zty=}W{Ov##g}f`vq>9ri82eDXpf09*V4sR~bs3UKs4`u5!XEWp*8?G{qui%d*O)OB Ii$!<*1Be{^!2kdN delta 1031 zcmZ8fTTc@~6z*&(#nLVmBlPZ8qEJl$F+@e1h~-jEDMpJvnOfTotSMcbE?x*x5j9>x zb2RZ54H_e2MAQTm1%2>AA58SoYDc&IKPQFkkN6-@%&>!BLh7NPU)pf?%dKOXOIK!x?`R{p=ciAp#erZ`Bof&c?c5sb zFYi{A-p1P6q#TbWyXCafxN>b>eI2~!7hB1IE~-oDw&{Faxb+^PmGItF0VO3(D>(KX z&R1-v@$o^T=n`az93?)kFUSHWAwS?ysq^rkU8JMAqfyY#4`-e~&?atVhA00V_0=<4 zpgX3p)C6tv>g@IL9AbX@?A*hr+VPWLhQ=~8kA>fu+3V-D)1yA3E)2`crk>uU*dwMC zG0{S)Olb+bjq*7IE_;!+jQRW7OcyZ29Vs%vduxImf`+nM_@p<(O^=~yK(`0WCGfLM z;HW=a@1)IO9Yh`$T&VAN;rp<`Y~$1g&|!8Q#&`e$D8xWcG=ie_Rk6U_#EZ<#gf{Xp zb8#$ldTRE_;QVyH5+=jk{0{*|;rwPSyA3p=8%Xxd=hvC4uRpFWp; z5WYH=ky~JOUiP%*;+qh;8BN1qz!1E4E+dcNhjY}GJG2a12EX76stZ~U#Km4kl2fWd#K!R%b43*6bs;ocnNdlUVt=Yc{O?~V_SIXsCah=5 zd=Pvj0Gzkd6-H(UG76GXTA`g;HzCCpx*eLlZbLH*T!FaPTZNv_MxAV-%h6!lsK%t+ m)g`66RAVfCFcp_%xa+MV8{wUIbs>sPo58#!VsP`ksr45dStgPI diff --git a/audio_cache/17aeba5b5a9e4593bd4b385cace035cf.mp3 b/audio_cache/17aeba5b5a9e4593bd4b385cace035cf.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6f410f7d231b8795440cf7845626e191d4569875 GIT binary patch literal 26064 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 V<6l4jQ1Z8q|IW|fZunnr{2#qw$lm|} literal 0 HcmV?d00001 diff --git a/audio_cache/94e455ca455f44e9914ebf6125fc3264.mp3 b/audio_cache/94e455ca455f44e9914ebf6125fc3264.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fd035628bd9c5b35114a1b60fbefdb4890b1fc30 GIT binary patch literal 11664 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 He<=JH%d!t= literal 0 HcmV?d00001 diff --git a/audio_cache/d294e0f73aff47c7ac66dd96808b4161.mp3 b/audio_cache/d294e0f73aff47c7ac66dd96808b4161.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8d8c20f3fb80433cc2bb53ffdd1bf256bca449ff GIT binary patch literal 6912 zcmeI$XHXMuyTI|#i>UN2gkH=enjlgHLJP&vArDPKq=|ww3n0=$FH!?RdM7}n3y4yr zh7b`1r1y>rBKS(%L!LRunKQ4S-!o^%{gAom%FO0B|J~Wm+`z6wCkO`A}T6*+Ajf5n3;}2)NJ{}Z0Vi>kAHB12BtbdAV~@rv!Tcm#_aW* zZCz*(v!5`hK@{POf9n?)P#2oT(37GopV`yDwJF~uFqoZbYWVwx`Z*ax?-P(z3$x+H z1GYvUG(^79_##CW=sAAv#eCa1Khs&@)bsRzJacgB_0uz_Fj9ECNH82Sa*88b$cBUg0@*AjjBR5em-K+e8{D)l;i4vZB6$03Fj$y7v3kQcN`l{Xj zrLG1$CAUVdChtBSr19ss{ipg6BDx8NUlk@W8iR}5JFr}~!@=cE& zM7@xB3hG`^7z}a+Ie50~?S<35fX-nRgB$Q3BAOv=#*d4G_UfnNU-D=MQ)A$3RV~Gn zySbt_-G)v2Osr$20$$h~1#7YoyWxX%3q;;EZ)M8)%BFeu4piZoGP|5U6p|X=>`Ug; z-Tx~Prywp-`+{XMO+vx_jvK#`frq}2E1x>q69q*p(u4Y0FUO%TzI9rp9K-|oh?{BC2t(J_ceGpbD z|6(m@(hvq0zD$9R7avi}F!Atc56=IPoBttLO}MS_wu}Wc6ZZKba5q~wr(2avY~b>} z6`ttgkqDRK007wVad2>- zJy8#`Zv%PAhlbc6eN6~%oAZdRW6xYud;GHzJl9d=GZySa3`$hxpORKK>y_oExJ>r2 zf%_YLK#SB_@t}1=x5Cz7iZ_d12I;At5ve+s81-nVS{v+XyfBLY3H%Ajd3)IsP^=jdL|3@(P zH<;ZnE@q8U!!`fyVGdiMzTdUdtNFut3ll`122|BHr$$eZbNULkicI_IeKJ0IpE=b{ z^;7`V+UxE>xK1YoUc0!&0J%<4y7*9O-GyhSq*bj&E#%lm0-} z3>xODeh+)ZBbxp!Y>|KswUCwyJa~w(YD#2@mZi4rKh+%H{mDZQ>SA2b$~K&o5_P&w zTZG430f$(dtpky}TOWK(q+#HPn#}SFlb5!&dJ{m`F^>b;UTH}b4g;UoEH-yrO_zye z52vumXum*v7!N_vlJK|dk!;Ar=dPcXd+#=Bq@@3FO8JR27CCy{%5&JF-E*RxJZY$- zT$ds2epENCl44Wly&RPup5@Di<>IOsc7{%$R@zPKvLF3oR4m(jFU#PukU+GPv!=x9 z{Hv?!AuMy$Htl2A`N}Gd2HJw&4o^nLv$1?*~1K0+juYFPrKci1T7i2 zQRp+_4#=MGmZXR`Wauoh*oP`jHoUcsrs|C!kfp*OTs1 zNE?prOaMKlgeRFN=z;q!>NYB+RLLGz{=S(G*&73rLow35r8VJpL9q*zm`3Iyu54*h z!cF6cW`pks6ES;6YvEfp3_JqswWAM|od-$|wU6@;0&ix| zdLLg^gAJIPIEK944?Iwce>Qty{~c(oi8C)kg+(?5>x&sP_1eD^ZjjCoWw@%R(pTvj zDv#p5f10!NmnQACLK<(5vUJDq z)c!^LE*16i2A5R$5^eIFW8@baM*GxrzSWktnUVJg z8ND5DVJoBPJlQB>$~zgNP|nx3c8ftk=F{Wcn9-z4b|)IYHN_p$g93wq3hzf}6?w** z55JMHaw4n|I2OssvE+CR);yQ~qWk`Yl#u{UQaLeV=KBLRd6Caeu#dVGDN*u6nzL>* zyRtnAum}`sDfh0`Zfxx0`}?@rm#I}FsJOAI=QR!&$sVl>F!6~|UG!AtBm$9^_xkNe zz;63!mQbrGfqlUuAq4vQr9rgFylxk%)R*uVf zefEU~cORjIcm*|~5xv;sYL~uQOT*^<$2?02g+4IgYyq{j~q>(cuz10h_ZjaxP5T z=peV6Bl%$}XW^A6!zBX%V5~KjgkiV1O+7Pe`tUv*_FS0GmfuGYvd5d>w|GXtPn$N( z2ZSdbEPsv(q{ug+tE1<*)}|M?TyLZiyQ1ppGTz<7s`;v~>1O^jkD(T?i%y;9%jZd- zvmin;snlL`V*z8|B_H1@sy@*{+x3L;BPGSaMwQUvJO`PhL}u)c#yW6vNAKJ@cw{IY z8huuzym5EyrZcyil#p=>fhyrbK_tJ}5gpls<}XVk&AjVgTiaCk$J`?X(RcW9uy!Ug zpt0h@cGWFwpP&1aJt-Gh6iF(4g90k{D9vJXoRbcl(~GT0h<+jOYgq>|KICGiScG&+ ziSzNKk_I2Exu12Z&&|7m`-Wox@Rkruw8}nx_5vj<+O3z(Y0oo=t`XN{rO$9dud}!Gu-5GHy0$m;lYE4`2TWhiV-+xGQaPcB1)!qwb!rPe$m_XJg}7o10Op9>IT;(Q z+>bN|ayO6t0oJj9RUcC>ngcHC247ugfx}EFxa;g|0_VmPFxXunwtqYd1x}ypMHG#6 z!ple5zX;zrQKZ1b)SjAxc-49+2=-eZS-y+lUAww}-WRoC>5!sZyC7q6su#94BmdNJtG6HWr1EDJMEU7JWj%zsK>p{WtwxgfcGoKbnR z72c7mmZ6lEXxaJ=IND5M?^$xK;CshN!PN1Pl3P&-si+mn_35=mVd+Qd?Z-&r`Kwv+2uDDj!T-YP>f)CvdF%_?nzT6H%xc^ zAjLnN;}Kxc+HCfc4nh2JQTzC?(`v8xV9GlBa8DYBGfIED)Y4{3=~_F|6n*a!vdL?d z3DfNDJlgy*o1OTcjt?2d6|bphs`37a#HLYve|waHha2g4UUZ5$N%r7)`x@ZP{&b+3 zpO_gLCk=b|doS-;4PQ0pjvnnYNbPF2LWYHL?+@x;LyFZ!@hDebWkuVkv#{tEi%XQJ zT@VZ$_u6=EQ(pqTH(UE!?$to2NCJAn7oCxSV$NLJVSL5nC*G(pvmeNExl{T^`MW*o zLcz88XOmkaI?Yx4$Mak}@m#B$E8X2sd*4TqJ?%VLds+H-wEW_@*2)pRGAG}k=4?}D zn@zFeBe!XEZCyUZx|uCpC?RIE3(j`>@DbN+6gWVEUL-* zT6YF2ppcTg8mXKIl#QehkMV#^QPilyMa`#!Fuk9NlV1=O>uPO6kS%UScST1ESHQx5 z9_L_T<;_eKqrjGBlReXXY~MsdcG}9Z@E&$3C0dzfaQ?`ikyq;6I=y@?NW@KSPFn}z zR%q5-EIiYR7h`z)CSzzO0=svnDRX$g>V=8@7-RR2G4Cv1&qCsgsGgo%hDN!yY{PU9 zX4)5OZ;QCN3PTq^6fhN_bSdoi>#gP?uq2w5vd=Z(Hf7H57eq-u^WcPc8vl&dn+33(g{6#?h5Sg0d^-uc-iIjRO2#z#?!NCN7IhW8WeQ2CR2%OU z{;)UB>OFGWhFD>*f)W-f(@Qz3Mf~_!BAp89iwfx5tF*!x-yml7J&!e-k9#>RO#9uq zY$dosq*lAVa(>_UN;FT!B9F?D)(d3Ip~Nf2Kr?3{qV!j?XGh@Bk0%L^plN|wsG0F7 z(rQSeDciSe^@fH$h{GO3bz^_|`(JgZy%TrHn|uv*Z5x_k2NqwHf{UwK^U}JS$4YPH zn`48*_?|+Y?)>Xv0Jha+Um1(TMLC^JDi=EiX5yFNqMq?D&EMuInI>W}q9dCm{xqDJ zzL_Vhs7|7A?CMDp&Ubc2CsE{||A#*W3ZX16I^AbaMs!Vy8SyGNh}E4*FQ=jvk{^<{ z7+{yKT)up|&+xwwR~RsDY;0`Qu0ci31ont5EiLtu(7JIA0FH{ToPJ@>!NDGJ`t&@B z4r*6a##lPm^h02lK&_;mS5a_CI4wOle4YZ88{DJoh_M8A0ie$jV}T?00YoyTcI@B- z7q}(CcA>$zUk2QN{vdnCxtOj{vx6cm|NH0vuRXu^TmE?d?S>#|KEG1@cJcqA&u`)Xq2Yf4jaiKV literal 0 HcmV?d00001 diff --git a/logs/server.log b/logs/server.log index b2a61820d0fcc4398dd116c3aec8112e049560f0..6d7db33a8424266cb92d4c12f6435eb9a7c39cd2 100644 GIT binary patch literal 329697 zcmeIxU2EG`7y#g1=T{th)l%lK*omXNV3sbdBqj04MJYqbC$*R>snW5>{{7^_Qo~wk zXLd85BM|85{Wv^&b$xSnn}z+lPkEc-Ds-{k#Wpl;UBs>nZ)fL|>HPHF$@Np@Ltdt` zdLJI^HsnpSDT_RnbrrgOg>5r92)+F0>rm7mnoUgcFz(k~S=4P6+HFow>0}mu49{Nu zv<$=kd}-T-pO?!w!|`DJEKEkDaQn-Dlsuiz|9$7?A2s7^lbKjh`7?Z>(eMO{^~ zNM&7hA=RPS)Lk5e=Zodt>z9lDP9Idn@NrwF7hfrnH_fIj@_mia^)2_^1_!a1UwGg5 l{m^V;iid$$WmR_TxC&itcd-pkTNknG!rSS2e_gyg`3nJWRj>d6 delta 35 qcmaFZFVe*{L5bbO*vP=rGIn|bJFCh>-#&H=D`N{23zNwb%o+f?9SKhW diff --git a/tts_service.py b/tts_service.py index f2fd857..c01aa66 100644 --- a/tts_service.py +++ b/tts_service.py @@ -108,32 +108,70 @@ class EdgeTTSProvider(TTSProvider): class ChatTTSProvider(TTSProvider): - """ChatTTS 提供者(本地部署,预留接口)""" + """ChatTTS 提供者(本地部署)""" - # 预留配置 - CHATTTS_URL = os.getenv("CHATTTS_URL", "http://localhost:19020") + # ChatTTS 服务地址 + CHATTTS_URL = os.getenv("CHATTTS_URL", "http://192.168.2.5:12002") def __init__(self): - self._available = False # 暂不可用 + self._available = None async def synthesize(self, text: str) -> Tuple[str, str]: - """ - 使用 ChatTTS 合成语音 - TODO: 后续实现 - """ - raise NotImplementedError("ChatTTS 尚未实现,请先部署 ChatTTS 服务") + """使用 ChatTTS 合成语音""" + import aiohttp + + async with aiohttp.ClientSession() as session: + form = aiohttp.FormData() + form.add_field('text', text) + + async with session.post( + f"{self.CHATTTS_URL}/synthesize", + data=form, + timeout=aiohttp.ClientTimeout(total=60) + ) as resp: + if resp.status != 200: + error = await resp.text() + raise Exception(f"ChatTTS error: {error}") + + data = await resp.json() + # ChatTTS 返回的 URL 是相对路径,需要拼接 + audio_url = f"{self.CHATTTS_URL}{data['audio_url']}" + return None, audio_url def get_name(self) -> str: return "ChatTTS" def is_available(self) -> bool: """检查 ChatTTS 是否可用""" - # TODO: 后续实现检测逻辑 + if self._available is None: + try: + import aiohttp + import asyncio + + async def check(): + try: + async with aiohttp.ClientSession() as session: + async with session.get( + f"{self.CHATTTS_URL}/health", + timeout=aiohttp.ClientTimeout(total=5) + ) as resp: + if resp.status == 200: + data = await resp.json() + return data.get("status") == "ok" + except: + pass + return False + + self._available = asyncio.get_event_loop().run_until_complete(check()) + except Exception as e: + logger.warning(f"ChatTTS check failed: {e}") + self._available = False return self._available - def set_available(self, available: bool): - """设置可用状态(部署后调用)""" - self._available = available + def set_url(self, url: str): + """设置服务地址""" + self.CHATTTS_URL = url + self._available = None # 重新检测 class NoTTSProvider(TTSProvider):