Liquid AI has released LiquidCodec, a streaming audio codec with approximately 74 million parameters, which serves as the foundation for its LFM3-Audio-2B and LFM3-Omni-2B models. It converts speech into tokens, discrete units that a language model can predict, and then reconverts these tokens into audio. The weights are available on Hugging Face.
LiquidCodec processes audio sampled at 24 kHz and segments it into 80 ms frames. Each frame becomes 12 tokens, distributed across 12 streams, according to the LFM3-Audio-2B model card. The codec replaces Mimi, from Kyutai, which Liquid AI used in LFM2-Audio-1.5B. Mimi has 96.2 million parameters.
A three-step operation
The operation relies on a three-step chain: encoding, quantization, decoding. Liquid AI uses blocks from its LFM3 architecture in both the encoder and decoder, two symmetrical parts. The encoder is fully causal, meaning it relies only on sounds already received, which is suitable for streaming.
For quantization, LiquidCodec uses a method called GFSQ (grouped finite scalar quantization) instead of RVQ (residual vector quantization). In RVQ, each codebook corrects what the previous one failed to capture. With GFSQ, the groups are independent, so the 12 streams can be predicted in parallel by MaskGIT-type transformers. The decoder directly predicts spectral coefficients, without the upsampling step via transposed convolution, which is often costly in waveform decoders.
Training was conducted in two phases. The first used 264,000 hours of speech in 107 languages, without adversarial losses. The second was fine-tuned on 55,000 hours of full-band speech (24 kHz or more), with adversarial critics. According to Liquid AI, this step removed the remaining metallic artifacts. A final step, training-aware quantization (QAT) on the decoder only, targets inference on edge devices.
Speed and quality according to Liquid AI
Liquid AI measured speed in FP32 on a single CPU thread of a MacBook Pro equipped with an Apple M4 Max chip. According to these figures, which are self-reported, LiquidCodec processes encoding at approximately 361 times real-time and decoding at approximately 87 times. The real-time factor (RTF) is the processing time divided by the audio duration: the lower it is, the faster the processing. The encoding RTF is 0.0028, compared to 0.0361 for Mimi, 0.2145 for NanoCodec, and 0.7359 for X-Codec 2. For decoding, it is 0.0115, compared to 0.0329, 0.2543, and 0.0379.
For quality, Liquid AI used eight test sets: LibriSpeech test-clean, Seed-TTS in English and Mandarin, and five languages from FLEURS (German, French, Mandarin, Japanese, Korean). LiquidCodec achieves the best ViSQOL score and the lowest mel distance on all eight sets. On LibriSpeech, the ViSQOL score reaches 4.319, compared to 4.219 for NanoCodec, 4.119 for X-Codec 2, and 4.031 for Mimi. In speech synthesis tests trained on each codec’s tokens, LiquidCodec shows the best UTMOSv2 score on all eight sets. The word error rate on LibriSpeech is 3.15%, compared to 6.27% for Mimi.
However, NanoCodec achieves a better PESQ (WB) score on seven of the eight sets, and it outperforms LiquidCodec in speaker similarity on LibriSpeech (SECS 0.836 vs. 0.785).
Deployment
The codec is loaded with Hugging Face Transformers, by activating trust_remote_code=True. The encode() function produces audio codes and decode() restores the waveform. A native class, LiquidCodecStreamingCache, enables piece-by-piece decoding. The examples in the card use CUDA GPUs in bfloat16.
For embedded devices, Liquid AI offers GGUF Q4_0, Q4_K_M, and Q8_0 versions intended for llama.cpp, as well as GGUF repositories for LFM3-Audio-2B and LFM3-Omni-2B. According to the company, combining Q4_0 and decoder QAT reduces the decoder’s footprint by a factor of 3.5. The ViSQOL score on LibriSpeech then drops from 4.319 to 4.292.
