fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Making MIDI player read from a buffer


From: Jim Henry
Subject: Re: [fluid-dev] Making MIDI player read from a buffer
Date: Mon, 18 Oct 2010 20:38:00 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.9) Gecko/20100915 Lightning/1.0b2 Thunderbird/3.1.4

 Pedro,

It sounds like you are suggesting a feature that the Miditzer virtual organ uses. A number of years ago Sebastian Frippiat suggested extending FluidSynth so that the MIDI Player would pass the MIDI events to the caller rather than playing them. At the time there was no interest in his proposal. I think this was in part because he wanted just to use FluidSynth as a MIDI file reader and it was felt that was not within the scope of FluidSynth's purpose. He did post patches for doing this. We picked up those patches for the Miditzer and they are in the version of FluidSynth used with the Miditzer.

As Pedro suggests, the Miditzer takes MIDI input, including the input from the FluidSynth MIDI file reader, and vigorously manipulates the MIDI data before sending it to FluidSynth to be realized in order to create the organ performance paradigm which just doesn't fit within the standard MIDI specification. (By that I mean there is no way to fully encode the performance of an organ according to the MIDI specification.)

If there is now interest in extending the FluidSynth MIDI file player to send the MIDI messages to the caller for processing rather than playing them, I certainly support such an effort.

Jim Henry

On 10/18/2010 3:02 PM, Pedro Lopez-Cabanillas wrote:
Talking about my personal interests, MIDI applications often need to parse
MIDI files to manipulate MIDI events (sometimes interactively) before sending
the events to the MIDI sequencer engine. For instance, to change the
instrument maps of melodic and percussion instruments (MIDI mappers), or to
manipulate controller events (i.e. MIDI volume), muting MIDI channels,
transposing MIDI notes on melodic channels, synchronous display of SMF
embedded song lyrics, and so on. All these functions belong not only to MIDI
editors, but also to players like KMid (http://kmid2.sourceforge.net). This
program has backends using the OS native sequencer services for Linux, Windows
and MacOSX, and I would like to implement a pure FluidSynth backend. To do
that, FluidSynth needs some new features for manipulating the playlists, but
more important: a new mechanism in the MIDI player to route selected events to
the client application, that may change them before playing. Opinions are
welcome.

Regards,
Pedro



reply via email to

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