GUIDOLib

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

GUIDOLib

danboid
Hi Louis!

I remember you asking if anyone knew of a library to help with drawing music notation. I discovered one today called GUIDOLib so I thought I'd mention it here to see if you'd already heard of it and evaluated its potential for use in improving the pb notation display?

http://guidolib.sourceforge.net/

http://lad.linuxaudio.org/events/2009_cdm/slides/guidolib.pdf

Reply | Threaded
Open this post in threaded view
|

Re: GUIDOLib

Louis B.
Administrator
Thanks for the info,

Did you see my post to you on this thread?

http://n2.nabble.com/Playing-along-with-a-single-Piano-Part.-td2625589.html

Also the 0.6.2 core dumps under jaunty x64 thread (now moved to the dev forum) . Does the Frank Phillips fix work for you?

Louis
Reply | Threaded
Open this post in threaded view
|

Re: GUIDOLib

HanonFreak
In reply to this post by danboid
Hello,

I still dont unterstand, why piano booster doesnt use the GUIDOLib. I tried out GuidoLib and after some minor problems with compilation under Visual Studio I am extreme happy with this lib. What are the cons for using it in pb?
Viele Grüße,


Konstantin
Reply | Threaded
Open this post in threaded view
|

Re: GUIDOLib

Louis B.
Administrator
Is the library cross platform (does it work on linux+mac)? Does this lib read MIDI files? Perhaps you could find out for me.

A MIDI file does not contain any score/musical notation information. A MIDI file only contains a performance (when the pianist pressed and released each note) and nothing else. converting back from a performance (the midi file) to a musical score is very difficult to do well. This is the bit we need help with.


Scrolling horizontal score presents it own problems.

1) back on white does not work - due to the LCD response time. Green on black works much better.

2) To have a fixed play zone area the notes to be placed on a fixed horizontal time grid which leads to very ugly looking score. But pb is trying to combine learning music with gaming features.

3) To scroll smoothly you have to have very high refresh rates (60Hz). Open GL is used to offload all the work onto the graphics processor.

I cannot get .png images to work in  pb and  Open GL at present so the notes looks very poor at the moment as they are drawn.

I am considering having and advanced mode where a static beautiful score is displayed instead of the horizontal scrolling score.

Does any body know of an open source program that is cross platform that generates a high quality notation from a MIDI file. If there is it may be that is worth look at.

(by the way I don't have Visual C)

L.
Reply | Threaded
Open this post in threaded view
|

Re: GUIDOLib

ec0000
Hi

I just checked the GUIDOLib website. It mentions performing GUIDO file with Midi as output. I could not find any reference for a midi to GUIDO tool.

PB has chosen midi as the format for its music. I think it is a good choice as it is relatively easy to obtain midi songs. Midi, however, brings the challenges of having to deduce the origin score from it.

I would like to share the observation from the lilypond.org homepage...

"Translating what a human plays to exact form is hard. Even if you get the correct pitch data from a MIDI keyboard (as opposed to a sound recording), one has to get the rhythms correct. For example, how is a computer supposed to distinguish between a staccato quarter note and an eighth note?"

On the other hand, we don't have to solve the problem to 100% or by ourselves alone. Lilypond has a utility that translates a midi file (performance data) to Lilypond (exact form).

Midi2ly translates a MIDI input file to a LilyPond source file.  

It seems to rely on note quantization i.e. mapping notes to something fixed known durations.

Synthesia is another program that seems to have solve this problem. It a free piano game with a learning pack. The learning pack is a commercial product but is quite cheap.

I wonder if anyone has experience with solving the problem of extracting note duration from midi. Better still, if there is any open source lib that can do that job?

-- ec0000
Reply | Threaded
Open this post in threaded view
|

Re: GUIDOLib

HanonFreak
Hello,

GUIDOLib is cross platform (based on Qt). I am developing my piano training software with GuidoLib on XP (Visual Studio 2008) and Ubuntu (QtCreator). The GuidoLib has nothing to do with MIDI. It is just a rendering lib for the scores. The input format is as simple as the lilypond format.
But "ec0000" said what the main problem with GUIDOLib and PB is:

ec0000 wrote
PB has chosen midi as the format for its music."
MIDI has no information about the rythm, the key, trills, fingering, etc. Restoring all these informations from a naked midi file is almost impossible. Maybe you could use Midi2ly and translate the ".ly" file to a guido file. But the result is acceptable only for very simple songs.
Viele Grüße,


Konstantin