Xiph's LPCNet: the neural vocoder that outlived its own future
A once-groundbreaking WaveRNN speech synthesizer now exists mainly to point you toward its faster, better replacement.

What it does
LPCNet is a low-complexity neural speech synthesizer that marries linear prediction with WaveRNN. It can generate wideband speech on ordinary CPUs (about 3 GFLOP) and compress it to 1.6 kb/s. The C implementation targets SSE2 through AVX2/FMA and ARM NEON, with a Python/Keras training pipeline. It also does packet-loss concealment and has been integrated into the Opus codec for low-bitrate redundancy.
The interesting bit
The README opens with a frank eulogy: LPCNet is “no longer being actively developed” and users should switch to FARGAN, which hits better quality at 600 MFLOPS—one-fifth the optimized LPCNet, one-twentieth the original. That kind of self-deprecating honesty from a research lab is refreshing. The project now functions partly as a historical artifact and migration signpost.
Key highlights
- Real-time synthesis on commodity CPUs via SIMD-optimized C (auto-downloads models too large for Git)
- Demo application handles encode/decode, analysis/synthesis, and PLC with causal or non-causal lookahead modes
- Training pipeline in Keras/TensorFlow 2 with GPU; C inference extracted from trained H5 models
- BSD licensed; born from peer-reviewed ICASSP/INTERSPEECH research
- ARMv7 32-bit builds need
--disable-dot-productdue to incomplete integer operation support
Caveats
- Requires careful compiler flag setup (
-Ofast,-march=nativeor-mfpu=neon) or performance collapses - “Work in progress software” per the authors’ own description
- Effectively superseded by FARGAN, now maintained inside the Opus codebase
Verdict
Worth studying if you’re tracing the evolution of efficient neural vocoders or maintaining legacy Opus integrations. Skip it for new projects—follow the README’s advice and head to FARGAN.