{"id":34906928,"url":"https://github.com/ltgcgo/midi-db","last_synced_at":"2026-05-29T10:00:46.344Z","repository":{"id":50490665,"uuid":"417589376","full_name":"ltgcgo/midi-db","owner":"ltgcgo","description":"🎹 Data concerning MIDI standards.","archived":false,"fork":false,"pushed_at":"2026-05-26T16:10:56.000Z","size":1471,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-26T18:10:21.727Z","etag":null,"topics":["akai","general-midi","kawai","korg","midi","mt-32","plg100-sg","plg150-an","plg150-ap","plg150-dr","plg150-dx","plg150-pc","plg150-pf","plg150-vl","roland","roland-gs","yamaha","yamaha-xg"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ltgcgo.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-15T17:53:46.000Z","updated_at":"2026-05-26T16:11:01.000Z","dependencies_parsed_at":"2025-12-11T19:22:02.750Z","dependency_job_id":"eda0e33d-df6c-446d-bef2-434015b192cf","html_url":"https://github.com/ltgcgo/midi-db","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ltgcgo/midi-db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltgcgo%2Fmidi-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltgcgo%2Fmidi-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltgcgo%2Fmidi-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltgcgo%2Fmidi-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ltgcgo","download_url":"https://codeload.github.com/ltgcgo/midi-db/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ltgcgo%2Fmidi-db/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33646428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["akai","general-midi","kawai","korg","midi","mt-32","plg100-sg","plg150-an","plg150-ap","plg150-dr","plg150-dx","plg150-pc","plg150-pf","plg150-vl","roland","roland-gs","yamaha","yamaha-xg"],"created_at":"2025-12-26T10:22:22.430Z","updated_at":"2026-05-29T10:00:46.338Z","avatar_url":"https://github.com/ltgcgo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# midi-db\n🎹 Data concerning MIDI standards.\n\n## Bitmaps\n* [XG Fonts](/bitmaps/xg/font.tsv) _(design based on established systems, CC0 where applicable)_\n* [XG System](/bitmaps/xg/system.tsv)\n* [XG Voices](/bitmaps/xg/voices.tsv)\n\n## Fields\n### ID maps\nID maps are TSV files.\n\n* `MSB` defines the cc0 (bank MSB) value of the voice.\n* `PRG` defines the PC (program change) value of the voice.\n* `LSB` defines the cc32 (bank LSB) value of the voice.\n* `NME` defines the 8-character ID of the voice.\n* `ELC` defines the element count (minus one) of the voice.\n  * When set to `0`, the voice takes up one element. `1` for two, `2` for three, the same goes on.\n  * When set to `16`, the voice is treated as a drum kit.\n  * When set to `17`, the voice is treated as a voice menu.\n  * Any value above is not defined.\n* `DRM` defines the drum map ID used. Can also be used by voice menus.\n\n### Drum maps\nDrum maps are custom script files.\n\n* `drm` defines the current drum map ID to write to.\n  * e.g. `drm xgStdKit` switches to `xgStdKit`.\n* `dcp` copies parameters from a set drum kit.\n  * e.g. `dcp xgStdKit` copies parameters from `xgStdKit` to the current drum kit.\n* `nno` defines the current drum note number to write to.\n  * e.g. `nno 39` switches to `39`.\n* `npw` writes multiple parameters to a single drum note.\n  * `npw \u003cnote\u003e \u003cexclusiveGroup\u003e \u003celementCount\u003e`\n* `neg` sets the exclusive group (aka. alternate assign) of the current note number. Defaults to `0` (disabled).\n* `nec` sets the note element count of the current note number. Defaults to `1`.\n\n## Voice Maps\nSee all of the [correct names](/bank/en.tsv).\n\nMajor maps contains Yamaha-ish voice/kit IDs, not actual names. Actual names for devices require additional maps.\n\nBlank names can either mean placeholder or silence.\n\n### General MIDI\n#### Bank selection\n**Table**: [gm.tsv](/bank/gm.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [x] `000`: Melodic Voices\n\n### General MIDI rev. 2\n#### Bank selection\n**Table**: [gm2.tsv](/bank/gm2.tsv)\n\n**Importance**: **MSB** PRG LSB\n#### Bank categories\n- [x] `120`: Drum Kits\n- [x] `121`: Melodic Voices\n\n### YAMAHA XG\n#### Bank selection\n**Table**: [xg.tsv](/bank/xg.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [x] `000`: Melodic Voices\n- [x] `048`: MU100 Model Exclusive Voices\n- [x] `064`: XG SFX Voices\n- [x] `126`: XG SFX Kits\n- [x] `127`: XG Drum Kits\n- [x] `125` (LSB): (redirected from `127`) MU100 Native\n\n#### Compatibility\n##### Device\n* TG100\n* TG300\n* QY10\n* QY70\n* QY100\n* S-YXG50\n* S-YXG70\n* S-YXG100\n* S-YXG2006\n* MU5\n* MU50\n* MU80\n* MU90\n* MU100\n* MU128\n* MU500\n* MU1000\n* MU2000\n\n##### Standard\n* General MIDI\n\n### Roland GS\n#### Bank selection\n**Table**: [gs.tsv](/bank/gs.tsv)\n\n**Importance**: **LSB** PRG MSB\n\n#### Bank categories\n- [x] `001`: Roland SC-55 map\n- [x] `002`: Roland SC-88 map\n- [x] `003`: Roland SC-88 Pro map\n- [x] `004`: Roland SC-8850 map\n- [x] `120` (MSB): Roland GS Drum Kits\n- [x] `126`: Roland MT-32 alternate map\n- [x] `127`: Roland MT-32 main map\n\n#### Compatibility\n##### Devices\n* MT-32\n* CM-64\n* SC-55\n* SC-88\n* SC-88 Pro\n* SC-8850\n* AKAI SG01k\n\n##### Standard\n* General MIDI\n* General MIDI 2\n\n### KORG NS5R\n#### Bank selection\n**Table**: [ns5r.tsv](/bank/ns5r.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n(As of KORG NS5R and later, all synth modules support GS and XG voice maps.)\n- [x] `000`: Melodic Voices\n- [x] `056`: KORG AG-10 map: _GM-b_\n- [x] `061`: KORG Drum Kits\n- [x] `062`: KORG X5D(R) \u0026 AG-10 Drum Kits\n- [x] `080`: KORG ProgU _(reserved)_\n- [x] `081`: KORG 05R/W map: _ProgA_\n- [x] `082`: KORG X5D(R): _ProgB_\n- [x] `083`: KORG ProgC\n- [x] `088`: KORG CmbU _(reserved)_\n- [x] `089`: KORG CmbA\n- [x] `090`: KORG CmbB\n- [x] `091`: KORG CmbC\n\n#### Compatibility\n##### Devices\n* 05R/W\n* AG-10\n* X5D\n* NS5R\n* NX5R\n\n##### Standard\n* General MIDI\n\n### Roland SD\n#### Bank selection\n**Table**: [sd.tsv](/bank/sd.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [x] `080`: Special Set 1\n- [x] `081`: Special Set 2\n- [x] `096`: Classical Set Melodic (GM2 Melodic Voices, redirected to MSB 121 and relies on `gm2.tsv`)\n- [x] `097`: Contemporary Set Melodic\n- [x] `098`: Solo Set Melodic\n- [x] `099`: Enhanced Set Melodic\n- [x] `104`: Classical Set Drums (GM2 Drum Kits, redirected to MSB 120 and relies on `gm2.tsv`)\n- [x] `105`: Contemporary Set Drums\n- [x] `106`: Solo Set Drums\n- [x] `107`: Enhanced Set Drums\n\n#### Compatibility\n##### Devices\n* Roland SD-20\n* Roland SD-80\n* Roland SD-90\n\n### KAWAI GMega\n#### Bank selection\n**Table**: [gmega.tsv](/bank/gmega.tsv)\n\n**Importance**: MSB **LSB** PRG\n\n#### Bank categories\n- [x] `004`: SP Bank _(MT-32 compatible)_\n- [x] `007`: LX Bank\n\n#### Compatibility\n##### Devices\n* KAWAI GMega\n* KAWAI GMega LX\n* KAWAI K11\n\n### AKAI SG\n#### Bank selection\n**Table**: [sg.tsv](/bank/sg.tsv)\n\n**Importance**: LSB PRG **MSB**\n\n#### Bank categories\n- [ ] `001`: Bank 01 (SG01v)\n- [x] `008`: Bank 08 (SG01k)\n\n#### Compatibility\n##### Devices\n* AKAI SG01k\n* AKAI SG01v\n\n### YAMAHA PLG-150AN\n#### Bank selection\n**Table**: [plg-150an.tsv](/bank/plg-150an.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [ ] `036`: PLG-150AN Preset (redirect to LSB 005-007 from LSB 000-002)\n- [x] `100`: PLG-150AN\n\n### YAMAHA PLG-150DR/PC\n#### Bank selection\n**Table**: [plg-150dr.tsv](/bank/plg-150dr.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [x] `095`: PLG-150DR/PC\n\n### YAMAHA PLG-150DX\n#### Bank selection\n**Table**: [plg-150dx.tsv](/bank/plg-150dx.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [ ] `035`: PLG-150DX Preset (redirect to LSB 005-007 from LSB 000-002)\n- [x] `067`: PLG-150DX SFX\n- [x] `099`: PLG-150DX Voices\n\n### YAMAHA PLG-150PF/AP\n#### Bank selection\n**Table**: [plg-150pf.tsv](/bank/plg-150pf.tsv)\n\n**Importance**: **MSB** PRG LSB\n\n#### Bank categories\n- [x] `032`: PLG-150AP Preset (redirect to LSB 005 from LSB 001)\n- [x] `096`: PLG-150PF/AP\n\n### YAMAHA PLG-150VL\n#### Bank selection\n**Table**: [plg-150vl.tsv](/bank/plg-150vl.tsv)\n\n**Importance**: **MSB** LSB PRG\n\n#### Bank categories\n- [x] `033`: PLG-150VL Preset (redirect to LSB 005-008 from LSB 000-003)\n- [x] `097`: PLG-150VL / SONDIUS-XG\n\n### YAMAHA PLG-100SG\n#### Bank selection\n**Table**: [plg-100sg.tsv](/bank/plg-100sg.tsv)\n\n**Importance**: **MSB** LSB PRG\n\n#### Bank categories\n- [x] `098`: PLG-100SG\n\n### KORG KROSS 2\n#### Bank selection\n**Table**: [kross.tsv](/bank/kross.tsv)\n\n**Importance**: MSB LSB PRG\n\n#### Bank categories\nAll occupy MSB `063`. Listed values are LSB values.\n- [ ] `000` ProgA\n- [ ] `001` ProgB\n- [ ] `002` ProgC\n- [ ] `003` ProgD\n- [ ] `004` ProgE\n- [ ] `005` ProgF\n- [x] `006`-`009` ProgUA/B/C/D _(reserved)_\n- [ ] `010` _(mapped from `000`)_ CombA\n- [ ] `011` _(mapped from `001`)_ CombB\n- [ ] `012` _(mapped from `002`)_ CombC\n- [x] `013`-`016` _(mapped from `003`-`006`)_ CombUA/B/C/D _(reserved)_\n\n### Yamaha S90 ES / Motif ES\n#### Bank selection\n**Table**: [s90es.tsv](/bank/s90es.tsv)\n\n**Importance**: MSB LSB PRG\n\n#### Bank categories\nAll occupy MSB `063`. Listed values are LSB values.\n- [x] `017` _(mapped from `000`)_ S90 ES Preset 1\n- [x] `018` _(mapped from `001`)_ S90 ES Preset 2\n- [x] `019` _(mapped from `002`)_ S90 ES Preset 3\n- [x] `020` _(mapped from `003`)_ S90 ES Preset 4\n- [x] `021` _(mapped from `008`)_ User 1\n- [x] `022` _(mapped from `009`)_ User 2\n- [x] `023` _(mapped from `032`)_ Preset Drums\n- [x] `024` _(mapped from `040`)_ User Drums\n- [x] `025`-`027` _(mapped from `024`-`026`)_ Plug User A/B/C _(reserved)_\n- [ ] `028` _(mapped from `000`)_ Motif ES Preset 1\n- [ ] `029` _(mapped from `001`)_ Motif ES Preset 2\n- [ ] `030` _(mapped from `002`)_ Motif ES Preset 3\n- [ ] `031` _(mapped from `003`)_ Motif ES Preset 4\n- [ ] `032` _(mapped from `004`)_ Motif ES Preset 5\n- [ ] `033` _(mapped from `005`)_ Motif ES Preset 6","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fltgcgo%2Fmidi-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fltgcgo%2Fmidi-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fltgcgo%2Fmidi-db/lists"}