On 22 Feb 2013, at 22:16, edgar wrote:
> 
> Thanks so much for all of the terrific advice.

You're welcome: we're happy to help!


> I have a lot of experience using Finale and ProTools, but I am new to 
> programming.

Take a look at Musescore and Rosegarden then - they cover a lot of the same 
ground as Finale and ProTools, but are open source, so you can tweak them to 
your needs more.

The workflow is a bit different, in places, but you can do the same things...


> I would like to write some music education applications: nothing nearly as 
> vast as Finale or Sibelius, but little programs that parse MIDI into notation 
> or vice versa.

There's a whole can o' worms hiding in there though: parsing notation into MIDI 
is pretty easy, but parsing MIDI into notation is *hard* as MIDI doesn't retain 
enough information about what was originally notated...

In many cases it just holds a stream of notes, and the voice each is played 
with.
So you need to figure out the time sig, the key, what the parts are, and if 
it's a piano (say) you need to guess whether to notate the notes to the right 
or left hand, and so on...

And then actually getting the notation to layout nicely on the page is just a 
nightmare - I used Sibelius a fair bit (quite a few years ago now!) and it 
always did an OK sort of job laying things out; I didn't realise at the time 
just how hard that actually was to achieve!

In our tool, we looked at embedding meta-data into the MIDI stream to retain 
more of the "layout" from the original notation, but it wasn't nice. Ended up 
using a version of MusicXML to store the layout information (and it is fairly 
easy to convert that to MIDI to play it anyway...)
Most of the main tools can read/write MusicXML format these days (though none 
have it as their primary format) so it does represent a sort of common format 
for exchanging material between tools.


>> Scoring music is trickier than it looks...
> 
> I spoke to a guy who codes for Auralia who said the same thing.  I guess I 
> have my work cut out for me...

Yes: have fun!


> BTW, do you know of some simple MIDI programs that are open source for means 
> of studying the code?

Depends what it is you want to do. The MIDI file format is not all that 
complex, so it is pretty easy to read/write the raw files.

That said, I mainly use Portmidi (an open source MIDI lib) to output MIDI data 
these days as it runs on all the platforms I use, and once you get used to its 
API, it works OK for playing stuff in real time.

Or maybe I answered the wrong question?



_______________________________________________
fltk mailing list
fltk@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to