Retrieval-based-Voice-Conversion-WebUI icon indicating copy to clipboard operation
Retrieval-based-Voice-Conversion-WebUI copied to clipboard

rvc 是否可以支持流式推理

Open fhc1985 opened this issue 1 year ago • 3 comments

如题:

  1. 流式推理有开发计划吗?
  2. 改造成流式有无可能?

fhc1985 avatar Apr 03 '24 09:04 fhc1985

你指的流式推理是什么?

目前RVC的推理,需要根据VRAM的大小,对目标音频进行切块,切短后,才不会爆显存,导致CUDA Out of Memory。推理结束后,再使用音频软件把切块拼接起来,成为一个完整的长音频。

同样,RVC的训练,一旦爆显存,训练就会终止。

TechVillain avatar Apr 04 '24 23:04 TechVillain

流式推理指的是:输入是音频帧, 而不是一个完整的文件。常见的场景,比如麦克风采集的音频,是以音频帧(比如100毫秒的数据切片)的方式给出。不知道是否可以支持。 看到 RVC 的推理需要用到驱动音频的 f0 作为入参,如果要做流式,这块应该也要做调整。

fhc1985 avatar Apr 05 '24 10:04 fhc1985

流式推理指的是:输入是音频帧, 而不是一个完整的文件。

这个建议非常好。因为目前RVC推理,由于防止爆显存的原因,通常都需要手动对音频进行切块,在推理结束后再手动进行拼接,耗时耗力。

而流式推理,则相当于代码自动指定切片大小,自动切片,推理后自动拼接,节省了用户大量时间,而且永远不会爆显存。

你是否可以测试一下,在你的显存允许下,最大的切块是多少?你随便找一段长音频,切块10分钟一段进行推理,如果爆显存终止,再切到8分钟,6分钟,4分钟... 如此往复,直到不爆显存为止,看一下最大切块量为多大?

这个segment参考值可以用于开发流式推理benchmark的评估。

TechVillain avatar Apr 05 '24 23:04 TechVillain

This issue was closed because it has been inactive for 15 days since being marked as stale.

github-actions[bot] avatar May 22 '24 04:05 github-actions[bot]