Skip to main content

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


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

Uploaded Source

Built Distribution

deeprhythm-0.0.4-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file deeprhythm-0.0.4.tar.gz.

File metadata

  • Download URL: deeprhythm-0.0.4.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

Hashes for deeprhythm-0.0.4.tar.gz
Algorithm Hash digest
SHA256 9d25ac729fc1510d47d15f48dbbb750dc8d46d5bc242772764dcf3e59c5f6a5c
MD5 b6ed858785d7a8d758a1d56899e8bf45
BLAKE2b-256 d1805dcb8c5c0f1a674147f691b598b509470bb13c2b16172ac6e94f1ab9efa1

See more details on using hashes here.

File details

Details for the file deeprhythm-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: deeprhythm-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for deeprhythm-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 51b5d310dd5a88cae9002e718344a079ba821e7248aae5c27726f4e8f83f1553
MD5 663352baca164b3e7a2bbcb4f596225a
BLAKE2b-256 bccf138ac8cecba7923ccc65a8d36e1b46f0068eecd657567e07ac14e12b4b03

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