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

Uploaded Source

Built Distribution

deeprhythm-0.0.1-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deeprhythm-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 16bc3d7d14913876c4037e45f2fee38093653a6a79ec1dbde7c02d1126f817ad
MD5 97d2cb9ba9028b972c968a5e7e01097e
BLAKE2b-256 7b6d65a2357d535d58e103502812646bcf9125aa102adeb2b2a5263a4e42b21e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deeprhythm-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a1444bc9ea64b8e709583607704b38cd62bf6de3e84b5f900dc9d4045cc98b1
MD5 cdf616987c5d6c41764bf046379053b3
BLAKE2b-256 32df22086cd53fed8104975ef23da4d483d365aff0bc68a6cdf9bafe14c44496

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