RE-USE browser distribution for Reco Gecko
Browser inference assets derived from NVIDIA's RE-USE speech enhancement model. The trained weights are unchanged. This is an inference port and ONNX export, not a newly trained or fine-tuned model. It is an experimental browser deployment.
Upstream: NVIDIA-NemotronLabs-RE-USE,
revision 31f82f2efad1095034492f236e8dac9239ba713b.
Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. Model materials use OpenMDW-1.1;
see LICENSE. ONNX Runtime 1.31.1 uses the MIT license; see
ONNX-RUNTIME-LICENSE.txt and
ONNX-RUNTIME-NOTICES.txt.
Contents
| Asset | Purpose |
|---|---|
model.safetensors |
Original FP32 parameters (9,607,747 parameters; 38.6 MB) |
encoder-split.onnx, decoder-split.onnx |
WebGPU encoder/decoder graphs (5.1 MB combined) |
reuse.onnx |
Complete CPU/WASM ONNX graph (40.3 MB) |
runtime/ort-wasm-simd-threaded.asyncify.wasm |
ONNX Runtime 1.31.1 binary (28.7 MB) |
browser/ |
Browser worker, spectral transforms, WGSL model kernels and scheduler |
checksums.json |
SHA-256 and byte length of every large binary |
The GPU path uses ONNX encoder/decoder graphs plus custom WGSL kernels for the sequence blocks. The CPU path runs the complete ONNX graph. This avoids requiring CUDA or an NVIDIA GPU. Hardware/browser support and speed vary; WebGPU and WASM SIMD are required by their respective paths. Apple Silicon has not been validated on physical hardware for this release.
Both paths use mono 16 kHz audio, a 640-point periodic Hann STFT, 80-sample hop, reflected centering and log1p magnitude. Reconstructed frames with mostly nonpositive predicted magnitudes are blanked to suppress reconstruction sweeps, matching this browser implementation's tested output. This is not Doppler repair.
Long takes use an 8-second stride, one second of context on either side and 0.25 seconds of blending on either side of a boundary (maximum 10-second input window). Shorter takes run as a whole. The weights are FP32, without quantization. First-use backend downloads including the runtime are about 72.5 MB (GPU) or 69.1 MB (CPU). A fallback from GPU to CPU can require both sets of model assets.
Using the browser worker
Serve browser/ on your HTTPS origin as /speech-cleanup/v1/. Create its
release.json with repo: "AnWoj/recogecko-reuse-web", a pinned Hugging Face
commit as revision, and the contents of checksums.json as assets.
The app distribution supplies this pinned manifest. Serve with
Cross-Origin-Opener-Policy: same-origin and
Cross-Origin-Embedder-Policy: require-corp for CPU multithreading.
const worker = new Worker('/speech-cleanup/v1/worker.js', { type: 'module' });
worker.onmessage = ({ data }) => {
if (data.type === 'ready') {
// samples: a Float32Array of mono 16 kHz PCM, finite samples.
worker.postMessage({ type: 'process', samples }, [samples.buffer]);
}
if (data.type === 'done') {
console.log(data.audio, data.inferenceSeconds);
worker.terminate();
}
if (data.type === 'error') {
console.error(data.message);
worker.terminate();
}
};
worker.postMessage({ type: 'init', backend: 'gpu' }); // Or 'cpu'
The caller must handle progress, cancellation, resampling, and GPU fallback by starting a fresh CPU worker. Never silently substitute unprocessed audio after a failed cleanup. The worker processes sequential requests, not concurrent takes. Model downloads are verified and cached through the browser Cache API when possible. Audio is processed locally and is not sent to Hugging Face.
Intended use and limitations
Intended for optional microphone speech cleanup after recording. Process full takes before timeline cuts to preserve context. Preserve system audio separately. The 16 kHz path limits output bandwidth to 8 kHz; it is intended for speech, not music or transparent full-band audio restoration. Enhancement can introduce artifacts and can retain other speakers. It is not target-speaker extraction.
Evaluate with your own recordings, inspect spectra and listen to the outputs. Original recordings should remain available for recovery and comparison.
Model tree for AnWoj/recogecko-reuse-web
Base model
nvidia/NVIDIA-NemotronLabs-RE-USE