Liquid AI's LFM3-Audio-2B Brings Local Voice Chat, TTS and Tool Calls in 18 Languages

Introduction
Liquid AI launched its LFM3 family on October 27, and the audio model is the one I've been playing with in my head all night. LFM3-Audio-2B is a 2B-parameter open-weight model that hears you, answers in text, speech or both, and can turn a spoken request into a tool call. It covers 18 languages and is built to run on laptops and edge devices.
The weights are on Hugging Face under the LFM Open License v1.0, with official GGUF, MLX and ONNX builds next to the BF16 checkpoint. You can also try it in Liquid's Playground or call it through the Liquid AI API. The full family is in the LFM3 launch post.
What Shipped
From the model card:
- Size: 2B parameters on the new LFM3 backbone, plus a causal audio encoder and Liquid's in-house LiquidCodec audio tokenizer.
- Input: text or audio, with the encoder running at 16 kHz.
- Output: text, 24 kHz speech, or interleaved text and speech.
- Context: 32K tokens, input and output combined.
- Jobs in one model: voice chat, speech recognition, live English ASR, text-to-speech with a female or male voice, speech translation, audio question answering, and tool calling from spoken requests.
- Languages: Arabic, Danish, German, Greek, British and American English, Finnish, French, Hebrew, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Spanish, Swedish, Turkish and Chinese.
- Checkpoints: BF16 for vLLM, SGLang and Transformers, GGUF for llama.cpp, MLX 4-bit for Apple Silicon, and ONNX.
There's also a sibling, LFM3-Omni-2B, that adds images and video to the input side and shares the same codec for speech output.
How the Speech Side Works
The part audio people should care about is the codec. LiquidCodec packs each 80 ms of speech into 12 tokens and decodes as it streams, so playback can start before the whole reply is generated. Liquid says it decodes at about 87× real time on a single CPU thread of an Apple M4 Max.
The model also predicts several audio tokens in parallel instead of one after another, which is a change from earlier LFM audio models. On the input side, the causal encoder prefills while you're still talking. Liquid quotes time to first token as low as 50 ms.
The Numbers, With Caveats
These are Liquid's own scores from the model card, against its older LFM2.5-Audio-1.5B and other small audio models:
- English TTS quality (UTMOSv2): 3.83, up from 3.22 on LFM2.5-Audio and ahead of Qwen2.5-Omni-3B at 3.42.
- VoiceBench (spoken questions, text answers): 73.13, just ahead of Gemma 4 E4B at 72.90.
- Multilingual ASR on FLEURS: 6.03% average error, the best in its comparison.
- English ASR: 6.23% WER, slightly behind Voxtral Mini 3B at 5.51%.
- Tool calling from audio: 58.5 on an internal eval, behind Gemma 4 E4B at 72.4.
So it's not a clean sweep. It's a strong all-rounder for its size, and the TTS score is only for English. The card doesn't publish naturalness scores for the other 17 languages, so listen before you plan a multilingual voiceover around it.
How to Run It Today
The quickest local route is Transformers:
pip install "transformers>=5.20.2" torch accelerate librosa soundfileThen a short TTS test, adapted from the card:
import torch, soundfile as sf
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "LiquidAI/LFM3-Audio-2B"
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.bfloat16 if device == "cuda" else torch.float32
model = AutoModelForMultimodalLM.from_pretrained(
model_id, dtype=dtype, device_map=device, trust_remote_code=True).eval()
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
codec = processor.audio_tokenizer.to(device=device).eval()
conversation = [
{"role": "system", "content": "Perform TTS in American English using a female voice."},
{"role": "user", "content": "Welcome back to the night shift. Tonight's episode starts now."},
{"role": "assistant", "content": "<|audio_start|>"},
]
inputs = processor.apply_chat_template(conversation, continue_final_message=True,
tokenize=True, return_dict=True, return_tensors="pt").to(device)
with torch.no_grad():
out = model.generate(**inputs, max_new_tokens=256, audio_temperature=1.0,
audio_top_k=128, audio_repetition_penalty=1.1,
audio_repetition_window=4096, return_dict_in_generate=True)
wav = codec.decode(out.audio_codes[:1, :, :out.audio_lengths[0]]).audio_values[0]
sf.write("tts.wav", wav.float().cpu().numpy(), 24_000)Swap the system prompt to change the job:
- Transcribe:
Perform ASR in English.or justPerform ASR.to let it detect the language. - Live captions:
Perform live ASR.works on roughly 0.96-second chunks, English only for now. - Voice chat:
Respond with interleaved text and audio.with the assistant turn prefilled as<|mixed_start|>. - Translate speech:
Translate the following speech from Spanish to English in text form. - Ask about a recording: pass the clip plus a question. The card says questions can cover speech, music, background sounds or events.
Liquid also ships two Colab fine-tuning notebooks, one for TTS and one for spoken commands that control a smart home.
Why It Matters for Audio Creators
Most local voice setups are three models taped together: a speech recognizer, a chat model and a TTS voice. LFM3-Audio-2B does all three in one 2B model, and the GGUF and MLX builds mean a normal laptop is the target, not a rented GPU. Builders already have it talking through llama.cpp on the day of release.
For creators, I see three easy uses. You can build an offline voice assistant for a stream or a game prototype, run quick multilingual transcripts and translations without uploading audio anywhere, or fine-tune your own narrator voice with the TTS notebook.
Know the limits. Out of the box the TTS gives you a female or male voice per language, not voice cloning. Liquid also says the model isn't meant for complex multi-step reasoning.
The license matters too. The LFM Open License allows commercial use only for companies under $10 million in annual revenue. Solo creators and small studios are fine. Bigger companies need to talk to Liquid.
Conclusion
LFM3-Audio-2B gives you listening, speaking, translating and tool calling in one small open model, with 24 kHz streaming speech and official builds for llama.cpp, MLX and ONNX. It won't replace a premium cloned voice, but as a local voice brain for your own projects it's one of the most complete small releases this year. Grab the GGUF, say hello, and see how it sounds in your language.
—Anabel ♡
