{"id":15359319,"url":"https://github.com/bmcfee/pumpp","last_synced_at":"2025-04-14T07:08:34.557Z","repository":{"id":9546206,"uuid":"62500237","full_name":"bmcfee/pumpp","owner":"bmcfee","description":"practically universal music pre-processor","archived":false,"fork":false,"pushed_at":"2022-04-19T21:06:45.000Z","size":340,"stargazers_count":61,"open_issues_count":9,"forks_count":11,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-14T07:08:10.732Z","etag":null,"topics":["machine-learning","music","nyucds","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bmcfee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-03T14:29:43.000Z","updated_at":"2025-01-09T09:59:59.000Z","dependencies_parsed_at":"2022-08-07T05:01:06.987Z","dependency_job_id":null,"html_url":"https://github.com/bmcfee/pumpp","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmcfee%2Fpumpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmcfee%2Fpumpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmcfee%2Fpumpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmcfee%2Fpumpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmcfee","download_url":"https://codeload.github.com/bmcfee/pumpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837281,"owners_count":21169374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","music","nyucds","python"],"created_at":"2024-10-01T12:44:28.974Z","updated_at":"2025-04-14T07:08:34.520Z","avatar_url":"https://github.com/bmcfee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pumpp\n[![GitHub license](https://img.shields.io/badge/license-ISC-blue.svg)](https://raw.githubusercontent.com/bmcfee/pumpp/master/LICENSE)\n[![CI](https://github.com/bmcfee/pumpp/actions/workflows/ci.yml/badge.svg)](https://github.com/bmcfee/pumpp/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/bmcfee/pumpp/branch/main/graph/badge.svg?token=i7YxIwweBQ)](https://codecov.io/gh/bmcfee/pumpp)\n[![Documentation Status](http://readthedocs.org/projects/pumpp/badge/?version=latest)](http://pumpp.readthedocs.io/en/latest/?badge=latest)\n\n\n\npractically universal music pre-processor\n\n### pumpp up the jams\n\nThe goal of this package is to make it easy to convert pairs of `(audio, jams)` into data that can\nbe easily consumed by statistical algorithms.  Some desired features:\n\n- Converting tags to sparse encoding vectors\n- Sampling `(start, end, label)` to frame-level annotations at a specific frame rate\n- Extracting input features (eg, Mel spectra or CQT) from audio\n- Converting between annotation spaces for a given task\n\n## Example usage\n\n```python\n\n\u003e\u003e\u003e import jams\n\u003e\u003e\u003e import pumpp\n\n\u003e\u003e\u003e audio_f = '/path/to/audio/myfile.ogg'\n\u003e\u003e\u003e jams_f = '/path/to/annotations/myfile.jamz'\n\n\u003e\u003e\u003e # Set up sampling and frame rate parameters\n\u003e\u003e\u003e sr, hop_length = 44100, 512\n\n\u003e\u003e\u003e # Create a feature extraction object\n\u003e\u003e\u003e p_cqt = pumpp.feature.CQT(name='cqt', sr=sr, hop_length=hop_length)\n\n\u003e\u003e\u003e # Create some annotation extractors\n\u003e\u003e\u003e p_beat = pumpp.task.BeatTransformer(sr=sr, hop_length=hop_length)\n\u003e\u003e\u003e p_chord = pumpp.task.SimpleChordTransformer(sr=sr, hop_length=hop_length)\n\n\u003e\u003e\u003e # Collect the operators in a pump\n\u003e\u003e\u003e pump = pumpp.Pump(p_cqt, p_beat, p_chord)\n\n\u003e\u003e\u003e # Apply the extractors to generate training data\n\u003e\u003e\u003e data = pump(audio_f=audio_f, jam=jams_fjams_f)\n\n\u003e\u003e\u003e # Or test data\n\u003e\u003e\u003e test_data = pump(audio_f='/my/test/audio.ogg')\n\n\u003e\u003e\u003e # Or in-memory\n\u003e\u003e\u003e y, sr = librosa.load(audio_f)\n\u003e\u003e\u003e test_data = pump(y=y, sr=sr)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmcfee%2Fpumpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmcfee%2Fpumpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmcfee%2Fpumpp/lists"}