wenkil
(八筒)
1
大佬们,想请教个问题。
业务场景背景:
用户提了问题,后端通过调用LLM的api拿到结果(拿的时候用的流式,而不是等待输出完,等于后端拿到什么内容就返回给前端什么内容),这个时候也是流式的返回给前端,这一步前后端用的EventSource实现的
新需求:
现在想要在流式输出过程中,把已经返回给前端的文案用TTS转换之后播放出来,而不是等全部返回再开始转换为语音
个人觉得这个流程是不是这样的:
流式输出几十个字以后开始调用TTS,然后等TTS返回就立即播放,流式过程有了新的文案输出几十个以后,再调用TTS,再继续播放,但是不知道怎么控制这个流程,如果流式内容卡住呢?
现在领导想要调研这个问题的解决方案,不知道如何下手,有没有大佬给支个招~~
另外
前端:vue
后端:node
1 个赞
NeQ
(Ne0)
2
chatTTS 文字转语音效果好,但是也不能实时转吧,实时的算力要求估计会比较高。至于流式的话,网络好一般不会卡。跟直播一个道理
2 个赞
Cuyu
3
我猜超自然语音是对句子完整的理解后才能表达出合适的语音语调。一个字一个字的实时读,很难做到超自然语音吧。
wenkil
(八筒)
4
是的,所以初步想法是等待流式返回一定量,比如50个字,100个字以后再用tts,但感觉整个流程太复杂了
因为我理解是需要打断点,比如这100个字已经转过了,下次传给tts的就得从断点处再截取文字
不需要判断啊,看返回有没有句号,有句号说明是一句完整的话,救可以转了
wenkil
(八筒)
7
会考虑用讯飞的那个实时转的那个api,但现在流程问题比较麻烦
wenkil
(八筒)
8
是的,我们有要求返回格式,通常是句号。后面会换行
主要是想看还有没有别的option
wenkil
(八筒)
9
wenkil
(八筒)
12
feelfree
(feelfree)
16
你要是不说后端是node我还以为是我的同事呢,我们今天下午刚刚买了百度的文字转语音服务,目前我们实际测试chattts在gpu环境下跑也要100多秒才能出来结果,这个时间太长了,没办法现在选择了用百度的云服务。
wenkil
(八筒)
17
哈哈,我们也有python和java的服务~~ 
那个,你们用下来怎么样,是整体输出玩转的还是流式过程中转的
feelfree
(feelfree)
18
整体输出,大模型取到完整的输出结果以后再把文字内容发给百度云服务,然后他们会立即给你一个token id,后续你要用这个token id去轮询百度处理完没有,处理完的话就可以取结果用了。
wenkil
(八筒)
19
好吧,只能跟产品说下最佳实现的情况了,如果产品非要分段去转的话,复杂度会差很多~~