{"id":16141670,"url":"https://github.com/kermalis/midiprogramsplitter","last_synced_at":"2025-10-09T16:09:38.481Z","repository":{"id":159109430,"uuid":"631405275","full_name":"Kermalis/MIDIProgramSplitter","owner":"Kermalis","description":"🎵 Split MIDI tracks with multiple instruments! Convert MIDI to FLP! 🎵","archived":false,"fork":false,"pushed_at":"2023-06-26T05:06:30.000Z","size":610,"stargazers_count":16,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T16:09:34.330Z","etag":null,"topics":["converter","csharp","daw","fl-studio","flp","flstudio","fruity-loops","image-line","importer","midi","midi-file","midi-files","music","processor"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kermalis.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":"2023-04-22T23:20:01.000Z","updated_at":"2025-08-09T22:42:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"c243edab-919c-467e-b6e1-f3c650202210","html_url":"https://github.com/Kermalis/MIDIProgramSplitter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Kermalis/MIDIProgramSplitter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kermalis%2FMIDIProgramSplitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kermalis%2FMIDIProgramSplitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kermalis%2FMIDIProgramSplitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kermalis%2FMIDIProgramSplitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kermalis","download_url":"https://codeload.github.com/Kermalis/MIDIProgramSplitter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kermalis%2FMIDIProgramSplitter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001762,"owners_count":26083171,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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":["converter","csharp","daw","fl-studio","flp","flstudio","fruity-loops","image-line","importer","midi","midi-file","midi-files","music","processor"],"created_at":"2024-10-09T23:56:24.316Z","updated_at":"2025-10-09T16:09:38.451Z","avatar_url":"https://github.com/Kermalis.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MIDIProgramSplitter\n\nA program that can split MIDI tracks with instrument changes without losing information!\nThere is a command-line version and a GUI version, [download here](https://github.com/Kermalis/MIDIProgramSplitter/releases)!\n\n![GUI](https://github.com/Kermalis/MIDIProgramSplitter/assets/29823718/66314f49-7370-4aa1-92f8-5b182fde9422)\n\n\nI created this program for two main uses:\n* Wanting to make remixes of video game music.\nThere are always instrument changes on specific MIDI tracks which makes it a headache in a DAW.\nSo placing every instrument on a separate MIDI track means you can replace each individual one with a VST or something else!\n* Wanting to import MIDI files into FL Studio without broken pitch bends.\nThis is a huge problem that Image-Line hasn't addressed for decades.\nHowever, this program goes way beyond fixing the pitch bends.\nIt will create patterns, name things, and color everything, as well as automatically apply a .DLS to Fruity LSD if you want!\nIt is a way more powerful MIDI importer than the one built into FL Studio, and I hope they take notes.\n\nWhen a MIDI track is split into multiple tracks, the events such as panpot and volume are kept for all of the new tracks.\n\nVideo of MIDI -\u003e FLP (Outdated...):\n* https://www.youtube.com/watch?v=gLra8-_D3WE\n* https://www.youtube.com/watch?v=JawLuHkMT64\n\nThe videos don't show the automation clips at the bottom, and pitches were still broken in the FLP.\nI'll hopefully upload an updated example soon that showcases all of the features...\n\nIf you are interested in how I'm reading/writing FLP files, you can just check out the code in the FLP folder.\nIt is its own library I wrote for this.\n\n## MIDIProgramSplitter Uses:\n* [Avalonia](https://github.com/AvaloniaUI/Avalonia)\n* [EndianBinaryIO](https://github.com/Kermalis/EndianBinaryIO)\n* [KFLP](https://github.com/Kermalis/KFLP)\n* [KMIDI](https://github.com/Kermalis/KMIDI)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkermalis%2Fmidiprogramsplitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkermalis%2Fmidiprogramsplitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkermalis%2Fmidiprogramsplitter/lists"}