创空间的CosyVoice3很好用,但是开源的webui效果很差
创空间:https://www.modelscope.cn/studios/FunAudioLLM/Fun-CosyVoice3-0.5B 为啥创空间的效果很好,本地部署的会乱讲话,有空白呢
直接看代码呗,看了一些 issue,有可能是 prompt text 格式错误,比如缺少'You are a helpful assistant.<|endofprompt|>'
if mode_checkbox_group == '3s极速复刻':
logging.info('get zero_shot inference request')
set_all_random_seed(seed)
speech_list = []
for i in cosyvoice.inference_zero_shot(tts_text, 'You are a helpful assistant.<|endofprompt|>' + prompt_text, postprocess(prompt_wav), stream=stream, speed=speed):
speech_list.append(i['tts_speech'])
return (target_sr, torch.concat(speech_list, dim=1).numpy().flatten())
elif mode_checkbox_group == '自然语言控制':
logging.info('get instruct inference request')
set_all_random_seed(seed)
speech_list = []
for i in cosyvoice.inference_instruct2(tts_text, instruct_text, postprocess(prompt_wav), stream=stream, speed=speed):
speech_list.append(i['tts_speech'])
return (target_sr, torch.concat(speech_list, dim=1).numpy().flatten())
直接跑example.py试试呢。如果没问题的话就对照代码调。
@abo123456789 是同一个,创空间用的是一样的,详细可见源码: https://www.modelscope.cn/studios/FunAudioLLM/Fun-CosyVoice3-0.5B/file/view/master/app.py?status=1
from modelscope import snapshot_download, HubApi
# api = HubApi()
# _, cookies = api.login(access_token=os.environ['token'])
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B')
我看了好几个 issue 都是没有用官方的 example.py,漏了 prompt 导致效果很差。另外一个因素是本地机器和依赖的问题,如果效果不好建议先用 cpu 运行而不是GPU。比如我在 macmini 上采用mps device,结果效果很差,因为其中一个算子不支持,后来发现官方的例子中,pytorch 版本比较低,升级到2.9.x后,mps 上的算子也满足要求了,质量和 cpu 的效果一样
@abo123456789 是同一个,创空间用的是一样的,详细可见源码: https://www.modelscope.cn/studios/FunAudioLLM/Fun-CosyVoice3-0.5B/file/view/master/app.py?status=1
from modelscope import snapshot_download, HubApi
api = HubApi()
_, cookies = api.login(access_token=os.environ['token'])
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B') 我看了好几个 issue 都是没有用官方的 example.py,漏了 prompt 导致效果很差。另外一个因素是本地机器和依赖的问题,如果效果不好建议先用 cpu 运行而不是GPU。比如我在 macmini 上采用mps device,结果效果很差,因为其中一个算子不支持,后来发现官方的例子中,pytorch 版本比较低,升级到2.9.x后,mps 上的算子也满足要求了,质量和 cpu 的效果一样
感谢!我用app.py源码跑,效果一样了