predicting_alarm_audibility

This Python code is derived from the research article "Evaluating and Predicting the Audibility of Acoustic Alarms in the Workplace Using Experimental Methods and Deep Learning" published in the journal Applied Acoustics. It provides a framework for predicting the audibility of acoustic alarms in noise, and includes scripts to reproduce the results

https://github.com/inrs-france/predicting_alarm_audibility

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.2%) to scientific vocabulary

Keywords

alarms audibility convolutional-neural-network dataset occupational-noise psychoacoustics
Last synced: 6 months ago · JSON representation

Repository

This Python code is derived from the research article "Evaluating and Predicting the Audibility of Acoustic Alarms in the Workplace Using Experimental Methods and Deep Learning" published in the journal Applied Acoustics. It provides a framework for predicting the audibility of acoustic alarms in noise, and includes scripts to reproduce the results

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
alarms audibility convolutional-neural-network dataset occupational-noise psychoacoustics
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Authors Codemeta

README.md

Predicting Alarm Audibility Using Deep Learning

This code is part of an academic publication, and complements the research paper:

F. Effa, J.-P. Arz, R. Serizel and N. Grimault. Evaluating and predicting the audibility of acoustic alarms in the workplace using experimental methods and deep learning, Applied Acoustics, Volume 219, 2024.

Citation

In case you use the code or dataset, please consider citing our paper as: ```bibtex @article{EFFA2024109955, title = {Evaluating and predicting the audibility of acoustic alarms in the workplace using experimental methods and deep learning}, journal = {Applied Acoustics}, volume = {219}, pages = {109955}, year = {2024}, issn = {0003-682X}, doi = {https://doi.org/10.1016/j.apacoust.2024.109955}, url = {https://www.sciencedirect.com/science/article/pii/S0003682X24001063}, author = {F. Effa and J.-P. Arz and R. Serizel and N. Grimault}, keywords = {Psychoacoustics, Alarms, Audibility, Occupational noise, Convolutional Neural Network, Dataset}, }

```

Dataset

A dataset has been collected for the purposes of the study. It is publicly accessible on Zenodo and has to be downloaded to run the programs contained in the present repository.  

DOI

How to run the code

1) Download the dataset. 2) Unzip data.zip, features.zip, and trained_models.zip under their corresponding sub-folders within the application/ folder. 3) Enter the application/ folder : cd application.

Human baseline performance

python compute_human_performance.py ```python

computehumanperformance.py

Development data - Majority Voting AUROC: 87.68 ± 1.71, F1: 87.70 ± 1.79 Evaluation data - Majority Voting AUROC: 84.53 ± 1.79, F1: 82.78 ± 2.82 Evaluation data - Average Psychometric Function AUROC: 97.01 ± 0.49, F1: 83.48 ± 2.93 ```

Model performance over 10 runs

python compute_trained_models_performance.py ```python

computetrainedmodels_performance.py

AUROC: 85.84 ± 0.75 F1: 76.03 ± 0.57 ```

Audibility criterion: effect on performance of the evaluation label binarization threshold

python binarization_threshold.py computes model and human baseline performance in terms of precision, recall and F1-score for evaluation label binarization thresholds varying between 0.5 and 1, similar to what was done in the paper.

PrecisionRecallF1-score

Continuous model output and human psychometric function

python continuous_output.py Computes the average human baseline psychometric curve and model continuous output values over all the evaluation clips.

Precision

Model training

python main_train.py provides an example of code that could be run to train models similarly to what was done in the paper.

Owner

  • Name: INRS
  • Login: INRS-France
  • Kind: organization
  • Email: github@inrs.fr
  • Location: France

Institut National de Recherche et de Sécurité pour la prévention des accidents du travail et des maladies professionnelles

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "type": "SoftwareSourceCode",
  "applicationCategory": "Acoustique",
  "auteur": [
    {
      "id": "_:author_1",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "INRS - Institut National de Recherche et de Scurit, Rue du Morvan, F-54500 Vanduvre-ls-Nancy, France"
      },
      "email": "francois.effa@gadz.org",
      "familyName": "EFFA",
      "givenName": "Franois"
    }
  ],
  "codeRepository": "https:/ /github.com/INRS-France/predicting_alarm_audibility",
  "contributor": [
    {
      "id": "_:contributor_1",
      "type": "Personne",
      "affiliation": {
        "type": "Organisme",
        "nom": "INRS, Institut National de Recherche et de Scurit, Rue du Morvan, F-54500 Vanduvre-ls-Nancy, France"
      },
      "email": "jean-pierre.arz@inrs.fr",
      "familyName": "ARZ",
      " gaveName": "Jean-Pierre"
    },
    {
      "id": "_:contributor_2",
      "type": "Personne",
      "affiliation": {
        "type": "Organisation",
        "name": "Universit de Lorraine , CNRS, Inria, Loria, Campus Scientifique, 615 Rue du Jardin-Botanique, F-54506 Vanduvre-ls-Nancy, France"
      },
      "email": "romain.serizel@loria.fr",
      "familyName": "Serizel",
      "givenName": "Romain"
    }
  ],
  "dateCreated": "2024-05-30",
  "datePublished": "2024-05-30",
  "description": "Ce code Python est driv de l'article de recherche \"Evaluating and Predicting the Audibility of Acoustic Alarms in the Workplace Using Experimental Methods and Deep Learning\" publi dans la revue Applied Acoustics. Il fournit un cadre pour prdire l'audibilit des alarmes acoustiques dans le bruit et inclut des scripts pour reproduire les rsultats.\n\n\"L'tude prsente galement une technique innovante utilisant un modle de rseau neuronal convolutionnel pour prdire l'audibilit des alarmes dans le bruit. Au-del des critres arbitraires gnriques, cette approche base sur les donnes exploite les connaissances issues d'exemples annots perceptuellement provenant de notre ensemble de donnes contribu. L'valuation des donnes exprimentales et une analyse plus approfondie des rsultats du modle dmontrent un alignement solide des prdictions du modle avec la perception humaine.\"",
  "identifier": "https://doi.org/10.1016/j.apacoust.2024.109955",
  "keywords": [
    "dataset",
    "convolutional-neural-network",
    "psychoacoustics",
    "alarms audibility",
    "occupational-noise"
  ],
  "license": "https://spdx.org/licenses/Clause BSD-3",
  "name": "Predicting Alarm Audibility",
  "programmingLanguage": "Python",
  "softwareRequirements": [
    "Python 3",
    "h5p 3.8.0",
    "librosa 0.10.2",
    "matplotlib 3.6.0",
    "numpy 1.23.5",
    "pandas 2.2.2",
    "scikit_learn 1.1.0",
    "scipy 1.13.1",
    "seaborn 0.13.2",
    "fichier son 0.12.1",
    "torch 2.2.0",
    "tqdm 4.66.2"
  ],
  "version": "1.0.0",
  "developmentStatus": "active",
  "issueTracker": "https://github.com/INRS-France/predicting_alarm_audibility/issues",
  "referencePublication": "https://doi.org/10.1016/j.apacoust.2024.109955"
}

GitHub Events

Total
  • Push event: 4
Last Year
  • Push event: 4

Dependencies

requirements.txt pypi
  • h5py ==3.8.0
  • librosa ==0.10.2
  • matplotlib ==3.6.0
  • numpy ==1.23.5
  • pandas ==2.2.2
  • scikit_learn ==1.1.0
  • scipy ==1.13.1
  • seaborn ==0.13.2
  • soundfile ==0.12.1
  • torch ==2.2.0
  • tqdm ==4.66.2