Downloads · 30 days
0
cstr/aecmos-onnx
aecmos-onnx is a audio classification model from cstr. Use it for the audio classification task on the model card, and read the license before you ship it in a product. It is set up for onnx. The card lists the license as mit.
AECMOS is a neural, non-intrusive (no clean reference needed) speech-quality estimator for acoustic echo cancellation. Given the three signals of an AEC scenario — the far-end loopback (lpb), the mic capture, and the…
Downloads · 30 days
0
Access
Public
Updated Aug 2, 2026
Repo size
3.9 MB
Likes
0
Public
Click a slice to open those files.
.onnx3.9 MB · 100%
From the Hugging Face model README
AECMOS is a neural, non-intrusive (no clean reference needed) speech-quality
estimator for acoustic echo cancellation. Given the three signals of an AEC
scenario — the far-end loopback (lpb), the mic capture, and the AEC's
enhanced output (enh) — it predicts two mean-opinion-score values:
This repository re-hosts the pretrained ONNX weights, unmodified, so they can be pulled programmatically (e.g. from a pure-Dart runtime) instead of cloning the full challenge repo.
These models are from Microsoft's AEC-Challenge repository
(AECMOS/AECMOS_local): https://github.com/microsoft/AEC-Challenge. They are
released there under the MIT license (Copyright © Microsoft Corporation), and
are re-hosted here unmodified under the same MIT license for convenience.
Attribution and the AECMOS method belong to the original authors; see the
AEC-Challenge repo and the AECMOS paper (AECMOS: A speech quality assessment
metric for acoustic echo cancellation, ICASSP 2022) for details and citation.
If you use these models, please cite the original AECMOS work and Microsoft's AEC-Challenge, not this mirror.
Each file's Microsoft "run id" is in its name; the scorer selects its configuration from that id.
| file | run id | sampling rate | STFT n_fft | GRU hidden | scenario marker |
|---|---|---|---|---|---|
aecmos_1663915512.onnx | 1663915512 | 16 kHz | 513 | [4, 1, 64] | yes |
aecmos_1668423760.onnx | 1668423760 | 48 kHz | 1537 | [4, 1, 96] | yes |
Not included: run id
1663829550(16 kHz, no scenario marker). It is available from the upstream AEC-Challenge repo; this mirror only carries the two files above.
Inputs are the three signals as mono PCM scaled to [-1, 1); the front-end is a
librosa-parity log-mel spectrogram (160 mel bands, odd n_fft, periodic Hann,
Slaney mel filterbank, power_to_db with ref=max/top_db=80, then (x+40)/40
normalization), stacked to a [1, 3, frames, 160] tensor with the GRU state
zeroed.
These run on the pure-Dart inference engine
onnx_runtime_dart (conv +
max-pool + bidirectional GRU, matched to the Python reference to ~1e-6), so
scoring works on every target including web/WASM.
// See onnx_runtime_dart/example/aecmos/ for AecmosScorer + the mel front-end.
final scorer = AecmosScorer('aecmos_1663915512.onnx');
final (:echoMos, :otherMos) = scorer.score('dt', lpb, mic, enh); // st | nst | dt
The CometBeat music app ships a headless CLI wrapper for AEC-quality evaluation:
# Drop a model into the model cache, then score a scenario (headerless PCM16 mono):
mkdir -p ~/.cache/onnx_runtime_dart_models
huggingface-cli download cstr/aecmos-onnx aecmos_1663915512.onnx \
--local-dir ~/.cache/onnx_runtime_dart_models
dart run bin/aecmos.dart ~/.cache/onnx_runtime_dart_models/aecmos_1663915512.onnx \
lpb.raw mic.raw enh.raw dt
st = far-end single-talk, nst = near-end single-talk, dt = double-talk.
from huggingface_hub import hf_hub_download
path = hf_hub_download("cstr/aecmos-onnx", "aecmos_1663915512.onnx")
mit. This repository redistributes under the same terms; it grants no rights the upstream licence does not.