加载中…
加载中…
Code · Technical blog · Technical blog (Japanese)
Haru-4B is a low-latency and multilingual full-duplex continuous spoken dialogue foundation model: it listens and speaks at the same time, the way people do on a phone call. It is a pretrained base model, released for research.
The code is at https://github.com/higurashi-ai/Haru: a PyTorch implementation with a web demo, an MLX implementation with a native macOS app, and a plugin for serving with vLLM-Omni.
With an NVIDIA GPU (about 12 GB of memory):
git clone https://github.com/higurashi-ai/Haru && cd Haru
pip install -e ./haru
python -m haru.server --hf-repo higurashi-ai/Haru-4B
Open http://localhost:8998, pick a character, give the model a voice, and talk. For low latency, we recommend wired headphones and a wired microphone. Bluetooth devices add 100 ms or more.
Bring your own voice. Haru ships without voice clips. Upload or record a clip of the voice the model should speak with: one speaker, 3 seconds to 3 minutes, clean speech. Only use voices you have the right to use.
from haru import DuplexSession, HaruModel
from haru.audio import load_audio, prepare_reference
model = HaruModel.from_pretrained("higurashi-ai/Haru-4B")
voice = prepare_reference(load_audio("voice.wav"))
session = DuplexSession(model, system_prompt=card, reference=voice)
frame = session.start() # the model's first 133 ms: frame.audio, frame.text
while not frame.done:
frame = session.step(user_audio) # 3200 samples at 24 kHz in, 3200 out
The system prompt is a character card with a fixed layout; the repository's README shows how to build one.
| File | Contents |
|---|---|
model.safetensors |
All weights (bfloat16): lm.* language model, model_audio_proj.* / user_audio_proj.* audio input projections, head.* MeanFlow head, codec.* audio codec |
config.json |
Model configuration |
tokenizer.json |
Text tokenizer |
| Part | Details |
|---|---|
| Language model | Qwen3.5-4B text backbone, 32 layers, hidden size 2560 |
| Audio codec | VibeVoice acoustic tokenizer, causal, 24 kHz, 3200 samples per latent |
| Audio head | 4-layer MLP, MeanFlow, 1 sampling step, guidance scale 1 to 2 (default 1.5) |
| Frame rate | 7.5 Hz |
Haru-4B is a pretrained base model, released for research. It holds a natural conversation, but it is not a reliable source of facts and does not follow instructions the way an assistant does. It can imitate the voice of a reference clip; only use voices you have the right to use.
The weights are released under the Apache License 2.0.