Git Product home page Git Product logo

midiprogramsplitter's Introduction

MIDIProgramSplitter

A program that can split MIDI tracks with instrument changes without losing information! There is a command-line version and a GUI version, download here!

GUI

I created this program for two main uses:

  • Wanting to make remixes of video game music. There are always instrument changes on specific MIDI tracks which makes it a headache in a DAW. So placing every instrument on a separate MIDI track means you can replace each individual one with a VST or something else!
  • Wanting to import MIDI files into FL Studio without broken pitch bends. This is a huge problem that Image-Line hasn't addressed for decades. However, this program goes way beyond fixing the pitch bends. It will create patterns, name things, and color everything, as well as automatically apply a .DLS to Fruity LSD if you want! It is a way more powerful MIDI importer than the one built into FL Studio, and I hope they take notes.

When a MIDI track is split into multiple tracks, the events such as panpot and volume are kept for all of the new tracks.

Video of MIDI -> FLP (Outdated...):

The videos don't show the automation clips at the bottom, and pitches were still broken in the FLP. I'll hopefully upload an updated example soon that showcases all of the features...

If you are interested in how I'm reading/writing FLP files, you can just check out the code in the FLP folder. It is its own library I wrote for this.

MIDIProgramSplitter Uses:

midiprogramsplitter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

itsbrex

midiprogramsplitter's Issues

It's not loading any midi files!

I tested it with all the midi files I had, none of them worked for this program.
Here's one of the many midis I had troubles with: 9K.zip
Please fix it ASAP! Thanks.
I've also been looking for similar things for decades now, because the built-in midi importing tool in fl studio is very very very inefficient and can take many many hours on parsing large midi files.

discard dummy program changes

Awesome code. Does almost exactly what I want. Compiles and runs without issue using dotnet on Fedora 38.

MIDIProgramSplitter is clever enough to not split a track after a program change when there are no notes between the current and previous program change. Just one request here: could the first program change be discarded?

Why?
Many midi players will name the track after the first program change they see.
Ableton will discard any program change in a track other than the first.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.