Mindket

Backchannel Cue 32M

Newversion 1 · updated

Overview

Decides when a voice assistant should drop in a small listening sound such as mhm or oh no while the user is still talking, from the words so far. Text only, and it answers in about 5 ms on a CPU.

Backchannel Cue 32M is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • Python with onnxruntime, tokenizers, numpy and huggingface_hub
  • About 129 MB of space for the ONNX model
  • A live transcript from your speech recognizer
Runs in
  • Python projects that use onnxruntime
  • Voice pipelines that produce a live transcript
  • Machines without a GPU, since it runs on a CPU
  • Windows, macOS or Linux with Python, to download the files
Start with
pip install -U huggingface_hub
hf download KoljaB/backchannel-cue-32m

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

This model gives a voice assistant the habit of listening out loud. Humans murmur small signals like mhm or oh no while someone else talks, and assistants that wait in silence feel cold. You pass in what the user has said so far at a pause, and the model says whether a listener would react and how. Because it needs only a CPU, calling it at each pause costs little and needs no LLM.

Who it suits

It suits developers who build spoken assistants and want them to sound attentive during a user's turn.

IndustryWho uses itHow they use itExample
Voice assistantsDevelopers of spoken assistantsCheck each pause for a fitting listening cueRespond with a sympathy cue when a user mentions a parent falling ill
Phone and call botsTeams that build voice botsKeep callers engaged while they speakSay mhm after a long clause
Dialogue researchResearchers of turn-takingStudy when people respond and in which wordsRead the gate AUC results and the training notes

If your product has no voice, or you need replies and not small cues, you can skip it.

Where to use it

  • Python projects that use onnxruntime
  • Voice pipelines that produce a live transcript
  • Machines without a GPU, since it runs on a CPU
  • Windows, macOS or Linux with Python, to download the files
Use caseWhoWhat they get back
Listening cuesVoice app developersA cue probability, fitting reactions and likely wording
Mood checksTeams that care about toneA mood label of neutral, bad, good or funny
Ask-back promptsAssistant buildersAn echo question that fits a sentence left hanging

How to set it up

What you need first:

  • Python with onnxruntime, tokenizers, numpy and huggingface_hub
  • About 129 MB of space for the ONNX model
  • A live transcript from your speech recognizer
  1. Download the repository, which includes example.py.
  2. Install the Python packages.
  3. Run example.py to see a complete policy you can copy.
pip install -U huggingface_hub
hf download KoljaB/backchannel-cue-32m
pip install onnxruntime tokenizers numpy huggingface_hub
python example.py

How to use it

Call the decide function from example.py with the transcript of the current turn, about 0.45 seconds into a pause. It returns the text to say, or nothing when staying quiet is better. If you can, speak the cue from a pre-recorded clip, since live generation tends to arrive late.

from example import decide

decide("my dad got really sick last week")   # e.g. "Oh no."
decide("i wanted to tell you about")         # "About what?"
decide("what time is it")                    # usually None: stay quiet
ToolWhat it does
decideTurns the current turn's words into a cue, or into silence
example.pyA complete policy you can copy, including the rules below
cleanPrepares the text as lowercase words without punctuation
config.jsonLists every label and maps each reaction to its wording

Example

You pass a sentence about a parent falling ill. The model returns a sympathy cue such as oh no. For a plain question about the time, it usually returns nothing, so the assistant stays quiet.

For newcomers and experts

A good first try is to run example.py and feed it a few sentences, some sad and some neutral. Watch which ones get a cue and which stay silent.

For experts, the model builds on the ettin-encoder-32m encoder and returns a gate probability, scores for each reaction type, a mood, 61 wording classes and an echo score. The card's rules matter as much as the scores. They set a lower cue bar mid-sentence, hold back laughs and praise when the mood looks bad, and space cues at least 6 seconds apart. Send only the current turn, newest 30 words.

  1. You send the words of the current turn
  2. The model scores gate, reactions, mood and wording
  3. Your rules decide whether to speak
  4. You play a pre-rendered cue, or stay quiet

Good to know

Time per call on one CPU thread
Short text5 ms
40 words12 ms
Reported checks
CheckResult
Gate AUC, held-out corpus pauses0.733
Mood accuracy, written dev set86%
New sad sentences read as bad12 of 12
Echoes at 0.7, good ones fired14 of 14
  • Input: only the words of the current turn plus a few counters, with no audio.
  • Language: English.
  • Rules: the raw scores are not a finished policy, and example.py applies the first three of the card's rules.
  • Training: the repository contains weights and no training data. Teacher labels were produced partly by a locally run Qwen model and partly by OpenAI models.
  • License: mit
  • Cost to run: no API key or paid service named.
  • Data it reaches: it downloads files from Hugging Face and reads only the transcript text you give it.
  • Not for: replacing your assistant's reply once the user has clearly finished their turn.

README and files

README

Backchannel Cue 32M

Decides when a voice assistant should drop in a small listening sound such as mhm or oh no while the user is still talking, from the words so far. Text only, and it answers in about 5 ms on a CPU.

Made by KoljaB on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

About

What it is: This model gives a voice assistant the habit of listening out loud. Humans murmur small signals like mhm or oh no while someone else talks, and assistants that wait in silence feel cold. You pass in what the user has said so far at a pause, and the model says whether a listener would react and how. Because it needs only a CPU, calling it at each pause costs little and needs no LLM.

Who it suits: It suits developers who build spoken assistants and want them to sound attentive during a user's turn.

Industry | Who uses it | How they use it | Example
Voice assistants | Developers of spoken assistants | Check each pause for a fitting listening cue | Respond with a sympathy cue when a user mentions a parent falling ill
Phone and call bots | Teams that build voice bots | Keep callers engaged while they speak | Say mhm after a long clause
Dialogue research | Researchers of turn-taking | Study when people respond and in which words | Read the gate AUC results and the training notes

If your product has no voice, or you need replies and not small cues, you can skip it.

Where to use it:

  • Python projects that use onnxruntime
  • Voice pipelines that produce a live transcript
  • Machines without a GPU, since it runs on a CPU
  • Windows, macOS or Linux with Python, to download the files
Use case | Who | What they get back
Listening cues | Voice app developers | A cue probability, fitting reactions and likely wording
Mood checks | Teams that care about tone | A mood label of neutral, bad, good or funny
Ask-back prompts | Assistant builders | An echo question that fits a sentence left hanging

How to set it up: What you need first:

  • Python with onnxruntime, tokenizers, numpy and huggingface_hub
  • About 129 MB of space for the ONNX model
  • A live transcript from your speech recognizer
  1. Download the repository, which includes example.py.
  2. Install the Python packages.
  3. Run example.py to see a complete policy you can copy.
pip install -U huggingface_hub
hf download KoljaB/backchannel-cue-32m
pip install onnxruntime tokenizers numpy huggingface_hub
python example.py

How to use it: Call the decide function from example.py with the transcript of the current turn, about 0.45 seconds into a pause. It returns the text to say, or nothing when staying quiet is better. If you can, speak the cue from a pre-recorded clip, since live generation tends to arrive late.

from example import decide

decide("my dad got really sick last week")   # e.g. "Oh no."
decide("i wanted to tell you about")         # "About what?"
decide("what time is it")                    # usually None: stay quiet
Tool | What it does
decide | Turns the current turn's words into a cue, or into silence
example.py | A complete policy you can copy, including the rules below
clean | Prepares the text as lowercase words without punctuation
config.json | Lists every label and maps each reaction to its wording

Example: You pass a sentence about a parent falling ill. The model returns a sympathy cue such as oh no. For a plain question about the time, it usually returns nothing, so the assistant stays quiet.

For newcomers and experts: A good first try is to run example.py and feed it a few sentences, some sad and some neutral. Watch which ones get a cue and which stay silent.

For experts, the model builds on the ettin-encoder-32m encoder and returns a gate probability, scores for each reaction type, a mood, 61 wording classes and an echo score. The card's rules matter as much as the scores. They set a lower cue bar mid-sentence, hold back laughs and praise when the mood looks bad, and space cues at least 6 seconds apart. Send only the current turn, newest 30 words.

You send the words of the current turn
The model scores gate, reactions, mood and wording
Your rules decide whether to speak
You play a pre-rendered cue, or stay quiet

Good to know:

Title: Time per call on one CPU thread
Short text: 5 ms
40 words: 12 ms
Title: Reported checks
Check | Result
Gate AUC, held-out corpus pauses | 0.733
Mood accuracy, written dev set | 86%
New sad sentences read as bad | 12 of 12
Echoes at 0.7, good ones fired | 14 of 14
  • Input: only the words of the current turn plus a few counters, with no audio.
  • Language: English.
  • Rules: the raw scores are not a finished policy, and example.py applies the first three of the card's rules.
  • Training: the repository contains weights and no training data. Teacher labels were produced partly by a locally run Qwen model and partly by OpenAI models.
  • License: mit
  • Cost to run: no API key or paid service named.
  • Data it reaches: it downloads files from Hugging Face and reads only the transcript text you give it.
  • Not for: replacing your assistant's reply once the user has clearly finished their turn.

On Hugging Face, 13 November 2026

  • Task: text classification
  • Library: onnxruntime
  • Downloads in the last 30 days: 114
  • Likes: 27
  • License: mit
  • Languages: en
  • Based on: jhu-clsp/ettin-encoder-32m
  • Tags: onnxruntime, onnx, backchannel, voice-assistant, conversational-ai, text-classification

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download KoljaB/backchannel-cue-32m

Then follow the usage in its model card. Nothing in this kit runs by itself.

Files
README.md  6 KB

1 file, 6 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

ProductDownloads, last 30 daysLikesParametersLicenseLast change
Backchannel Cue 32M This page11427—mit
Indic Multilingual Turn DetectorShares conversational-ai · onnx813494Mapache-2.0
Pipecat backchannel detectorShares backchannel · onnx017961Kbsd-2-clause
ZeroTTSShares onnxruntime · onnx8,09154—mit
RuView by ruvShares onnxruntime6937—mit
deberta-v3-base-prompt-injection-v2Shares text-classification · onnx476,298129184Mapache-2.0
Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

Searched

More from Mindket

See all from Mindket

DeepSeek-R1-GGUF

unsloth · Kit

GGUF copies of the 671B DeepSeek-R1 reasoning model, with 1.58-bit and 2-bit dynamic quants, for running it in llama.cpp on a local machine with enough memory.

New

Axion-1.0-35B-GGUF

prithivMLmods · Kit

Provides GGUF files of Axion-1.0-35B, a 35B mixture-of-experts model with about 3B active parameters aimed at scientific reasoning, information seeking and too…

New

HEART

Phips · Kit

Upscales low-resolution images with a super-resolution network that trains on one consumer GPU and exports to ONNX. For people who train or run image upscalers.

New

Similar in Developer

See all in Developer

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New