{"id":19293493,"url":"https://github.com/voschezang/drum-style-transfer","last_synced_at":"2026-05-12T12:34:32.788Z","repository":{"id":134353389,"uuid":"128638494","full_name":"voschezang/drum-style-transfer","owner":"voschezang","description":"Automatically transfer the style of MIDI drum files using a Variational Autoencoder","archived":false,"fork":false,"pushed_at":"2021-06-19T04:45:04.000Z","size":121649,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-05T20:41:37.930Z","etag":null,"topics":["style-transfer","vae"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voschezang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-08T12:23:46.000Z","updated_at":"2021-06-19T04:45:08.000Z","dependencies_parsed_at":"2023-04-02T12:04:26.504Z","dependency_job_id":null,"html_url":"https://github.com/voschezang/drum-style-transfer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voschezang%2Fdrum-style-transfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voschezang%2Fdrum-style-transfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voschezang%2Fdrum-style-transfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voschezang%2Fdrum-style-transfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voschezang","download_url":"https://codeload.github.com/voschezang/drum-style-transfer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240396834,"owners_count":19794736,"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":["style-transfer","vae"],"created_at":"2024-11-09T22:35:13.856Z","updated_at":"2026-05-12T12:34:27.769Z","avatar_url":"https://github.com/voschezang.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drum style transfer\n\nThis repository is part of this [research paper](https://link.springer.com/chapter/10.1007%2F978-3-030-31978-6_10) and revolves around style transfer of MIDI drum patterns.\nThe main features are:\n- Training a model on an exsiting dataset (see links below)\n- Use a model to generate new drum patterns\n- Analyze the similarity of groups of patterns\n\nThis not meant as a standalone application but with a bit of tweaking you should be able to use the code to train your own models.\n\nListen to `sample03.wav` and `sample12.wav` to get an impression for the type music that can be generated. \nThese patterns were produced by decoding a random walk through the 10-dimensional latent space.\n\n\n\u003chr/\u003e\n\nList of datasets datasets [link](https://github.com/midi-ld/machine-readable-datasets).\n\nDirect links\n - Lakh MIDI dataset, partly matched to the Million Song Dataset.\n - [ \"The largest midi collection on the internet\" ](https://www.reddit.com/r/WeAreTheMusicMakers/comments/3anwu8/the_drum_percussion_midi_archive_800k/)\n\nThis project was inspired by [Magenta's MusicVAE](https://magenta.tensorflow.org/music-vae). Here is a [demo](https://experiments.withgoogle.com/ai/beat-blender/view/) of an application based on this network.\n\n\n## Setup\n\nClone repo and install dependencies (use `sudo` on linux).\n```\ngit clone https://github.com/voschezang/drum-style-transfer\ncd drum-style-transfer\nmake deps\n```\n\nMake sure that 'data_format' your keras config file (`~/.keras/keras.json`) is set to 'channels_last'. Otherwise it should be changed manually in every script/notebook\n\n## Usage\n\nStart jupyter. This should open `http://localhost:8888/` in your default webbrowser.\n```\nmake start\n```\nThere are a number of notebooks. These show how the functions (e.g. in `src/models.py`) can be used.\nDepending on your usecase you'll have to look at different notebooks.\n\nThe folder `ableton` contains an [Ableton](https://www.ableton.com/en/) project that can be used to synthesize MIDI files (i.e. generate audiofiles). The project may display some errors about missing (fx-)plugins but these can be ingored.\n\n\u003cbr/\u003e\n\u003chr/\u003e\n\n## About\n\nThe project uses [mypy](https://github.com/python/mypy) type definitions _(e.g. f(x:int)-\u003e int)_. However, due to issues with unsupported (external) modules, type checking is not implemented. Types are to be used solely for documentation purposes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoschezang%2Fdrum-style-transfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoschezang%2Fdrum-style-transfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoschezang%2Fdrum-style-transfer/lists"}