LPCNet icon indicating copy to clipboard operation
LPCNet copied to clipboard

How to speed up the vocoder of LPCNet

Open JohnHerry opened this issue 5 years ago • 1 comments

Hi, all, I had trained lpcnet model and compile the execution file from test_lpcnet.c, synthetise with it is not quick enough. Statistically we cost about 1 seconds to synthetize a pcm wich can only play 4.5 seconds. We do not think it is good enough to be used in business. We found that the code in test_lpcnet.c showing that it synthetize frame by frame, Is there any way to do the job on frames in parallel? Or is there any other way to speed up the synthetise? Grateful for suggestions

JohnHerry avatar Jun 01 '20 02:06 JohnHerry

@JohnHerry Your opinion is great. The synthesis is not that efficient. At first, the I/O of reading the inputs could be more efficient by loading them in total. Then some modules like the conv block at the bottom level could be implemented more efficient (calculated in parallel). And the GRU modules could also be accelerated by handling with cache carefully. So the model could be implemented more efficiently.

MlWoo avatar Jun 28 '20 02:06 MlWoo