FreeBSD MIDI support

Yuriy Tsibizov Yuriy.Tsibizov at
Mon Jul 10 07:18:29 UTC 2006

> Are there any projects regarding this topic? I recently 
> started coding  
> kernel modules, however, there are some design issues 
> involving "way" of  
> MIDI implementation, so i hoped to contact somebody who's 
> working on the  
> same thing, or to join develop. team if there is any project underway.

MIDI support in HEAD does not have maintainer, and, as I know, noone was
willing to continue its development. Hardware support is limited to two
or three cards. If you know MIDI well, you can take this project in your

> Anyways, the first dillema i have is about softsynth 
> rendering, naturally  
> early-stage drivers wouldn't use sc's onboard wavetables and their  
> hardware means of MIDI rendering, so i would rather use 
> software MIDI  
> playback. Usage of hardware functionality should come later. 
> The thing  
> that bugs me, is it worth coding this inside of kernel 
> module? Meaning  
> that some /dev device inputs midi messages to kern.module, 
> witch uses  
> built-in software synthessis based on SF2 specification for MIDI  
> rendering. There are already userland programs that do that, 
> like timidiy  
> and fluidsynth. 

I don't use this software right now, but if they can listen on a pipe for MIDI
sequence than kernel "softsynth" module will not be very useful for me.

> Maybe it would be better to start on hardware 
> functionalty  
> at once, eg. pure device drivers that control soundcard's MIDI port,  
> however, allaround kernel module should bring a decent degree of  
> standardization. This is the way software MIDI is implemented 
> on Windows  
> and MacOSX, kernel mode rendering through software 
> synthersizer (altrough  
> i think they use DLS synthessis rather than SF2, but that 
> really isnt  
> important). So the question is, what is the best goal for 
> MIDI on FreeBSD,  
> a quickest way of controlling external synths/MIDI hardware 
> (meaning ditch  
> the software synth and set your mind on various hardware 
> specs),

It should work in -CURRENT, but supportred sound card list is short.
It should be easy to add midi HW driver for your sound card, because
MIDI I/O needs only to "put byte" and "get byte"/"get status" to & from 
MIDI port.

> or an all-around MIDI drivers providing playback without "3rd 
> party" userland apps?

Not shure about this... It will be very limited, because most consumer
sound cards does not provide MIDI wavetable synthesizer acceleration.


More information about the freebsd-hackers mailing list