Reputation: 195
I'm looking for an API that will generate a musical scores from MIDI file. I tried to search but I couldn't find one.
I'm trying to create an application for iOS and Android that will display a musical notes from piano/organ or midi file.
Should you have any suggestions please let me know it is much appreciated.
Upvotes: 4
Views: 4199
Reputation: 3638
Rendering musical scores is very hard business. Once you have the notes extracted from MIDI, you will probably want to employ Vexflow for rendering in HTML5 via Canvas/SVG. It doesn't handle all musical notation (triplets, for instance) but it does a pretty good job with simple output. To get notes from a MIDI file there are a number of options. My team makes a Python based music notation toolkit called music21 which includes a parser for MIDI and output to Vexflow. On iOS you'd need to duplicate the music21 MIDI to Vexflow conversion on your own.
Upvotes: 1
Reputation: 43330
Ugh, aren't we all. There's no good objective-c midi libraries (generation or reading) that I've come across, and the music XML examples are all in c++. However, there are TONS of c and c++ libraries dealing with MIDI. For portability's sake, I recommend middl: http://code.google.com/p/middl/
Though I've no experience with java, I hear the jFugue library brought up as an answer to every midi and java related question, so here it is: http://www.JFugue.org/
There are two collections of c++ libraries for musical score typesetting, both operate as vector-graphics libraries, but Lilypad is MUCH larger and more complete than Belle-Bonne-Sage:
Lilypad: http://lilypond.org/doc/v2.14/Documentation/web/index
Belle-Bonne-Sage: http://bellebonnesage.sourceforge.net/
Upvotes: 2