All models
AUDIO / VOICE-LIKE SIGNAL DETECTION

Hush

Listen for a little signal.

A minimal audio research baseline that distinguishes synthetic voice-like signals from noise and silence.

Artifact size341 B
RunsLocally
Output classes2
Release stageResearch
01 / WHAT IT DOES

One focused task.
A closer look.

Hush compares five simple audio features to distinguish generated harmonic, voice-like signals from generated noise or near-silence. It demonstrates a local audio pipeline. It is not a trained human-speech detector.

Voice-likeOther

Research v0.1.0 · A statistical classifier, not a generative foundation model.

  1. 01

    Prepare a short window

    Decode audio to normalized mono PCM and resample to 8 kHz before extracting features.

  2. 02

    Measure the signal

    Compute log RMS, zero-crossing rate, crest factor, amplitude modulation, and lag correlation.

  3. 03

    Compare distributions

    Score the features against each class’s learned means and variances.

02 / TRY IT HERE

Get a feel for Hush.

Actual model inference, inside your browser.
No input is uploaded.

Using a generated 0.3-second sample.

MODEL OUTPUT

Ready when
you are.

Scores are relative model outputs, not calibrated confidence.

Know the boundaries. Trained and tested on synthetic signals, not recorded human speech. Not production voice activity detection; do not rely on it for recording or accessibility decisions.
03 / IDEAS TO EXPLORE

What could you make?

Starting points for prototypes.
Validate the model for your use case.

01

Study a lightweight audio feature pipeline.

Build a visual teaching tool for exploring how audio features respond to generated signals.

Build with Hush
02

Prototype an audio activity indicator.

Prototype the layout of an activity indicator using synthetic inputs.

Build with Hush
03

Compare harmonic signals with noise.

Compare harmonic signals, noise, and silence before choosing a real speech-detection model.

Build with Hush
04 / DATA, WITH CONTEXT

What went into Hush.

Read the model card

Where the examples came from

Procedurally generated 0.3-second signals at 8 kHz. Voice-like examples combine harmonics, amplitude modulation, and light noise. Other examples alternate noise and near-silence. There are no microphones, speakers, recorded voices, or speech datasets in training.

How the split works

Each class uses generator seeds 1000–1119 for 120 training examples and 9000–9029 for 30 held-out examples. The generator is the same for both splits; only its random seeds change.

No third-party model weights, external datasets, or user inputs were used to train this version. Training records are kept private. We publish weights, model cards, aggregate results, and the limitations of each release.

TRAINING SUMMARY

Gaussian naïve Bayes · five engineered audio features

Weights you can inspect.

Each release includes its model card, measured artifact size, and SHA-256 checksum. Training data and working checkpoints stay private.

Download model card
05 / GETTING STARTED

Build with Hush.

Full SDK guide

Use the local workspace packages today. These packages have not been published to npm or Maven Central.

Node.js / TypeScript

Run from the repository root, then import the model from a workspace example.

bun install
bun run sdk:build

Kotlin / JVM

With JDK 17+ and Gradle 8.10+, publish the modules to your local Maven repository.

gradle test
gradle publishToMavenLocal
Local Gradle dependency
repositories {
    mavenLocal()
    mavenCentral()
}
dependencies {
    implementation("dev.embermote:hush:0.1.0")
}

Kotlin/JVM tests pass. Android device validation, Swift, and native Core ML/LiteRT adapters are not available.

import { createModel } from '@embermote/hush';
import { audioFeatures } from '@embermote/core';

const model = createModel();
// Generated 0.3-second tone at 8 kHz.
const pcm = Float32Array.from({ length: 2400 },
  (_, i) => 0.3 * Math.sin(2 * Math.PI * 180 * i / 8000));
const input = audioFeatures(pcm, 8000);

const result = model.predict(input);
console.log(result.label);
// Scores are not calibrated confidence.
Local artifact → local inferenceNo API key.
06 / SPECIFICATIONS

Specs.

Model
Gaussian naïve Bayes · five engineered audio features
Input
Five features from mono PCM at 8,000 Hz. Use 2,400-sample windows to match training.
Output
A label, ranked scores, and a supported flag. Scores are uncalibrated; supported is not a guarantee that the input is in distribution.
Classes
Voice-like, Other
On-device size
341 B · downloadable JSON weights · v0.1.0
Size includes
Labels, vocabulary or numeric statistics, and learned weights. Excludes SDK code, application assets, download compression, and runtime memory.
Platforms
Browser and Node.js via TypeScript runtime; Kotlin/JVM via bundled resources.
License
MIT for the original code and research artifacts.
Status
Research baseline · not published to package registries
SHA-256
0b797537dcb4e3c016f6ebae2bc64898ccd727bb042b999c078b45ef702913c3
07 / GOOD QUESTIONS

A little more clarity.

Can I use Hush as voice activity detection?

Not as a validated speech detector. A perfect result on this synthetic test says nothing about actual conversations, music, microphones, or background noise.

Does my input leave the device?

Inference runs locally. The website and artifact download make ordinary network requests, but the demos do not upload your input. Bundled SDK inference does not need an inference server.

Why is the model so small?

Hush stores a compact statistical representation for a narrow task. Its 341 B artifact is not equivalent to a neural model of a different size, and the file size is not its total runtime memory.

Is the model ready to ship in my product?

This is a research baseline. Independent evaluation, task-specific acceptance criteria, real-device measurements, and release packaging remain necessary before production use.

KEEP EXPLORING

The open notebook.

Inspect the pieces behind this model.