Debian audio integration

Adrian Knoth adi at drcomp.erfurt.thur.de
Thu Oct 15 13:33:01 UTC 2009


Hi!

Is there a roadmap for audio on Debian systems? A whitepaper or at least
some goals?

Fedora has decided to make Pulseaudio the default audio API for all
applications, and as far as I know, they have also completely ditched
OSS (open sound system). One other major distro is going to follow, but
this announce will still has to be made. ;) (rumors, evil rumors)

Looks like Ubuntu also employs Pulseaudio. I'd suggest to follow this
road, though I'm always open for suggestions.

Historically, Pulseaudio has been blamed for breaking audio, for solving
a problem which doesn't exist and something more. However, if set up
correctly, it serves a good experience to the user.

In the past, I always avoided Pulseaudio, it is known for grabbing the
audio interface, thus making it impossible to run jackd1... not going
into detail here, things are better with jack2.

To me, it boils down to this:

   * Make Pulseaudio the default audio API for all (consumer) apps
      * install Pulseaudio by default
      * configure/compile apps for Pulseaudio
      * provide Pulseaudio-enabled glue code
        (flashplugin-nonfree-extrasound, which could use a litte update:
         git clone http://git.0pointer.de/repos/libflashsupport.git/)
      * provide /etc/asound.conf to redirect ALSA apps to Pulse
        (http://www.pulseaudio.org/wiki/PerfectSetup#ALSAApplications)

   * sort out relationship between jackd and Pulseaudio


I'd like Pulseaudio to become the common audio API on Linux. For
professional audio, there will be jack. When you have two cards, running
jack on the pro gear is sufficient and will work with jackd1. Inserting
the PA-jack-sink/sources enables users to dynamically switch their
youtube videos to the pro gear while playing. (pactl load-module
module-jack-sink)

That's exactly my setup right now: jackd on FFADO pro gear (external
firewire multichannel soundcard), Pulseaudio with null-sink and
redirected to jackd.

The only trouble with PA arises when a user with just one card wants to
run jackd. With jackd2, PA can be suspended via dbus and the problem is
gone, since jackd will handle the device and PA will then use jackd
instead of ALSA.

I already thought of writing a jackd backend which makes jackd run on
top of pulseaudio. You wouldn't want to do this on pro gear, but it
would seamlessly integrate jackified apps on single card consumer
setups. Steinberg Cubase has a fake ASIO driver (ASIO is Steinberg's
pro-audio driver platform) which runs on top of MME/DirectSound when no
pro gear is available, so the concept isn't new, it's just awfully slow. ;)

I'm not entirely sure about the last one, and things would probably
become more clear when we have jackd2, so sorting the relationship
between PA and jackd would come second.

The foremost question is: will PA be the default audio API on Debian?


Cheerio

-- 
mail: adi at thur.de  	http://adi.thur.de	PGP/GPG: key via keyserver



More information about the pkg-multimedia-maintainers mailing list