im pretty sure 8.10 has done this, im using it right now and with the recent updates the sound system works like it should, everything seems to be unified now.
Actually I thought windows had 2 systems. WDM for the consumer and ASIO for the pro. Still, the point is moot. I've been playing around with Mixxx and it's not working too well (not sure how far it's Mixxx's fault and how far it's the sound modules), and the sound drivers and sound api complications aren't helping. In particular, using an inbuilt sound card, Mixxx chokes when you cut the latency too much. Multithreading would probably help.
If, like a pro, you're using an outboard audio interface (USB or Firewire), things get more interesting. Some apps (like gstreamer) will recognise the card and pipe to it. Others (like Flash, Firefox) won't and will proudly blast the sound solely from the inbuilt sound card (and if unlucky, inbuilt laptop speakers).
+ 1. + a lot more if I could. Can't fault any of the points.
I agree. Although everything is working smoothly on my desktop trying to set up sound properly on my laptop (vaio vgn-fs215z) is a nightmare. one application blocks another and won't unblock until the application is killed.
I'm trying to convert friends and family to ubuntu but it's difficult when there's either no sound from youtube/firefox/flash or no sound from skype.
I've got a feeling it's things like this (and perhaps wifi connectivity) which can potentially put off newcomers to linux. If it were possible to make setting up sound very simple and consistent then it would be a massive boost for less tech users and also for the community.
100% agree. We need to push this topic much higher in the stack of ideas. Here is what I did and how you can help (takes only 5 minutes):
I searched for other sound-system-unifying ideas on brainstrom and suggested them as duplicates of this idea. The votes of every accepted duplicate-idea will get merged and this will push up the sound issue in the idea stack.
I started by adding ca. 10 other ideas. Please help by adding more related ideas that suggest to unify/streamline/improve the sound system on ubuntu. Thanks!
I totally agree. In Intrepid I expected to be able to fire up Audacity and press record and simply record streams from songbird. Oh well. What planet was I on when I dreamed that. It turned into a project and I could never make it work. On one PC I got it to record but the volume was so low it was unusable. It looks like Linux Audio will be in its infancy for years to come.
"For one thing, don't have 2 different systems where one is for professionals and the other is for end users."
There is no question there needs to be some unity in the audio space, but to my way of thinking the above suggestions is going in the wrong direction. It's like saying all the distributions should unite around KDE or Gnome or that KDE and Gnome should merge.
If you are doing professional audio then Jack is the preferred solution and there is reason for it to take complete managerial control of the audio interfaces. For the more casual users that want to use those same applications, having jack take complete control is more of an annoyance than a desirable feature.
Similarly with Pulse Audio there are use cases where it is desirable for it to take complete managerial control, but I think the majority are not using these feature, so having it take complete control is more of an annoyance than a desirable feature.
So the first thing is these sound servers should not by default take complete control of the audio interfaces, but there should be an easy way to enable/disable exclusive control.
The second thing... Why do all these sound servers implement features that alsa has, but completely independently of alsa? There are alsa capabilities to provide software mixing of audio streams, redirect audio streams, tie in audio FX, etc....
Where there is not a good GUI interface to do something create one that uses the existing alsa stuff as much as possible. Where in addition to not having a GUI there is a belief that the existing mechanism for doing something sucks, provide a better mechanism that ties in with alsa and can be used by other alsa software without blocking the ability to directly use other alsa features or work with the alsa guys to improve the mechanisms and interfaces.
Think of alsa bing like X.org and the sound servers bing like KDE and Gnome.
X.org, through Xrandr and other things, provides capabilities to resize the desktop, stretch it accross multiple monitors, move windows to other desktops or monitors, drag and drop, etc... Then it's up to the different desktop environments and window managers to make use of those features, so you can mix and match utilities and applications with minimal concern that they will work together and function as intended.
This is the type of relationship that should be building between the different sound servers and alsa.
I would gladly vote the idea up, if it also would allow me to use all my three audio cards under Linux.
At the moment, every application uses whatever it finds first. No driver problems: all cards are recognized. This is pure interface problem: there is no proper "default" sound card switching interface. One which is present doesn't work for half (most?) of applications (VLC, Flash, MPlayer, etc) where sound is actually relevant.
ALSA as interface is fine with me, but as was highlighted above ("ability to play more then one sound at once") it is also way too low level and often appears to be broken due to H/W limitations. ALSA has a library to workaround some of the problems, but I guess it is not always possible e.g. playback from multiple sources when H/W doesn't provide mixing.
Honestly, I'm all for unified sound interface, as I see it my only hope to ever make my all sound cards works in Linux nicely and switching between them painless. At moment it is even more broken that dual head support.
I'd tend to agree with the initial suggestion, and have had similar experiences to Dummy00001 which are, in a nutshell:
Pulseaudio works OK on a standard system with one soundcard outputting over analog to upto 6 discrete speakers (might work with 8. haven't got 8 to test)
However: add in a second soundcard and all bets are off.
Attempt to route sound from one app to one output (e.g: in-game audio in/out to headphones/mic, music to SPDIF) and you might as well just ditch pulseaudio and fight with ALSA.
I'm often left with the feeling that more testing of non-standard systems is required with new ubuntu distros. I'm aware that this is a huge amount of work, and that the current state of affairs is amazing compared to what was offered in Warty, (...Hoary, Breezy, Dapper, Edgy...) but there is still a long way to go to have a system that is as customisable as manually editing alsa files, and as easy to use as gnome sound controller.
JACK also needs to be either un-borked or made irrelevant. It refuses to work with certain sound cards, barely has a ui (even qjackctl still sucks) and it's something no end user wants to deal with. I want to be concentrating on writing and recording music, not dealing with JACK getting the xruns - or even better, failing to figure out how to get sound to my card.
Our competitors (namely OSX and Windows) have a single audio API which does everything.
On OSX, there is CoreAudio, which handles all MIDI, PCM audio and hardware mixing.
Since Windows 98SE, Microsoft introduced the DirectSound audio system, replacing Windows MME (MME however is still available)
Both of the systems offer low latency, a single set of drivers, and are complete.
On Linux now, we have ALSA and OSS. OSS (3.8) has seemingly been deprecated (OSS is on 4.1 now I believe) and we will be left with ALSA.
Then we have PulseAudio on top of that, adding functionality.
Then we have JACK on top of that, adding functionality.
To put it simply: to have many Sound Systems is a burden on the user (who has to switch systems to get their sound working), on the developer (spoilt for choice but seriously, one API?) and ultimately on Ubuntu/Linux itself.
PulseAudio (connecting to ALSA) is going to be default in GNOME, and KDE cleaned things up with Phonon, so we are definitely heading in the right direction.
What library people choose to use doesn't really concern me as long as they integrate properly with the sound system used.
I have been trying to get Ubuntu Studio (Intrepid) to work, with varying degrees of failure. I have since moved to Ubuntu Studio (Jaunty Alpha 3), to see if there has been progress made.
It looks to me like Jaunty is actually going backwards from Intrepid!!
There needs to be a concentrated effort to bring proper, plug-n-play, modular sound to Linux. Unfortunately this will mean a lot of funding.
Hopefully Canonical can step up to the plate.
This will not take a few scattered bug fixes. This requires a dedicated team effort working full time! Please, for the love of god, fix sound in Linux.
I wish I had more than one vote to give this. PLEASE work this out ASAP! Frankly, I'm not sure how a unified sound solution has taken this long to sort out but be that as it may it is positively maddening. I'm using Intrepid and sound via Pulseaudio is most definitely NOT 'just working'. Flash does not route to PA no matter what form of black magic I employ and email notification sounds from Thunderbird causes crashes though I can see that it routes to PA properly. Seriously?! I have been on a months long quest to try to get this resolved and have come to the conclusion that "It's not me, it's you". Tonight I disable/uninstall PA and try to figure out how to route my audio to my BT headset without having to close apps/relogin/reboot/manually run scripts and HOPE that it works.
Simple. Too many cooks in the kitchen. When you have no leadership and everyone has their equal say, including the developers who want to get something up and running that only they know how it works, this is what you get. A complete mess.
Plus they let politics get in the way instead of looking at it from a technical perspective only. Clearly OSS is superior, but because it use to be closed source, they refused to use it. Now that it's open source again, they still refuse to use it because it's been "deprecated" by the linux kernel.