Open Source
Explore the latest AI open-source projects from GitHub and HuggingFace.
Explore the latest AI open-source projects from GitHub and HuggingFace.
Moshi is a speech-text foundation model and full-duplex spoken dialogue framework from Kyutai, built to hold a real-time voice conversation with latency low enough to feel natural. Released with Apache-2.0 code and CC-BY-4.0 model weights, and paired with a live demo at moshi.chat, the repository has passed 10,000 GitHub stars. Where most voice assistants stitch together separate speech-recognition, language, and text-to-speech components, Moshi is a single model that listens and speaks at the same time — and it is built on Mimi, a state-of-the-art streaming neural audio codec released alongside it. ## Full-Duplex Dialogue Moshi's defining feature is that it models two audio streams simultaneously: one for its own speech and one for the user's. Because both streams run continuously, the model can listen while it talks, handling interruptions, overlapping speech, and backchannels the way people do, without the rigid turn-taking of voice-activity detection. Architecturally, a large 7B-parameter Temporal Transformer captures long-range dependencies while a small Depth Transformer models the relationships between audio codebooks at each step. Moshi also predicts the text tokens of its own speech — an "inner monologue" that measurably improves generation quality. The design reaches a theoretical latency of 160ms and a practical latency as low as ~200ms on an L4 GPU. ## The Mimi Neural Audio Codec Underpinning Moshi is Mimi, which compresses 24kHz audio down to a 12.5Hz representation at just 1.1kbps in a fully streaming fashion with 80ms latency. Mimi adds Transformers to both the encoder and decoder of a neural codec and uses a distillation loss so its first codebook aligns with self-supervised WavLM features, letting a single model carry both semantic and acoustic information. Trained with an adversarial-only objective, it outperforms non-streaming codecs like SpeechTokenizer and SemantiCodec at a lower bitrate, and ships as a standalone Rust library (`rustymimi`) with Python bindings. ## Three Inference Stacks and a Model Family The repository provides three implementations for different needs: PyTorch for research, MLX for on-device inference on Mac and iPhone, and Rust/Candle for production serving. Kyutai releases two synthetic voices — Moshiko (male) and Moshika (female) — plus the Mimi codec, in bf16, int8, and int4 quantizations. The same codebase also powers related multi-stream Kyutai models, including Hibiki for simultaneous speech translation and the Kyutai TTS/STT models from the Delayed Streams Modeling project. ## Trade-offs and Limitations Moshi ships with only two fixed synthetic voices; customizing the voice requires fine-tuning via the separate moshi-finetune project. As a speech-centric model it does not match large text LLMs on factual knowledge or complex reasoning, so it is better understood as a conversational voice interface than a general assistant. Real-time performance needs a capable GPU, there is no official Windows support, and the weights carry a CC-BY-4.0 attribution requirement even though the code is Apache-2.0. ## Who Should Use This Moshi is a strong fit for researchers and developers building real-time voice agents and conversational interfaces, or studying full-duplex dialogue and low-latency neural audio codecs, who want an open, self-hostable alternative to closed real-time voice APIs. It is also a foundation others build on — NVIDIA's PersonaPlex, for example, extends the Moshi architecture — making it a practical starting point for anyone experimenting with speech-native AI.