zceng / LVCNet

LVCNet: Efficient Condition-Dependent Modeling Network for Waveform Generation
Apache License 2.0
79 stars 16 forks source link

想问下推理速度有对比过原始LPCNet吗 #5

Closed forwiat closed 2 years ago

forwiat commented 2 years ago

首先,感谢您在声码器上做的努力 我想问一下,推理速度上有与原始LPCNet做过对比吗

zceng commented 2 years ago

LPCNet 是自回归的,主要为cpu流式TTS推理优化,而 Parallel WaveGAN 与 LVCNet 是非自回归的,着重与更快的生成速度。在GPU上测,LVCNet 会快很多,cpu上测会慢一些

forwiat commented 2 years ago

想问下,为什么自回归的LPCNet,在流式TTS中,会比LVCNet这种非自回归的快呢?我理解流式与非流式的计算量应该是一样的呀?

zceng commented 2 years ago

计算量不一样,LPCNet的网络结构如下,本质 2 Conv + 2 Linear + 2 GRU + 1 Linear: image

而 像 ParallelWaveGAN 与 LVCNet 这种非自回归的,总共包含 30 Conv,并且卷积核为 1x5,计算量要大很多的。 另外,LVCNet 是与 Parallel WaveGAN 类似的网络结构,而与 LPCNet 差别非常大。LVCNet 与 LPCNet 并没有直接的关系。

如果,关注 非自回归的速度与效果,也可以借鉴hifigan的网络, discriminator 与 loss设计。

forwiat commented 2 years ago

但是无论是LPCNet还是别的声码器网络,每次流的过程,也是需要整个网络都计算一遍的吧

zceng commented 2 years ago

是的,每个采样点计算都需要整个网络来完成计算。 而 LPCNet在 cpu上更快 是因为 网络结构小,以及一些其他速度优化; 而 ParallelWaveGAN/LVCNet/HifiGAN 做 流式,也可以通过缩减 网络结构 来达到相同的速度,但音质上会明显出现损失。

zceng commented 2 years ago

不过如果可以上 gpu,用 ParallelWaveGAN/LVCNet/HifiGAN 做 流式 会快很多的