{"id":22866845,"url":"https://github.com/insomnimus/drum-mapper","last_synced_at":"2025-10-30T14:20:16.353Z","repository":{"id":188346849,"uuid":"678568168","full_name":"insomnimus/drum-mapper","owner":"insomnimus","description":"A VST3/Clap plugin for remapping drum tracks for popular libraries","archived":false,"fork":false,"pushed_at":"2025-03-16T20:06:39.000Z","size":154,"stargazers_count":23,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T18:22:31.406Z","etag":null,"topics":["audio-plugin","clap","drums","midi","plugin","rust","vst3"],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/insomnimus.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-08-14T21:25:40.000Z","updated_at":"2025-04-20T22:26:32.000Z","dependencies_parsed_at":"2024-03-24T16:29:49.811Z","dependency_job_id":"c096e192-fc30-44c0-aa6f-6eaecaf3b9e2","html_url":"https://github.com/insomnimus/drum-mapper","commit_stats":null,"previous_names":["insomnimus/drum-mapper"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/insomnimus/drum-mapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fdrum-mapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fdrum-mapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fdrum-mapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fdrum-mapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/insomnimus","download_url":"https://codeload.github.com/insomnimus/drum-mapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fdrum-mapper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260133714,"owners_count":22963776,"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":["audio-plugin","clap","drums","midi","plugin","rust","vst3"],"created_at":"2024-12-13T12:17:40.386Z","updated_at":"2025-10-30T14:20:11.274Z","avatar_url":"https://github.com/insomnimus.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drum-Mapper\nThis plugin and command line tool helps you remap MIDI drum tracks across popular drum sample libraries.\n\nSimply insert it in your FX chain, tweak the parameters and you're done.\n\n## Included Libraries\nTrademark and copyright notice: These are 3rd party libraries. This project and it's authors are not associated with the respective companies nor are endorsed by them.\n\n- Addictive Drums 2\n- EzDrummer 2\n- EzDrummer 3\n- SSD 5\n- Superior Drummer 3\n- Ugritone Drums\n- Getgood Drums - One Kit Wonder: Architects\n\nYou can embed your own mappings into the plugin/tool; instructions are given below.\n\n## Installation\n1. Download the archive per your operating system from [the releases page](https://github.com/insomnimus/drum-mapper/releases).\n2. Extract the archive to some directory. It will contain 3 files/folders:\n\t- `drum-mapper` (`drum-mapper.exe` on windows): This is the command line tool. You can move it anywhere you'd like.\n\t- `Drum Mapper.vst3`: This is a directory and it's meant to be treated as a whole per VST3 specification. Move this directory into somewhere in your VST plugin path.\n\t- `Drum Mapper.clap`: This is a File on Linux and Windows, a directory on MacOS. Move it whole into your Clap plugin path.\n3. Rescan your plugins on your DAW. The plugins will appear under the vendor \"Insomnia\".\n\n## Building From Source\nRequirements:\n- An up to date rust toolchain.\n\n### Building the Plugin (VST3 and Clap)\nTo build, you can run the build script on Linux/MacOS:\n\n`./build.sh --release`\n\nOr manually type:\n\n`cargo run -q --bin bundler -- bundle drum-mapper --release`\n\nThe plugins will be written to `target/bundled`.\n\n#### Tips\n1. If you don't care about the plugin's GUI, you can simply disable it, reducing the executable size down to 30%. To disable the GUI:\n\t- `./build.sh --release --no-default-features`\n\t- Or, manually: `cargo run -q --bin bundler -- bundle drum-mapper --no-default-features`\n2. If you don't intend to distribute the produced plugins to other machines, you can possibly get a little performance boost by specifying the target cpu as `native`, which can be done by running\n\t- (Bash, Zsh and similar shells): `RUSTFLAGS=-Ctarget-cpu=native ./build.sh --release`\n\t- Powershell: `$env:RUSTFLAGS = \"-Ctarget-cpu=native\"; cargo run -q --bin bundler -- bundle drum-mapper --release`\n\n### Building the CLI Tool\nRun:\n`cargo build --release --bin drum-mapper`\n\nThe tool will be built into `target/release/drum-mapper`; on Windows, it will have a `.exe` extension as well.\n\n## Plugin Usage\n1. Insert it into a track with MIDI input. The plugin's author is `Insomnia` and the name is `Drum Mapper`.\n2. Select the library to map from (this is the source). The parameter is called `from`.\n3. Select a library to map to. The parameter is called `to`.\n4. By default, only channel 10 (counting from 1) will be mapped (this is the drum channel on General MIDI). You can select a different channel or `all` to map all channels. The parameter is called `channel`.\n5. The notes the plugin receives will be remapped. Every event except for Note On, note Off and Aftertouch are passed-through.\n\n## Adding Custom Mappings\nYou can add your own mappings or remove any default mapping!\nThe files in the `drums` folder in the project's root with the `.txt` extension will be parsed as mappings.\nThe file name without the extension is used as the name of the library in the plugin and the CLI tool.\n\nThe format of the files is simple:\n- Each line contains a mapping.\n- Each mapping consists of `gm_note -\u003e library_note`. Where `gm_note` is the note in General MIDI and `library_note` is the mapping of that note to the library.\n- Empty Lines and lines starting with `#` are ignored.\n- Lines not matching above are errors.\n\n### Generating Mapping Files From Already Mapped MIDI Files\nDo you use an external converter and want to integrate it into the plugin? Follow these steps.\n1. First build the CLI tool as described above.\n2. Generate a dummy MIDI file:\n\t`drum-mapper template -o dummy.mid`\n3. Convert the generated `dummy.mid` with your external converter of choice.\n4. Assuming the converted file is called `converted.mid`, run:\n\t`drum-mapper generate converted.mid -o \"Foo Drums.txt\"`\n5. If the converter didn't add noise to the file, the above command should finish without any message.\n6. Now, copy the generated \"Foo Drums.txt\" into the project's `drums` directory and follow the steps to build the plugin as described above. Your custom mapping will be integrated into the plugin!\n\n## Remapping From The Command Line\nThe CLI tool has a command that lets you remap MIDI files from the command line.\n\nThe usage is:\n\n`drum-mapper remap --from \u003clibrary\u003e --to \u003clibrary\u003e --out remapped.mid ./foo.mid`\n\nIt has more options, for example using a mapping file instead of embedded libraries for from/to. Run `drum-mapper remap --help` to see them all.\n\n## Issues\nCurrently mappings other than General MIDI -\u003e X are lossy; the plugin reverses the mapping while converting between libraries. This is going to be addressed in future versions. For now, it's wise to keep the original MIDI file around in case you want to swap libraries.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsomnimus%2Fdrum-mapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsomnimus%2Fdrum-mapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsomnimus%2Fdrum-mapper/lists"}