I'm looking for a cross platform library (prefer floss of course) which can render music scores and is easy to integrate with JUCE.
Would be great if it also did many more things, like allow me to color the notes, insert a cursor, sequence notes...
I've been looking for a couple of days and it's hard to identify what's usable - lots of old/abandoned tools/libs out there.. So I was wondering if anyone could recommend something which works well with JUCE ?
So far, the only candidate I've come across is http://www.seescore.co.uk/ , which is a paid SDK and I'm not sure how easy it will be to integrate it with JUCE yet.
I started to write a music notation module for JUCE based on the attempt of William Andrew Burnson ( https://github.com/burnson/Belle ). TBH it is a serious challenge. After one year of work (i finally rewrite almost everything from scratch) it is very far from finished.
I searched a long time before to go that way, but it appears that nothing FOSS exists already-made. I mean if your goal is more RT oriented than full score editer oriented. MuseScore, LilyPond, INScore ( http://inscore.sourceforge.net/ ) and others are always full applications that are not IMHO simply embeddable.
Thank you for your input. I'm now at the end of my 3rd day of searching and checking things out and I also agree that there's not a lot of choice out there.
Yes, my goal is more realtime than score editing/display.. Do you have anything functional atm ?
Sadly nothing usable for the moment. My goal is to automagically render MIDI sequences. The drawing part is almost achieved as well as the pitch spelling process, but there's a bunch of job that remains... for the next year.
In my concern i wanted to use C++, to manage efficiency and get full integration. But if you consider to bind to another environment (a reasonable choice) the music21 library seems also a very mature project.
What's the biggest hurdle in drawing a score if you already have a bunch of midi notes or equivalent? Is it to draw two sets of 5 lines and putting the notes in the right place? Or is it to determine the right key or time signature or is it more of a graphical nature? Or something else...
The biggest challenge is pattern recognition, i.e. separation of voices, rhythm, etc. Knowing what belongs together and what the intended meaning is of an (unquantized) recording. So unless the music is extremely simple, rendering notation means figuring out the intended structure behind a stream of notes.
than to create a music score from music. And if using a midi track as input to such a score renderer, the voices are normally already separated in different tracks or channels, and often also the meter and key is readily available.
As said: For simple, quantized music it’s not a problem. It’s different with Jazz piano, contemporary music or other polyphonic material with rhythm changes, key changes, etc.