explainx.ai350K+ learn from us
TrendingAI News TodayPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

community

Join the community

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescompare Explainxcertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcpestacktoolsmdx readeragentsllmsdesignsdictionarypeopleagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

explainx.ai

On this page

  • TL;DR
  • What does full-duplex mean, and why does it matter?
  • How is Haru-4B built?
  • What data and compute went into it?
  • How fast is it?
  • How do I try Haru-4B?
  • How does it compare with other open voice models?
  • What are the limits?
  • What this means for builders
  • Related reading
← Back to blog

explainx / blog

Haru-4B: An Open, Apache-2.0 Full-Duplex Voice Model Built on Qwen3.5-4B

Voice AI, Open Source, Hugging Face, Speech Models, Qwen

Part of AI Image, Video and Voice

Haru-4B from higurashi-ai listens and speaks at once in 9 languages, runs on about 12 GB of GPU memory, and ships under Apache 2.0. How to try it and limits.

Nov 14, 2026·9 min read·Yash Thakker
add explainx.ai
go deep
Haru-4B: An Open, Apache-2.0 Full-Duplex Voice Model Built on Qwen3.5-4B

Haru-4B is a new open voice model that listens and talks at the same time. higurashi-ai published it on Hugging Face under the Apache License 2.0, with code on GitHub and a technical blog. It was trending on Hugging Face with 229 likes when we checked.

The model is a pretrained base for research. It uses a Qwen3.5-4B text backbone, handles nine languages, and fits on a GPU with about 12 GB of memory. The authors report about 65 ms of end-to-end latency on an M1 Max MacBook. They report no benchmark scores, and that gap matters for how you should read the release.

This post explains how full-duplex differs from the usual voice pipeline, how Haru-4B is built, how to run it, and what is still unproven. For other voice releases we have covered, see Fish Audio Live 3 and Retell's Tell-1.

TL;DR

table · 2 cols
QuestionAnswer
What is it?A full-duplex speech-to-speech foundation model, about 5B parameters in BF16
LicenseApache 2.0 for the weights
Base modelQwen3.5-4B text backbone, 32 layers, hidden size 2560
LanguagesEnglish, Spanish, Portuguese, German, French, Chinese, Japanese, Russian, Korean
HardwareAbout 12 GB NVIDIA GPU, or a Mac through the MLX build
LatencyAbout 65 ms end-to-end on an M1 Max (authors' figure, excludes up to 133 ms of audio framing)
Is it an assistant?No. Base model, weak on facts and instructions
BenchmarksNone published yet
Daily briefFrom Yash · 350K+ students taught

Catch up on AI

One AI story explained in plain English, plus one thing to try. Every day, free. Unsubscribe anytime.

What does full-duplex mean, and why does it matter?

Most voice assistants work in turns. A voice activity detector decides you have stopped, speech recognition turns your audio into text, a language model writes a reply, and a speech synthesizer reads it aloud. Each step adds delay, and the system cannot listen while it speaks. That is why interruptions feel awkward.

A full-duplex model processes incoming and outgoing audio in the same loop. In Haru-4B, every 133 ms frame takes one frame of the user's audio and produces one frame of the model's own audio and text. That lets the model do what people do on a phone call: say "mm-hm" while you talk, stop when you cut in, or start a reply before you finish.

According to the authors, the goal is conversation that feels less like an agentic assistant and more like talking with a person. That is a different target from tool-using voice agents. Our post on the Japanese full-duplex model Shizuku covers the same shift from another team.

Voice waveform illustrating a full-duplex speech model that listens and speaks at onceVoice waveform illustrating a full-duplex speech model that listens and speaks at once

How is Haru-4B built?

The model card and technical blog describe a compact design with three ideas.

One position, three streams. User audio, the model's previous text token and its previous speech latent are summed into a single position of the language model. The blog says this cuts context length to one third, compared with interleaving the streams token by token. Listening and speaking never wait for each other.

Continuous audio, no codebooks. Audio is a 64-dimensional latent per frame at 7.5 Hz. A small MLP head produces each latent in a single sampling step from the language model's hidden state. The head is trained with flow matching and then distilled with MeanFlow. There is no separate audio transformer and no discrete audio tokens.

A known codec. The audio codec is the VibeVoice acoustic tokenizer, causal, at 24 kHz with 3,200 samples per latent.

table · 2 cols
PartDetail
Language modelQwen3.5-4B text backbone
Audio head4-layer MLP, MeanFlow, 1 step, guidance scale 1 to 2 (default 1.5)
Frame rate7.5 Hz, about 133 ms per frame
WeightsOne safetensors file in bfloat16, plus config and tokenizer

The model is controlled by a text card that sets the character and a short reference clip that sets the voice.

What data and compute went into it?

The authors say they trained on more than 40 million hours of speech covering more than 160 languages. They exclude LLM-generated dialogues and TTS-synthesized speech, so the model learns turn-taking, backchannels and interruptions from real speech.

Training had two stages:

  1. Single-channel adaptation. The model learned speech adaptation through speech recognition, speech and text continuation, and text-only rehearsal. Most data was cleaned with a speech restoration model called Sidon.
  2. Full-duplex training. A separation model called FastDialogueSidon split mixed recordings into aligned two-channel streams. The authors report more than 13 million hours of separated dialogue, with conversations up to 60 minutes long. Character prompts and same-speaker reference audio supplied persona and voice.

The reported compute is 256 NVIDIA B200 GPUs for about 8 days, using Megatron-LM. These are the authors' numbers and we have not reproduced them.

One caveat sits inside the method. The model was pretrained without native two-channel conversations, because the two-channel data came from separating mixed audio. The blog admits that separation errors and noise can remain, especially in overlapping speech.

How fast is it?

The blog gives a latency breakdown for a native Swift app with custom Metal kernels and int8 weights on an M1 Max. These are median figures.

table · 2 cols
StageLatency
Input, microphone to app5.3 ms
One model step34.2 ms
Socket and handoff4.1 ms
Output wait, margin and slack13.3 ms
Output, app to headphones8.1 ms
Total65.2 ms

The total excludes audio framing, which adds up to 133 ms. On an NVIDIA B300 through vLLM-Omni, the authors say audio encoding and decoding plus one language-model step take about 15 ms.

Treat these as vendor-reported lab numbers. Real conversations add network, device and Bluetooth delay. The model card itself says Bluetooth devices add 100 ms or more, and it recommends wired headphones and a wired microphone.

Real-time voice concept for a low-latency open source voice modelReal-time voice concept for a low-latency open source voice model

How do I try Haru-4B?

The card gives a short path for a machine with an NVIDIA GPU of about 12 GB:

bash
git clone https://github.com/higurashi-ai/Haru && cd Haru
pip install -e ./haru
python -m haru.server --hf-repo higurashi-ai/Haru-4B

Then open localhost on port 8998, pick a character, give the model a voice and talk. The repository also includes an MLX implementation with a native macOS app and a plugin for serving through vLLM-Omni.

The model ships with no voice clips. You supply one: a single speaker, 3 seconds to 3 minutes, clean speech. The card adds a plain warning to use only voices you have the right to use. That matters because the model can imitate a reference voice, and impersonation is a real risk. See our report on AI synthetic voices and 911 swatting for how misuse looks in practice.

For programmatic use, the card shows a DuplexSession class. You prepare a reference voice, start a session with a character card, and call a step function with 3,200 samples of 24 kHz audio per frame. The system prompt uses a fixed character-card layout that the repository README documents.

How does it compare with other open voice models?

Here the honest answer is: we do not know yet. The authors cite Moshi, FLM-Audio and OmniFlatten as related systems, but report no head-to-head numbers. The blog's only evaluation is a qualitative demo, an English investment-advice conversation that they say shows backchannels and overlapping speech.

That puts Haru-4B in a different spot from releases that publish scores. A few reference points from our own coverage:

  • Apriel Voice 27B preview is a larger open speech model with tool calls, under an MIT license.
  • Zonos 3 Mini is an open text-to-speech model that runs in the browser.
  • Confucius4-R2T2 targets streaming speech recognition for Qwen3 voice agents.

Those are different jobs. Haru-4B is a conversation model, not a recognizer or a speaker. If you need a reliable assistant today, a pipeline with a stronger language model will answer questions better. If you want to study natural turn-taking, an open full-duplex base you can run locally is the useful part.

What are the limits?

The model card and blog list these:

  • Base model only. It holds a natural conversation but does not follow instructions the way an assistant does.
  • Weak on facts. The card says it is not a reliable source of facts. The authors also say the small backbone limits response quality.
  • Separation noise. Training data came from separated audio, so overlapping speech can carry errors.
  • No published benchmarks. Quality claims rest on one demo.
  • Voice rights. You carry the responsibility for any voice you clone.

Planned work, per the blog: a more detailed technical report, training code, fine-tuning on native two-channel recordings, synthetic full-duplex data, models above 100 billion parameters, and omni-modal models that take live video.

What this means for builders

If you build voice products, Haru-4B is worth a test session, not a migration. Three practical uses stand out:

  1. Research on turn-taking. An Apache-2.0 base with training details lets you probe interruption and backchannel behavior.
  2. On-device demos. The MLX path and the reported 65 ms figure suggest a local conversational demo on a Mac is feasible. Verify on your own device.
  3. Fine-tuning candidates. At roughly 5B parameters with an open license, it is a reasonable base for a domain-specific character, once you add your own data and evaluation.

Do not ship it as a customer-facing agent without your own tests for factual errors, safety and voice consent. For commercial voice agent benchmarks with latency claims, compare against vendor posts like Retell's Tell-1, and check how each source measures delay.

Specs, license terms and repository details are accurate as of November 14, 2026 and may change.

Related reading

  • Fish Audio Live 3 and full-duplex voice agents
  • Shizuku: Japanese full-duplex voice
  • Retell Tell-1 voice model
  • Apriel Voice 27B preview
  • Zyphra Zonos 3 Mini open TTS
  • Confucius4-R2T2 streaming ASR
  • AI synthetic voices and 911 swatting
Spotted something out of date? Let us know.
Daily briefFrom Yash · 350K+ students taught

Catch up on AI

One AI story explained in plain English, plus one thing to try. Every day, free. Unsubscribe anytime.

  • ✓ Free
  • ✓ One email a day, no spam
  • ✓ Unsubscribe anytime
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

View Yash Thakker in People in AI →

Related posts

Nov 2, 2026

Apriel Voice 27B Preview: ServiceNow’s Open MIT Speech Model Built on Gemma 4

ServiceNow-AI released Apriel Voice 27B Preview, an open model that takes speech, reasons, and returns text and tool calls. It uses a Whisper encoder on a Gemma 4 backbone and ships under the MIT license. Here is what it scores, how to run it, and where it falls short.

Oct 28, 2026

Qwen3.5-4B-3D-Coder: A 4B Open Model That Writes Three.js Scenes

An independent developer fine-tuned Qwen3.5-4B to generate interactive Three.js scenes and published two GGUF files under Apache-2.0. Here is what the model card says, how to run it, and what is not yet proven.

Jul 31, 2026

Hugging Face Speech-to-Speech: Build Open-Source Voice Agents

Hugging Face's speech-to-speech is a modular VAD-STT-LLM-TTS voice pipeline that speaks the OpenAI Realtime protocol, so any Realtime client can point at it unchanged — hosted, self-hosted, or fully local. It already powers thousands of Reachy Mini robots in production. explainx.ai breaks down the architecture, backend options, and the new LLM proxy for concurrent agent work.