Software to Perform MIDI Files in Real Time

• Jun 20, 2017 - 03:29

I've almost finished some software that is quite useful with MuseScore. It allows you to load a midi file and interactively play in real time with a midi controller. It's like an instrument that never plays wrong notes but that lets you add your own expression in real time. It started out as a fun research project but it's turned out to be very useful, and fun to play.

I call it Concert Keyboardist:

https://www.youtube.com/watch?v=xb66fzwdDS4

This example is Mendelssohn opus. 30 no. 1. The score was created by loading into Concert Keyboardist a midi file downloaded from the Internet. Notice the increased expressiveness vs the normal playback of a midi file.

This is how Concert Keyboardist works:
- Playing ANY note on the midi controller triggers the next note(s) from the midi file.
- Notice I alternate between playing just two different notes on the controller.
- Note on/off times and velocities from the controller are merged with note pitches from the midi file.
- The scrolling piano roll shows already played, currently sounding and upcoming notes
- Varying your playing tempo automatically adjusts the scrolling rate of the note display

I haven't decided yet whether to do the extra work to make it available to the public. Is it something you would find useful?

- Chris Graham


Comments

That does look like fun! A man* of your skills could be a huge asset to the volunteer developer community. Even if this particular item doesn't really have a place within MuseScore, if you have some free time to devote to developing MuseScore, I'm sure you could come up with all sorts of valuable additions to the software.

----
*Guessing! Please correct me if I'm wrong.

In reply to by rmattes

It's on Github but not publicly available yet. If enough people are interested I'll write up some instructions and make available a compiled version you could try. Part of my reason for announcing it now is I could use some feedback on its usability and other features that might be needed.

It's only on Mac so far. It's written in C++ with JUCE so I will be able to create Windows versions and maybe iOS.

Do you still have an unanswered question? Please log in first to post your question.