[LAU] Hideous dmix, alsa, jack, realtime and mixing mess

From: Simon Williams <simon@email-addr-hidden>
Date: Sat Sep 22 2007 - 03:14:24 EEST

AAAARRRGGHHHH!!! FOR GOODNESS SAKE!!!!!!!
Hardware manufacturers are now driving me totally insane. Are they all
completely brain dead? How in the world is anyone actually supposed to
use the appalling software sound cards they put in laptops and on
motherboards these days?

My previous laptop, a T20, had a CS46xx card, which was amazing- it had
a hardware mixer. Actually it wasn't amazing. It was an ordinary sound
card. The cards which don't have hardware mixing are useless pieces of
******* ****.

I now have an IBM ThinkPad T23, which has one of the censored types of
sound cards above, which is intel8x0 based. It is not capable of
hardware mixing. At the time I made this "upgrade" ALSA did not ship
with dmix enabled by default, and it drove me totally insane trying to
get it to work (more on why later). In the end I gave up and settled
with one audio application at a time.

Then one day, to my delight I read that ALSA was now shipping with dmix
enabled by default. It sortof worked, but to this day I have not
actually been able to use it properly, because any application which
doesn't use dmix blocked the soundcard anyway, so if any one of my
applications didn't use dmix I was back to one at a time.
(I'm looking at YOU, flash plugin (which, incidentally, also comes under
the category of "useless ****ing ****")- more on that later as well)

With the addition of a midi keyboard I now also have the problem of
realtime. So I added jack. And my current jack setup isn't acceptable
either. The main issue with jack is again the lack of hardware mixing. I
have to manually start the jack server when I want it and shut it down
if I want to play audio from any other application.

Actually, whilst I'm at it could somebody please explain why
        fluidsynth --> ALSA
lags, yet
        fluidsynth --> jack --> ALSA
does not? How in the world does adding yet another layer of software
actually SPEED UP the sound output??!?!?!?!?

Anyway, with the addition of MIDI I then find out that these cheap
software soundcards are also lacking MIDI sequencers, requiring software
to do that as well. Fine. I eventually got that working, and even in
(almost) realtime.

But now I want to play along to an mp3 track. And here a large number of
unacceptable hacks and compromises combine, eventually forcing me to go
right back to the beginning.

My initial thought was to try and get my other applications to use jack
directly, which would have the added bonus of mixing them nicely. Great
in theory, but xmms-jack didn't work and it looks like most other
applications will require similar hacks, which for the most part are not
available. I can't even get some applications to use ALSA instead of
OSS, so I don't really stand much chance of getting them to use jack.

And then I found this...
http://www.articleworld.org/index.php/How_to_force_ALSA_applications_to_use_JACK
which looked great, but it uses /etc/asound.conf and ~/.asoundrc. Why is
this a problem? Well, aside from the horrific memories it brings back of
trying to get dmix to work, I am never actually sure if either of those
two files are actually being used, if the syntax is correct, or if the
particular contents I found on the internet should actually work. I am
convinced that there is some voodoo involved. The site given above also
mentions restarting the alsa rc script to make sure that the changes
take place, but since there isn't actually an alsa service this seems
like complete rubbish to me. The init script for alsa just saves and
loads volume levels. Besides, non root users can't run rc scripts, so
that's even more pointless with asoundrc files.

I have a 486 in my loft with an ISA AWE32 which I am sure can do better
than this.

So, to summarise:
1. How do you tell an application to use dmix (an old and probably
irrelevant question, but I want to know anyway)?
2. Why does adding an extra layer of software (jack) in between
fluidsynth and ALSA speed up the audio output?
3. How do I get proprietary software (which for some reason all still
uses OSS)(flash, teamspeak) to use ALSA?
3a. Or at the very least get the flash plugin to release the sound
device once it's finished, without requiring the whole of firefox to be
restarted?
4. How do I check that /etc/asound.conf and/or ~/.asoundrc are actually
being used?
5. How can I force applications to use jack (at the least I need xmms,
vlc, mplayer and preferably flash)?

If I buy a pcmcia soundcard is it worth it? Any recommendations? Will it
  have hardware mixing and a hardware synth? Why are they so damn
expensive? I'm currently looking at 70 pounds on ebay for a Creative
Audigy 2, which seems totally ridiculous seeing as my midi controller
only cost 50. I'm loathed to buy a USB one (especially as I only have
USB1.1)- anyone got any comments on those?

The whole point of buying a midi controller instead of a normal keyboard
was that it was supposed to be cheaper and more portable. It doesn't
seem to be going that way.

Any suggestions?
Simon
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-user
Received on Sat Sep 22 04:15:44 2007

This archive was generated by hypermail 2.1.8 : Sat Sep 22 2007 - 04:15:45 EEST