Jump to content

Getting digital audio out working


Glitz
 Share

Recommended Posts

This is just a quick tip on getting digital audio out working on the SBlive! and possibly other soundcards especially with the ALSA system.

 

In KMIX (with SBlive! soundcard):

 

Make sure the following settings in the Switches section are set properly:

1. IEC958 Optical Raw -> Unless you are using a fiber optic cable make sure this is deselected.

2. SB Live Analog/Digital Output Jack -> Make sure this is selected.

 

Note that the regular sound volume controls no longer have any effect. You have to use the ones in the Input section. eg. Surround, Synth, Wave. For digital CD input use IEC958 TTL. For analog CD input set Capture to about the fifth tick (more tends to introduce distortion) and use the AC97 slider in the Output section. Make sure the volume controls are not set to zero.

 

This will ensure that audio data is being sent out of the SPDIF port.

 

Now, it may happen that you still have no sound. Or, it can happen that the sound works fine but TOTEM (or some other video program) was using the AC3 passthrough option and it crashed, leaving you with working AC3 passthrough but no sound otherwise. This is annoying, and contrary to what you might find on the internet, does not require a re-install of linux. After reading many, many manpages, I figured out what was happening and how to fix it.

 

Quick technical aside: Data piped out of the digital port to a receiver requires header information for the receiver to know how to interpret the signal. The soundcard automatically appends this data to the LPCM signal output from the soundcard. However, when invoking AC3 passthrough mode, the soundcard is disabled from attaching this header since the AC3 data already has the necessary headers for the receiver. It then just passes the data unaltered. When AC3 passthrough mode is enabled and the video player crashes, it tends to stay enabled and does not get switched back again (even if you load up the player again and then exit). And so the LPCM data gets no headers attached and the receiver doesn't have a clue what to do with the data.

 

Now, how can you tell if this has happened? From a command console run:

 

iecset

 

You will get some output that looks like this:

 

Mode: consumer

Data: audio

Rate: 48000 Hz

Copyright: permitted

Emphasis: none

Category: PCM coder

Original: original

Clock: 1000 ppm

 

In particular, note the field that says "Data: audio". If it says this then headers are being added and you should have sound. If it says "Data: non-audio" then no headers are being added to the output (it is in AC3 passthrough mode).

 

To change this flag use the following command:

 

iecset audio 1

 

You should now have sound.

 

If you still don't have sound then as a last resort open up System->Configuration->Configure Your Desktop and select Sound->Sound System. From here select "Test Sound". If no sound is heard then deselect "Enable the sound system". Press apply and then Reselect "Enable the sound system". Press apply one more time and the select "Test Sound". If you still don't hear anything then something else is wrong and I'm afraid I can't help you any further.

 

Good Luck!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...