流模式下定义API返回音频无法播放,麻烦问下是什么原因
zhangxlgithub opened this issue · comments
zhangxlgithub commented
@app.route('/streamchat', methods=['GET'])
def streamchat_api():
texts = "会议强调,开展知识产权综合管理改革试点,要紧扣创新发展需求,发挥专利、商标版权等知识产权的引领作用,打通知识产权、创造、运用、保护管理服务全链条,建立高效的知识产权综合管理体制,构建便民利民的知识产权公共服务体系,探索支撑创新发展的知识产权运行机制,推动形成权界清晰、分工合理、责权一致、运转高效的体制机制。"
rand_spk = chat.sample_random_speaker()
params_infer_code = ChatTTS.Chat.InferCodeParams(
spk_emb=rand_spk,
temperature=0.3,
top_P=0.7,
top_K=20,
)
streamchat = chat.infer(
texts,
skip_refine_text=True,
stream=True,
params_infer_code=params_infer_code,
)
def generate_stream():
for i in ChatStreamer().generate(streamchat, output_format="PCM16_byte"):
yield i
return Response(generate_stream(), content_type='audio/wav')
@app.route('/local_audio', methods=['GET'])
def local_audio():
def generate_local_audio_stream():
with open('/data/ChatTTS/voice/ttt.wav', 'rb') as f:
data = f.read(1024)
while data:
yield data
data = f.read(1024)
return Response(generate_local_audio_stream(), mimetype='audio/wav')
定义的流模式返回的api,streamchat接口为流模式生成返回 local_audio接口为读取本地音频文件返回,流模式生成的前端不能播放,但是读取本地音频文件的接口可以在前端页面播放,麻烦问下这是什么原因呢???
源文雨 commented
流式接口本身已经过测试没有问题,请仔细检查自己代码的写法。