2 min readfrom Machine Learning

noisekit - CLI for generating realistic degraded speech datasets for ASR benchmarking [P]

Our take

Introducing noisekit, a command-line interface designed to generate realistic degraded speech datasets for automatic speech recognition (ASR) benchmarking. If you've struggled with unlabeled production audio for STT evaluation, noisekit provides a solution by applying degradation to clean datasets, mimicking real-world conditions. This enables accurate benchmarking across STT candidates, ensuring you understand how models perform in noisy environments, such as call centers. For further insights into enhancing your AI capabilities, check out our article, "What 1000+ Harness Experiments Taught Me About Self-Improving Agents."

In the rapidly evolving landscape of speech recognition technology, the ability to benchmark and evaluate speech-to-text (STT) systems against realistic conditions is paramount. Enter noisekit, a command-line interface designed to generate degraded speech datasets specifically for automatic speech recognition (ASR) benchmarking. This tool addresses a significant gap that has long plagued developers: the challenge of working with unlabeled production audio while relying on clean, studio-quality datasets like FLEURS or CommonVoice, which do not accurately reflect the noise and degradation encountered in real-world applications. In an era where AI and machine learning are becoming increasingly central to data management and analysis, tools like noisekit represent a much-needed innovation that aligns with the progressive vision for data handling.

One of the core issues with existing benchmarking practices is that they often neglect the actual conditions under which voice agents operate, such as call centers or phone-based interactions. Annotating production audio can be a tedious, expensive, and privacy-sensitive process, leading many teams to settle for evaluating STT candidates on clean datasets. This approach can result in costly missteps, as teams may find themselves ill-prepared for the complexities of real-world noise once they deploy their models in production. By allowing users to apply specific degradations that mimic these conditions—like ambient noise, reverb, and low bitrates—noisekit empowers developers to make informed decisions based on realistic performance metrics. This is not merely a technical improvement; it's a transformational shift in how we approach data management and evaluation in AI.

Furthermore, the accessibility of noisekit—highlighted by its MIT license and zero-install requirement—ensures that even smaller teams or those new to ASR can leverage its capabilities without significant resource investment. The inclusion of metadata scores such as PESQ, SNR, and NISQA alongside the generated datasets enhances the analytical possibilities, enabling teams to correlate word error rates (WER) with signal quality. This level of granularity in benchmarking is crucial for any organization seeking to optimize their STT solutions effectively. As we’ve seen in related discussions, such as What 1000+ Harness Experiments Taught Me About Self-Improving Agents, the ability to iterate and improve based on empirical data is vital for technological advancement.

Looking ahead, the impact of tools like noisekit extends beyond just speech recognition. As AI continues to permeate various sectors, including customer service and healthcare, the need for robust, realistic testing environments will only grow. The ability to generate synthetic data that closely mirrors real-world conditions will help companies avoid the pitfalls of deploying models that are inadequately vetted against the complexities of actual use cases. It raises an important question for the industry: how will we further refine our benchmarking processes to ensure that our models are not only effective in theory but also resilient in practice?

In conclusion, as we embrace innovations like noisekit, we must remain vigilant about how they can reshape our approach to data management and performance evaluation. This tool is not just an enhancement; it’s a catalyst for change in the ASR landscape, inviting developers to rethink their strategies and explore new possibilities in a future where AI and human interaction are increasingly intertwined.

If you've ever tried to pick an STT vendor for a phone-based voice agent or call center product, you've probably hit this wall: you have plenty of real production audio, but it's unlabeled, so you can't compute WER on it. And the annotated public datasets (FLEURS, CommonVoice, LibriSpeech) are clean studio recordings that have nothing to do with how STT models actually handle your G.711 encoded noisy phone calls.

Annotating production audio is slow, expensive, and usually a privacy headache. So most teams end up benchmarking on clean data, picking a vendor, then discovering in prod which one actually survives noise.

noisekit fills that gap. Take a clean annotated dataset, apply degradations that approximate your production conditions, end up with a noisy annotated corpus you can run WER on across every STT candidate.

uvx noisekit generate \ --dataset google/fleurs --config en_us --split test \ --samples 100 \ --output ./noisy-fleurs 

Feed ./noisy-fleurs through each STT candidate, normalize, and compute WER with the existing transcripts. The output is HuggingFace AudioFolder-compatible, so load_dataset("audiofolder", data_dir="./noisy-fleurs") works.

Presets cover the conditions that actually matter for voice products:

  • telecom: G.711 narrowband bandpass + 8-bit BitCrush + 16-32 kbps MP3 (sounds like a real phone call, not a synthetic low-pass filter)
  • noise: real ambient mixed at 5-15 dB SNR (auto-downloads a MUSAN noise-only subset, or bring your own --noise-dir matching your domain: call center, cafe, car, street)
  • reverb: pyroomacoustics far-field at 1-3 m mic distance
  • low_bitrate: wideband MP3 at 16-32 kbps
  • clipping: ADC / mic saturation
  • clean_reference: control / WER floor
  • compound chains stack realistically. noise_telecom = noisy room then phone codec, which is what an actual support call sounds like.

Each output gets PESQ, SNR and NISQA scores in metadata.jsonl alongside the original transcript, so you can correlate WER with measured signal quality after the fact.

Repo: https://github.com/karamouche/noisekit (MIT, uvx-runnable so zero install)

Genuinely curious to hear from people who've benchmarked STT in production: what degradation conditions am I missing?

submitted by /u/Karamouche
[link] [comments]

Read on the original site

Open the publisher's page for the full experience

View original article

Tagged with

#generative AI for data analysis#Excel alternatives for data analysis#real-time data collaboration#financial modeling with spreadsheets#natural language processing for spreadsheets#rows.com#real-time collaboration#large dataset processing#no-code spreadsheet solutions#big data management in spreadsheets#conversational data analysis#google sheets#row zero#cloud-based spreadsheet applications#intelligent data visualization#data visualization tools#enterprise data management#big data performance#data analysis tools#data cleaning solutions