LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   why plays my soundblaster audigy ls on suse linux 10.1 only on two boxes ? (https://www.linuxquestions.org/questions/linux-hardware-18/why-plays-my-soundblaster-audigy-ls-on-suse-linux-10-1-only-on-two-boxes-519584/)

Overcool813 01-15-2007 04:35 PM

why plays my soundblaster audigy ls on suse linux 10.1 only on two boxes ?
 
My SB Audigy Ls was detected by yast and plays a sound
but only on two boxes (front)
Then i tried
Code:
modprobe snd_ca0160
alsaconf

But it still has played on two boxes
amixer donīt run
In kmix i switched off all switches
but nothing changes

I put all digatal Volumes down and all analog Volumes up
but nothing changes

How can I get 5.1 Sound ?
Please help me!!!

FnordPerfect 01-15-2007 05:03 PM

I still think it is a mixer problem. On my system, kmix shows quite a bunch less mixers than ALSA's own utilities, so I suggest to use alsamixer (not amixer).

Then play around with alsamixer. There are lots of mixer settings. You can scroll right with your cursor keys to get even more. Look for mixers named "Surround", "Surround Wave", "PCM", and unmute everyone (by pressing m when you have them selected) or turn the volume up with Cursor-up. Then, quit alsamixer using F10

type speaker-test -twav -c5 to test your 5-boxes-setup.

good luck
~fab

carl0ski 01-15-2007 05:20 PM

Quote:

Originally Posted by Overcool813
My SB Audigy Ls was detected by yast and plays a sound
but only on two boxes (front)
Then i tried
Code:
modprobe snd_ca0160
alsaconf

But it still has played on two boxes
amixer donīt run
In kmix i switched off all switches
but nothing changes

I put all digatal Volumes down and all analog Volumes up
but nothing changes

How can I get 5.1 Sound ?
Please help me!!!

the Yast test sound is only 2 channel (2 box)

you will need to test using Xine media player
gxine or Kaffeine (all easier than mplayer)

choose speak config and change to 5.1

Electro 01-15-2007 05:28 PM

Use alsamixer, but do not use kmixer. amixer is a utility that list the settings that your sound card has.

Linux does not output to six channels because it only outputs to two channels. In order to get surround sound from a two channel source, you need to add the following to $HOME/.asoundrc.

Code:

pcm.simulatedsurround51 {
    type route
    slave {
          pcm surround51
          channels 6
    }
    ttable.0.0 0.9
    ttable.1.1 0.9
    ttable.0.2 0.75
    ttable.1.3 0.75
    ttable.0.4 0.5
    ttable.1.4 0.5
    ttable.0.5 0.5
    ttable.1.5 0.5
}

ctl.simulatedsurround51 {
    type hw
    card 0
}

Of course if you do not have $HOME/.asoundrc you will have to create it.

What the above will do is create simulated surround sound for six channels from a stereo source. I do not recommend using surround sound when playing music because the sound stage will be poor and a lot of frequencies will be canceled out. Music is meant to be played through two channels.

Playing a DVD movie will provide better surround sound experience than the above. Below is an example to play a movie to six channels.

mplayer -channels 6 -ao alsa:device=surround51 dvd://

Playing Linux games through surround sound is the same problem. Most Linux games uses OpenSDL (OpenAL and OpenGL) that only outputs to two channels, so you will have to use the above and create a new file for OpenAL.

I suggest adding the following to $HOME/.asoundrc.
Code:

pcm.simulatedsurround40 {
    type route
    slave {
        pcm surround40
        channels 4
    }
    ttable.0.0 1
    ttable.1.1 1
    ttable.0.2 0.70
    ttable.1.3 0.70
}

ctl.simulatedsurround40 {
    type hw
    card 0
}

For OpenAL to work with simulatedsurround40 add the following to $HOME/.openalrc.
Code:

(define devices '(alsa))
(define alsa-out-device "simulatedsurround40:0,0"))
(define speaker-num 2)

Again, you may have to create $HOME/.openalrc if it is not there.

The rear channels are only there to produce ambient sound which means they are designed to reflect the sound from the wall or furniture and they should never be pointed directly to the listening area.

carl0ski 01-15-2007 07:54 PM

Quote:

Originally Posted by Electro
Use alsamixer, but do not use kmixer. amixer is a utility that list the settings that your sound card has.

Playing Linux games through surround sound is the same problem. Most Linux games uses OpenSDL (OpenAL and OpenGL) that only outputs to two channels, so you will have to use the above and create a new file for OpenAL.

Out of interest do you know how they achieved surround sound in Doom 3?

Electro 01-15-2007 09:41 PM

Quote:

Originally Posted by carl0ski
Out of interest do you know how they achieved surround sound in Doom 3?

Technically no. What I do know that there are software to mix 4 channels (Dolby Surround) into two channels (stereo) like is done in hardware sound matrix encoders. Then to decode the two channel audio into Dolby surround, you will need a Dolby Surround Prologic device to output to four channels.

Dolby Surround Sound is actually four channels. They are front left, front right, center, and a monaural rear. The subwoofer channel is mixed of the front left and front right. Then the subwoofer channel goes through a low-pass filter. The selection or crossover of the low-pass filter depends on the brand and model of the Prologic device.

If software is outputting surround sound and you want the highest performance possible, I suggest turn off surround sound encoding to gain back the performance loss.

Overcool813 01-17-2007 06:13 PM

Only sound on two boxes
 
Quote:

Originally Posted by FnordPerfect
I still think it is a mixer problem. On my system, kmix shows quite a bunch less mixers than ALSA's own utilities, so I suggest to use alsamixer (not amixer).

Then play around with alsamixer. There are lots of mixer settings. You can scroll right with your cursor keys to get even more. Look for mixers named "Surround", "Surround Wave", "PCM", and unmute everyone (by pressing m when you have them selected) or turn the volume up with Cursor-up. Then, quit alsamixer using F10

type speaker-test -twav -c5 to test your 5-boxes-setup.

good luck
~fab


Where can i get a mixer with "Surround"; "Surround Wave", "PCM"
Buttons ?

Overcool813 01-17-2007 06:15 PM

Quote:

Originally Posted by carl0ski
the Yast test sound is only 2 channel (2 box)

you will need to test using Xine media player
gxine or Kaffeine (all easier than mplayer)

choose speak config and change to 5.1


Thanx a lot for introducing me kaffeine, it plays at least mp3
I switched on 5.1 Surround sound but it doesnt work
What shall i do ?

Overcool813 01-17-2007 06:18 PM

Quote:

Originally Posted by Electro
Use alsamixer, but do not use kmixer. amixer is a utility that list the settings that your sound card has.

Linux does not output to six channels because it only outputs to two channels. In order to get surround sound from a two channel source, you need to add the following to $HOME/.asoundrc.

Code:

pcm.simulatedsurround51 {
    type route
    slave {
          pcm surround51
          channels 6
    }
    ttable.0.0 0.9
    ttable.1.1 0.9
    ttable.0.2 0.75
    ttable.1.3 0.75
    ttable.0.4 0.5
    ttable.1.4 0.5
    ttable.0.5 0.5
    ttable.1.5 0.5
}

ctl.simulatedsurround51 {
    type hw
    card 0
}

Of course if you do not have $HOME/.asoundrc you will have to create it.

What the above will do is create simulated surround sound for six channels from a stereo source. I do not recommend using surround sound when playing music because the sound stage will be poor and a lot of frequencies will be canceled out. Music is meant to be played through two channels.

Playing a DVD movie will provide better surround sound experience than the above. Below is an example to play a movie to six channels.

mplayer -channels 6 -ao alsa:device=surround51 dvd://

Playing Linux games through surround sound is the same problem. Most Linux games uses OpenSDL (OpenAL and OpenGL) that only outputs to two channels, so you will have to use the above and create a new file for OpenAL.

I suggest adding the following to $HOME/.asoundrc.
Code:

pcm.simulatedsurround40 {
    type route
    slave {
        pcm surround40
        channels 4
    }
    ttable.0.0 1
    ttable.1.1 1
    ttable.0.2 0.70
    ttable.1.3 0.70
}

ctl.simulatedsurround40 {
    type hw
    card 0
}

For OpenAL to work with simulatedsurround40 add the following to $HOME/.openalrc.
Code:

(define devices '(alsa))
(define alsa-out-device "simulatedsurround40:0,0"))
(define speaker-num 2)

Again, you may have to create $HOME/.openalrc if it is not there.

The rear channels are only there to produce ambient sound which means they are designed to reflect the sound from the wall or furniture and they should never be pointed directly to the listening area.

No I installed Suse Linux 10.2 but still its the same
I have done as you said and created $HOME/.asoundrc
but it doesnt work
What shall i do now ?

pchaffey 03-06-2007 01:48 PM

I have a very simular setup and have the same fault.
 
Hi all,

I have a Creative Audigy 2 NX USB sound card plugged into my laptop which is detected I think correctly by SUSE10.1 as a second sound card.
I can use it with Xine but only with 2 speakers even after trying all of the above (apart from installing 10.2 which didn't seem to help OverCool).

Any ideas how to proceed ?

pchaffey 03-07-2007 09:50 AM

Some more information
 
Quote:

Originally Posted by pchaffey
Hi all,

I have a Creative Audigy 2 NX USB sound card plugged into my laptop which is detected I think correctly by SUSE10.1 as a second sound card.
I can use it with Xine but only with 2 speakers even after trying all of the above (apart from installing 10.2 which didn't seem to help OverCool).

Any ideas how to proceed ?

I have tried using the following commands:

speaker-test -Dhw:1,0 -twav -c2
This produces fine results front left, then bad crackle, and then front right (bad crackle). The output is as follows:


speaker-test 1.0.11rc2

Playback device is hw:1,0
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 262144
Period size range from 48 to 131072
Using max buffer size 262144
Periods = 4
was set period_size = 65536
was set buffer_size = 262144
0 - Front Left
1 - Front Right

and speaker-test -Dhw:1,0 -twav -c5
outputs the following continuously:

Setting of hwparams failed: Invalid argument
Channels count (5) not available for playbacks: Invalid argument

I have added a .asoundrc file as follows, but how can I check if this is being used ?

pcm.simulatedsurround51 {
type route
slave {
pcm surround51
channels 6
}
ttable.0.0 0.9
ttable.1.1 0.9
ttable.0.2 0.75
ttable.1.3 0.75
ttable.0.4 0.5
ttable.1.4 0.5
ttable.0.5 0.5
ttable.1.5 0.5
}

ctl.simulatedsurround51 {
type hw
card 1
}

Many thanks, Paul.

pchaffey 03-09-2007 05:27 AM

Problem solved
 
I have been very dumb.....

I was not using a DVD with 5.1 surround.

Now in Xine, I have changed the 5.1 device to hw:1 and I get
sound from the other speakers.

The sound-test utility still does not work well though.


All times are GMT -5. The time now is 08:18 PM.