在调试cosyvoice应用的时候,发现官方默认的webui界面生成的音频无法下载,即使等很久下载下来的也是0KB空文件,可以通过修改如下代码解决这个问题
以3秒克隆为例,for i in cosyvoice.inference_zero_shot(tts_text, prompt_text, prompt_speech_16k, stream=stream, speed=speed):功能部分做如下修改:
outaudio = None
set_all_random_seed(seed)
for i in cosyvoice.inference_zero_shot(tts_text, prompt_text, prompt_speech_16k, stream=stream, speed=speed):
audio = i['tts_speech'].numpy().flatten()
if outaudio is None:
outaudio = audio
else:
outaudio = np.concatenate([outaudio, audio])
yield (cosyvoice.sample_rate, outaudio)
并且合成音频按钮删除自动播放autoplay和流媒体streaming
audio_output = gr.Audio(label="合成音频")
重新启动应用,点击音频下载按钮就可以下载有效的音频文件了。