Home
AudioAsylum Trader
Computer Audio Asylum

Music servers and other computer based digital audio technologies.

For Sale Ads

FAQ / News / Events

 

Use this form to submit comments directly to the Asylum moderators for this forum. We're particularly interested in truly outstanding posts that might be added to our FAQs.

You may also use this form to provide feedback or to call attention to messages that may be in violation of our content rules.

You must login to use this feature.

Inmate Login


Login to access features only available to registered Asylum Inmates.
    By default, logging in will set a session cookie that disappears when you close your browser. Clicking on the 'Remember my Moniker & Password' below will cause a permanent 'Login Cookie' to be set.

Moniker/Username:

The Name that you picked or by default, your email.
Forgot Moniker?

 
 

Examples "Rapper", "Bob W", "joe@aol.com".

Password:    

Forgot Password?

 Remember my Moniker & Password ( What's this?)

If you don't have an Asylum Account, you can create one by clicking Here.

Our privacy policy can be reviewed by clicking Here.

Inmate Comments

From:  
Your Email:  
Subject:  

Message Comments

   

Original Message

Yes it is

Posted by John Swenson on December 1, 2010 at 12:55:16:

If you are using gstreamer its easy, just change the output plugin to alsasink instead of pulsesink and any gstreamer app will go direct to alsa. The easiest way to do this is with the program gstreamer-properties, run it and it pops up a little tool, change the default output sink to ALSA and set the properties to the name of the device you want to send the audio to. Thats it, from then on any gstreamer app will go there unless it has its own UI for setting the output.

On the dmix issue, yep dmix is garbage, why use it? Dmix is an alsa plugin it doesn't HAVE to be there. If you set the alsa device to be the actual hardware device you are guaranteed to bypass dmix.

If you have an app that ONLY outputs to the default device you can always change the asoundrc file so the default device points directly to a specific hardware device rather than going through dmix.

So the setup to make things work nicely for good audio in linux is to disable pulseaudio so it doesn't grab your good sound device. Set gstreamer default sink to the specific alsa device, and change the asoundrc file so the default alsa device is pointing to your specific hardware device.

With that then anything should just work. Nothing gets resampled, the card automatically plays the samples at what ever rate is in the file.

You give up some things by doing this, without a mixer only one program can output to the output device at a time. This means you can't have GUI beeps and stuff come out over the good speakers.

There is one wrinkle here, you might need to setup a "plug" interface on your output device. For example a M-audio audiophile 24/96 ONLY takes 32bit samples. Very few applications actually output 32 bit samples. For this you need to setup a plug layer in front of the hardware driver. This will stuff zeros onto the back of the samples to keep the 24/96 happy. It will also automatically resample IF the hardware does not support the sample rate in the file. If you don't use a plug layer it will NEVER resample in the alsa layer, so if the hardware doesn't support the sample rate you get no sound at all. Many soundcards will automatically take either 16 or 24 bit data so you don't need a plug layer with them. Setting up a plug layer is just a couple lines in the asoundrc file.

It really isn't that hard.

John S.