Skip to main content

No project description provided

Project description

ClipDetect

Build Status PyPI package license standard-readme compliant

Detect clipping in your wav files

Table of Contents

Background

This library is for detecting clipping in audio even if the audio has been normalized (ie does not actually produce the maximum possible value given the bit depth). I implemented this library from the pseudocode in this paper - please cite them if you use this.

Install

To use this package just run pip install clipdetect or poetry add clipdetect if you use poetry.

Usage

To detect a single file:

clipdetect path/to/file.wav

To detect all wav files in a folder:

clipdetect path/to/folder

Results for a folder will be written to csv format.

Export to TextGrid

The following will export a Praat TextGrid of the clipping sections

clipdetect path/to/file.wav --textgrid

You can also do it for a whole folder:

clipdetect path/to/folder --textgrid

Maintainers

@roedoejet.

Contributing

Feel free to dive in! Open an issue or submit PRs.

This repo follows the Contributor Covenant Code of Conduct.

Have a look at Contributing.md for help using our standardized formatting conventions and pre-commit hooks.

Citation

If you use this work in a project of yours and write about it, please feel free to link to this repo but also cite the authors of the algorithm using the following:

Hansen, John H. L., Allen Stauffer, and Wei Xia. “Nonlinear Waveform Distortion: Assessment and Detection of Clipping on Speech Data and Systems.” Speech Communication 134 (2021): 20–31. https://doi.org/10.1016/j.specom.2021.07.007.

Or in BibTeX:

@article{HANSEN202120,
title = {Nonlinear waveform distortion: Assessment and detection of clipping on speech data and systems},
journal = {Speech Communication},
volume = {134},
pages = {20-31},
year = {2021},
issn = {0167-6393},
doi = {https://doi.org/10.1016/j.specom.2021.07.007},
url = {https://www.sciencedirect.com/science/article/pii/S0167639321000832},
author = {John H.L. Hansen and Allen Stauffer and Wei Xia},
keywords = {Audio clipping, Speech quality assessment, Non-linear distortion, Speaker recognition},
abstract = {Speech, speaker, and language systems have traditionally relied on carefully collected speech material for training acoustic models. There is an enormous amount of freely accessible audio content. A major challenge, however, is that such data is not professionally recorded, and therefore may contain a wide diversity of background noise, nonlinear distortions, or other unknown environmental or technology-based contamination or mismatch. There is a crucial need for automatic analysis to screen such unknown datasets before acoustic model development training, or to perform input audio purity screening prior to classification. In this study, we propose a waveform based clipping detection algorithm for naturalistic audio streams and examine the impact of clipping at different severities on speech quality measurements and automatic speaker recognition systems. We use the TIMIT and NIST SRE08 corpora as case studies. The results show, as expected, that clipping introduces a nonlinear distortion into clean speech data, which reduces speech quality and performance for speaker recognition. We also investigate what degree of clipping can be present to sustain effective speech system performance. The proposed detection system, which will be released, could contribute to massive new audio collections for speech and language technology development (e.g. Google Audioset (Gemmeke et al., 2017), CRSS-UTDallas Apollo Fearless-Steps (Yu et al., 2014) (19,000 h naturalistic audio from NASA Apollo missions)).}
}

License

MIT. See LICENSE for the Copyright and license statements.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipdetect-0.1.5.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clipdetect-0.1.5-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file clipdetect-0.1.5.tar.gz.

File metadata

  • Download URL: clipdetect-0.1.5.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.10.20 Darwin/23.2.0

File hashes

Hashes for clipdetect-0.1.5.tar.gz
Algorithm Hash digest
SHA256 352f429369714a4d50f8ddd75d49eee2fb8aeefe251d2344d8eacacc4946afeb
MD5 e41ac1fc73229ccfd0de60f630667007
BLAKE2b-256 b29ea06d0b4bfbe2bc84e1b86ac786aa694ecdba45b73c4019f9ae95648d16be

See more details on using hashes here.

File details

Details for the file clipdetect-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: clipdetect-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.10.20 Darwin/23.2.0

File hashes

Hashes for clipdetect-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 41bd9e459a4bebc101543686dffbdde458efaf939721ee47288aa3e1cd76e085
MD5 4606ee40c5c713c11524a30606694076
BLAKE2b-256 bff9d45b3ffc721af8648d2222b40eb20abe4bc478f82c4f4ee2a1406a9bcefc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page