Skip to main content

A practically universal music pre-processor

Project description

pumpp

GitHub license CI codecov Documentation Status

practically universal music pre-processor

pumpp up the jams

The goal of this package is to make it easy to convert pairs of (audio, jams) into data that can be easily consumed by statistical algorithms. Some desired features:

  • Converting tags to sparse encoding vectors
  • Sampling (start, end, label) to frame-level annotations at a specific frame rate
  • Extracting input features (eg, Mel spectra or CQT) from audio
  • Converting between annotation spaces for a given task

Example usage

>>> import jams
>>> import pumpp

>>> audio_f = '/path/to/audio/myfile.ogg'
>>> jams_f = '/path/to/annotations/myfile.jamz'

>>> # Set up sampling and frame rate parameters
>>> sr, hop_length = 44100, 512

>>> # Create a feature extraction object
>>> p_cqt = pumpp.feature.CQT(name='cqt', sr=sr, hop_length=hop_length)

>>> # Create some annotation extractors
>>> p_beat = pumpp.task.BeatTransformer(sr=sr, hop_length=hop_length)
>>> p_chord = pumpp.task.SimpleChordTransformer(sr=sr, hop_length=hop_length)

>>> # Collect the operators in a pump
>>> pump = pumpp.Pump(p_cqt, p_beat, p_chord)

>>> # Apply the extractors to generate training data
>>> data = pump(audio_f=audio_f, jam=jams_fjams_f)

>>> # Or test data
>>> test_data = pump(audio_f='/my/test/audio.ogg')

>>> # Or in-memory
>>> y, sr = librosa.load(audio_f)
>>> test_data = pump(y=y, sr=sr)

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

pumpp-0.6.0.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

pumpp-0.6.0-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file pumpp-0.6.0.tar.gz.

File metadata

  • Download URL: pumpp-0.6.0.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pumpp-0.6.0.tar.gz
Algorithm Hash digest
SHA256 dd78bd2e239d35f23bfa16d11417a909ca71dd9591446bead67bd02e39c87892
MD5 9e3a0c667df010a4dd5941f1cb09f3ed
BLAKE2b-256 fef887684d69b15e46c62e38546cc63a8dc9968fbf71b779b694b423051ed98b

See more details on using hashes here.

File details

Details for the file pumpp-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pumpp-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 48.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pumpp-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2b3a896e2ff586656b970141e35af17f3a406ac954c251b9b92ee9e7e5aee23
MD5 87b0bb7bb796eea19dc142a73ef6885d
BLAKE2b-256 64a86361605db773aab683fae0824ef567f469143d51926edfd39aff3cd98298

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