Does anyone compose music using any of the
portsfromthe/ports/audio collection in FreeBSD?
Conrad J. Sabatier
conrads at cox.net
Wed Jul 14 22:28:36 PDT 2004
On 14-Jul-2004 4Front Technologies wrote:
> I think ALSA is going to be really [difficult] to port to FreeBSD
> (without a lot of internal changes to FreeBSD kernel) because of
> high dependance on the Linux's /proc file system and Linux system
> calls that just arn't available for FreeBSD.
Yes, most unfortunate that is. I do believe this is one area where
FreeBSD should concede the fact that the other guys are doing a better
job at it than we are, and not resist the idea of borrowing from them.
> OSS apps for Linux work nicely with FreeBSD's Linux emulation (case
> in point, check out Skype for Linux).
Perhaps, but still, native support is what we need and want.
Speaking of which, I was browsing 4Front's site the other day and was a
little disappointed to see that even the existing FreeBSD support is
not available for amd64. Is that likely to change anytime in the
> I'm not sure how well a Linux binary that has a high reliance on
> /proc and other Linux oddities will work on FreeBSD.
My guess would be "not very well at all". :-)
> OSS is designed with "pure" UNIX sematics -
> read/write/ioctl/poll/mmap and nothing else. Ofcourse I could be
> wrong about porting ALSA. Just that from our experiences on
> developing the ALSA emulation, it looked highly suspect.
Perhaps it's time to consider that what's needed is a new framework for
sound development. If the existing "pure Unix semantics" are
insufficient, then there's nothing wrong with a little innovation.
> It's actually easier to add OSS support to most apps. The problem is
> that none of the app developers have really understood OSS
> sequencers because they are lowlevel. ALSA provides better high
> level abstraction but we have already done a libOSSlib.a sequencer
> abstraction for OSS - nobody bothered with it.
That's a shame. I suspect it may have largely to do with the fact
that, as someone else mentioned in this thread, until we have better
hardware sound device support -- say, the ability to interface a MIDI
keyboard or even simply supporting *all* of a particular card's
capabilities-- then whatever such a library may have to offer will
still be of limited usefulness.
> As for MIDI I/O, OSS already has powerful support for MIDI input and
> output that are also the basis for ALSA. Where ALSA seems to be
> ahead is in terms of sequencing and this part is in the ALSA
> libraries rather than the kernel drivers.
Yes, this seems to be the main, crucial "missing link".
> We started with a project called Cuckoo - as a proof of concept that
> ALSA isn't all that it's cracked up to be (except for MIDI and even
> in MIDI, they rely on the OSS lowlevel MIDI/Sequencer drivers).
> We just gave up trying to keep pace with ALSA that keeps changing on
> a weekly basis - now the Cuckoo module will not compile on the
> latest ALSA drivers in the Linux 2.6.7 kernels. QNX used ALSA 0.5
> and gave up trying to keep pace and now QNX Audio is something like
> ALSA but none of the ALSA apps can actually recompile on QNX without
> major work.
Is there any hope at all of the Unix sound development community ever
coming together and agreeing on a cross-platform standard? This seems
to be what's really needed, IMHO.
> We are working on OSS v4.0 and we would like to first invite FreeBSD
> audio driver maintainers to sit down with us and implement all the
> new mixer extension features that will allow FreeBSD driver
> developers to extend the old OSS mixer APIs to support more pro
> audio devices. OSS's mixer extensions are sane and aren't like
> ALSA's flat space (try running alsamixer on SBLive in Linux and then
> compare our OSS mixer in FreeBSD and you'll see how well it's
This brings to mind yet another problem we face in FreeBSD: it appears
to me that the number of people actively involved in audio driver
support and development are pitifully few, far fewer than are really
needed to provide a wide range of complete support for a good variety
I'd volunteer to help out myself (I'm a fairly competent C coder), but I
would need a "crash course" in pretty much *everything* having to do
with sound and kernel driver development (which, of course, is most
likely completely unrealistic to even think about).
> We have some work to do in the MIDI Sequencer space. We plan to
> address this and we'll be happy to share our work with FreeBSD
> developers. Just that right now, we see that MIDI isn't important
> for music creation.
BROING!!! MIDI is *the* single most important aspect of music creation
for most people. I'm astonished to see such a statement.
> Companies like MAudio are more focussed on pro audio than MIDI. The
> M-Audio Revolution 7.1 audio card doesn't even have a MIDI port.
I don't know the first thing about this company or this card, so I
can't comment, other than to reiterate that MIDI is very, very
important for musicians.
> We do plan on doing proper ALSA emulation for audio and MIDI by
> completely rewriting the ALSA Libraries to use OSS rather than ALSA
> lowlevel drivers. It can be done, just a whole lot of work is
> needed. It's a better approach than using the Cuckoo concept because
> ALSA keeps changing internally and the only thing relatively stable
> would be the ALSA libraries. I hope that we have the time and man
> power to pull this off.
Well, this certainly sounds encouraging! Is there a mailing list for
tracking the state of development? I'm sure I'm not the only FreeBSD
user who'd be very interested in this.
> Right now there are so many cooler things we can do with audio - like
> 3D spatialization and other neat features (check out
That's all very nice, too, but *please* keep MIDI in mind! :-)
> BTW, we're working on OSS 3.99.1 for FreeBSD (please see my post on
> the open() call under the freebsd-hackers ML). If we can get that
> going, audio for FreeBSD will totally rock.
Thank you very much for posting this; you've given me hope! :-)
And please don't forget the amd64 platform, either. :-)
Conrad J. Sabatier <conrads at cox.net> -- "In Unix veritas"
More information about the freebsd-multimedia