A fast, accurate Tempo Predictor
Project description
DeepRhythm: High-Speed Tempo Prediction CNN
Introduction
DeepRhythm is a Convolutional Neural Network (CNN) designed for rapid, precise tempo prediction, specifically on modern music.
Audio is batch-processed using a vectorized HCQM, drastically reducing computation time by avoiding the common bottlenecks encountered in feature extraction.
Benchmarks
Method | Acc1 (%) | Acc2 (%) | Avg. Time (s) | Total Time (s) |
---|---|---|---|---|
Essentia (multifeature) | 79.15 | 94.19 | 2.78 | 1635.48 |
Essentia (Percival) | 80.51 | 94.87 | 1.46 | 851.91 |
Essentia (degara) | 77.26 | 91.97 | 1.40 | 820.85 |
Librosa | 52.82 | 63.93 | 0.51 | 299.68 |
DeepRhythm (cpu) | 90.77 | 96.75 | 0.127 | 74.43 |
DeepRhythm (cuda) | 90.77 | 96.75 | 0.0235 | 13.74 |
- Test done on 586 songs, mostly Hip Hop, Electronic, Pop, and Rock
- Acc1 = Prediction within +/- 2% of actual bpm
- Acc2 = Prediction within +/- 2% of actual bpm or a multiple (e.g. 120 ~= 60)
Installation
To install DeepRhythm, ensure you have Python and pip installed. Then run:
git clone https://github.com/Mitchell57/deeprhythm.git
cd deeprhythm
pip install -r requirements.txt
Usage
To predict the tempo of a song with DeepRhythm:
from deeprhythm import DeepRhythmPredictor
predictor = DeepRhythmPredictor()
tempo = model.predict('path/to/song.mp3')
print(f"Predicted Tempo: {tempo} BPM")
References
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
deeprhythm-0.0.3.tar.gz
(5.1 MB
view details)
Built Distribution
File details
Details for the file deeprhythm-0.0.3.tar.gz
.
File metadata
- Download URL: deeprhythm-0.0.3.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0937b7c6867b75478e9abe58c898ed931ba227f78f620ee052ba8c0832241a1 |
|
MD5 | f30ea431eba310df14c7f1f67807bfbb |
|
BLAKE2b-256 | 3cc80674fc669558b91cda19aee2fb56036dc8228e9207477210a9856f59a8b7 |
File details
Details for the file deeprhythm-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: deeprhythm-0.0.3-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ee35b4aac38bca98db20cc8d66fc3a6e2d3c79aeb7a6782cc1c69a3e4863b6 |
|
MD5 | 17a87e66bb88c757240f890121c34d7b |
|
BLAKE2b-256 | 9539c9f60e8870fc32c72f4ff306e6b27f4f9cee617a8cac1d072d8cffe6a823 |