No project description provided
Project description
ClipDetect
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | effab4753fb4b9aafef496d30cdd5e3f77657c941e3d82f32ff0441fce18d1d3 |
|
MD5 | 6e081c9a887b0f55a3317658aafffd16 |
|
BLAKE2b-256 | 7ece9c0fa41ab48fda6ebf2e8f7f177787c932941bff0bd0dbc31dea889ad983 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa9ead4a3e184a436e08cfdb45da36cf1b21a6cf686bdf6c502f64b50b1ceacb |
|
MD5 | 0d9fbd286ce183fdb5154e0b3dd33c58 |
|
BLAKE2b-256 | 255f677b6d1f12cb3fad63d610b58c729cdfa69367ae11278ae94a34948d1838 |