Windflow wind detector

A small wind/non-wind classifier for local audiovisual effects. This repository contains only a logistic-regression head, stored as plain JSON. It requires Google's original YAMNet feature extractor; the YAMNet weights are not redistributed here. Google YAMNet itself was not fine-tuned.

Intended use

Noncommercial experimentation with wind-like environmental audio, such as triggering room fans. This is not a safety sensor or a validated detector for movies and games. A high score does not establish physical wind, direction or velocity.

Files and inference

  • wind_head.json: feature standardization parameters, logistic coefficients, intercept and recommended decision threshold.
  • provenance.json: source revisions and original YAMNet weight checksum.
  • evaluation.json: evaluation results and limitations.

Supply 1.5 seconds of finite mono 16 kHz audio to YAMNet. Average the returned 1024-dimensional embeddings over time, standardize with mean and scale, then compute sigmoid(z @ coef + intercept). Recommended threshold: 0.75. Scores have not been calibrated as probabilities on movie/game soundtracks.

Base weights: https://storage.googleapis.com/audioset/yamnet.h5

Expected SHA-256: 13c3308955bbfaef262f175ac9c40e47b134573a93984f009220dd7cc12a1744

Base source: https://github.com/tensorflow/models/tree/master/research/audioset/yamnet

The application bypasses inference for effectively silent audio. No pickle or executable model code is included in this repository.

Training and evaluation

Trained with ESC-50 folds 1โ€“3; hyperparameters and threshold selected on fold 4; fold 5 used for evaluation. Original Freesound source IDs crossing folds were purged from earlier splits. Embedding, class-score and combined-feature heads were compared on validation. The released head uses embeddings.

There are only eight independent wind recordings in the held-out fold. Audio windows from a recording are correlated. Field recordings do not represent dialogue/music/effects mixes; performance on movie and capture-card soundtracks remains unmeasured. The test fold was inspected during baseline development, so results are not a blind external benchmark. Possible upstream overlap between YAMNet's AudioSet training and ESC-50 is unknown. See evaluation.json for the complete limits and metrics.

Attribution and usage terms

This trained head is distributed for noncommercial use under CC BY-NC 3.0, reflecting its use of ESC-50. License: https://creativecommons.org/licenses/by-nc/3.0/

ESC-50 by Karol J. Piczak: https://github.com/karolpiczak/ESC-50 โ€” ESC: Dataset for Environmental Sound Classification, ACM Multimedia 2015. Preserve upstream per-recording attribution when using or distributing the dataset. This repository contains no recordings.

Google YAMNet and its source are separate upstream artifacts; the source is Apache-2.0 licensed. Credit the TensorFlow/YAMNet authors and retain their applicable terms when redistributing that component.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support