Skip to content
forked from bmcfee/pumpp

practically universal music pre-processor

License

Notifications You must be signed in to change notification settings

keunwoochoi/pumpp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pumpp

GitHub license Build Status Coverage Status 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 sampling rate
  • Extracting first-level features (eg, Mel spectra or CQT) from audio
  • Aligning and storing the results in a simple data structure (npz, hdf5)
  • Converting between annotation spaces for a given task
  • Helper variables for semi-supervised learning

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.ConstantQ(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)

>>> # Apply the extractors
>>> data = pumpp.apply(audio_f, jams_f, p_cqt, p_beat, b_chord)

About

practically universal music pre-processor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%