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

Uploaded Source

Built Distribution

deeprhythm-0.0.2-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deeprhythm-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 58b4db325395c18541b4f8907b0271a38469e6e9867c27e01bc539132c93876d
MD5 d602044567cb3bbcd873640be8b985a0
BLAKE2b-256 068a0cee31b5dd6b55795430f7ebc5a0187b6cd59e53c68bf7ec2f0e17e79604

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deeprhythm-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8b7e92d9e0cbfbd60397f2855881df073914187435c07ec139354cc1660688c1
MD5 529b1c8ee12f759fa880811098fba174
BLAKE2b-256 59874606cd5e0543ab8ff221c56d5979841a221cf1840c06a1594f76dc4270e5

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