[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] Some questions about Midi playback

From: Sebastien Frippiat
Subject: [fluid-dev] Some questions about Midi playback
Date: Thu, 22 Jun 2006 11:47:32 +0200
User-agent: Mozilla Thunderbird 1.0.7-1.4.1 (X11/20050929)


I work in an entreprise in Belgium which is specialized in interactive multimedia solutions for museums, theme parks... We would like to have a good Midi support in our main software.

So I'm currently searching for a good Midi library. I need to be able to play Midi files and to be able to change some parameters such as tempo and velocity. I searched a lot and came across FluidSynth. I played a bit with it and managed to easily play Midi files. However I have a few questions about it :

- Is it possible to modify tempo such as the Midi file is playing twice faster than as specified in the Midi file (I tried fluid_player_set_midi_tempo <http://www.nongnu.org/fluid/api/midi_8h.html#a33> but it didn't worked well for this purpose) ? I managed to do it by modifying the source code : it is quite easy to multiply/divide the tempo when receiving tempo events. I hard-coded the multiplier to do the test. I would gladly write a clean way to do it (by adding something like fluid_player_set_midi_tempo_multiplier by example) if it would interest someone. However I would like to know if there is clean way to do it without modify the source code of FluidSynth. - Same question for the velocity (easy to change it when receiving NoteOn and NoteOff events).

Besides, is it possible, when reading a Midi file, not to send the data to the synthetizer but instead forward the Midi messages to a Midi device ? I guess it would require me to have something like a callback when reading the file but I didn't find it. Again, I think it would be pretty easy to add it to the library. I searched the doc and the source code for informations about the router but it seems it is only used for Midi input (am I wrong ?). It would be useful to add something like routers when playing Midi file (and therefore consider Midi file and Midi file player as Midi input).

Does anybody have remarks / recommendations / answers ?

Thank you very much,
Sebastien Frippiat

reply via email to

[Prev in Thread] Current Thread [Next in Thread]