https://github.com/descriptinc/audiotools
Object-oriented handling of audio data, with GPU-powered augmentations, and more.
https://github.com/descriptinc/audiotools
Last synced: 20 days ago
JSON representation
Object-oriented handling of audio data, with GPU-powered augmentations, and more.
- Host: GitHub
- URL: https://github.com/descriptinc/audiotools
- Owner: descriptinc
- License: mit
- Created: 2021-03-08T23:52:57.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-01T21:34:10.000Z (about 1 month ago)
- Last Synced: 2025-04-14T12:53:23.015Z (25 days ago)
- Language: Python
- Homepage: https://descriptinc.github.io/audiotools/
- Size: 12.8 MB
- Stars: 269
- Watchers: 28
- Forks: 51
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AudioTools
Object-oriented handling of audio signals, with fast augmentation routines, batching, padding, and more.
## Installation
```
pip install git+https://github.com/descriptinc/audiotools
```
OR
```bash
git clone https://github.com/descriptinc/audiotools
cd audiotools
pip install .
```## Documentation
For documentation, see [the docs](https://descriptinc.github.io/audiotools/).
### Deploying documentation
To build the documentation, do:
```bash
cd docs/
make html
open _build/html/index.html
```Once you're satisfied with your docs, push them to the gh-pages branch via
```bash
cd docs
bash publish_docs.sh
```## Quickstart
```python
import audiotools
from audiotools import AudioSignalsignal = AudioSignal("tests/audio/spk/f10_script4_produced.wav", offset=5, duration=5)
signal.play() # Play back the signal in your terminal using ffplaysignal.low_pass(8000) # Low-pass the signal
signal.play() # Play back the low-passed version of the signal
```For more, see the [documentation](##Documentation).
### Install hooks
First install the pre-commit util:
https://pre-commit.com/#install
pip install pre-commit # with pip
brew install pre-commit # on MacThen install the git hooks
pre-commit install
# check .pre-commit-config.yaml for details of hooksUpon `git commit`, the pre-commit hooks will be run automatically on the stage files (i.e. added by `git add`)
**N.B. By default, pre-commit checks only run on staged files**
If you need to run it on all files:
pre-commit run --all-files