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.4.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

clipdetect-0.1.4-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clipdetect-0.1.4.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for clipdetect-0.1.4.tar.gz
Algorithm Hash digest
SHA256 effab4753fb4b9aafef496d30cdd5e3f77657c941e3d82f32ff0441fce18d1d3
MD5 6e081c9a887b0f55a3317658aafffd16
BLAKE2b-256 7ece9c0fa41ab48fda6ebf2e8f7f177787c932941bff0bd0dbc31dea889ad983

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clipdetect-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for clipdetect-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fa9ead4a3e184a436e08cfdb45da36cf1b21a6cf686bdf6c502f64b50b1ceacb
MD5 0d9fbd286ce183fdb5154e0b3dd33c58
BLAKE2b-256 255f677b6d1f12cb3fad63d610b58c729cdfa69367ae11278ae94a34948d1838

See more details on using hashes here.

Supported by

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