Does anyone compose music using any of the
portsfromthe/ports/audio collection in FreeBSD?
dev at opensound.com
Wed Jul 14 13:51:46 PDT 2004
> On Tuesday 13 July 2004 17:31, Axel Auweter wrote:
>> AFAIK it has already been discussed that porting ALSA to FreeBSD seems
>> to be nearly impossible.
> Dev Mazumar of 4Front Tech wrote here some time ago they had/were working on
> an alsa emulation in (commercial) OSS. Perhaps he can comment on the status
> of it right now (and if it's going to be available in the FreeBSD versions of
>> Does anybody know, whether there are any plans or ongoing projects to
>> create a better sound architecture for FreeBSD than OSS?
> It's rather a question of making applications support !ALSA or at least some
> middleware. Inventing yet another API and replacing OSS with it will not produce
> application support out of thin air (but instead would leave FreeBSD
> without any application support at all).
> ,_, | Michael Nottebrock | lofi at freebsd.org
> (/^ ^\) | FreeBSD - The Power to Serve | http://www.freebsd.org
> \u/ | K Desktop Environment on FreeBSD | http://freebsd.kde.org
I think ALSA is going to be really 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. OSS apps
for Linux work nicely with FreeBSD's Linux emulation (case in point, check out
Skype for Linux).
I'm not sure how well a Linux binary that has a high reliance on /proc and other
Linux oddities will work on FreeBSD. 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.
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. 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.
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.
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 designed).
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. 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.
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.
Right now there are so many cooler things we can do with audio - like 3D
spatialization and other neat features (check out
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.
4035 Lafayette Place, Unit F, Culver City, CA 90232, USA.
Tel: (310) 202 8530 URL: www.opensound.com
Fax: (310) 202 0496 Email: info at opensound.com
More information about the freebsd-multimedia