Le 02/09/2010 15:52, Jaroslav Kysela a écrit :
>
> On Thu, 2 Sep 2010, Cyril Russo wrote:
>
>>
>> Hi,
>>
>> I've an issue with my new Creative Audigy sound card.
>> I'm using a Debian Squeeze (with official 2.6.32-5-amd64 kernel) system.
>> I've done this step to ensure I'm using the latest version:
>> sudo module-assistant auto-install alsa (which installed the driver from
>> alsa-driver 1.0.23's package)
>>
>> The sound card is correctly detected and it's working, but I've an
>> issue, in that each channel appears as a different device.
>> So in all the software using Alsa I have to select a device and it
>> outputs on a single stereo channel for this particular device.
>>
>> For example, this command lists:
>> # aplay -l
>> **** List of PLAYBACK Hardware Devices ****
>> card 0: CA0106 [CA0106], device 0: ca0106 [CA0106]
>> Subdevices: 1/1
>> Subdevice #0: subdevice #0
>> card 0: CA0106 [CA0106], device 1: ca0106 [CA0106]
>> Subdevices: 1/1
>> Subdevice #0: subdevice #0
>> card 0: CA0106 [CA0106], device 2: ca0106 [CA0106]
>> Subdevices: 1/1
>> Subdevice #0: subdevice #0
>> card 0: CA0106 [CA0106], device 3: ca0106 [CA0106]
>> Subdevices: 1/1
>> Subdevice #0: subdevice #0
>>
>> Here the /proc/asound dump:
>> # find /proc/asound/
>> /proc/asound/
>> /proc/asound/CA0106
>> /proc/asound/card0
>> /proc/asound/card0/id
>> /proc/asound/card0/midi0
>> /proc/asound/card0/iec958
>> /proc/asound/card0/ca0106_reg32
>> /proc/asound/card0/ca0106_reg16
>> /proc/asound/card0/ca0106_reg8
>> /proc/asound/card0/ca0106_regs1
>> /proc/asound/card0/ca0106_i2c
>> /proc/asound/card0/ca0106_regs2
>> /proc/asound/card0/pcm3c
>> /proc/asound/card0/pcm3c/sub0
>> /proc/asound/card0/pcm3c/sub0/prealloc_max
>> /proc/asound/card0/pcm3c/sub0/prealloc
>> /proc/asound/card0/pcm3c/sub0/status
>> /proc/asound/card0/pcm3c/sub0/sw_params
>> /proc/asound/card0/pcm3c/sub0/hw_params
>> /proc/asound/card0/pcm3c/sub0/info
>> /proc/asound/card0/pcm3c/info
>> /proc/asound/card0/pcm3p
>> /proc/asound/card0/pcm3p/sub0
>> /proc/asound/card0/pcm3p/sub0/prealloc_max
>> /proc/asound/card0/pcm3p/sub0/prealloc
>> /proc/asound/card0/pcm3p/sub0/status
>> /proc/asound/card0/pcm3p/sub0/sw_params
>> /proc/asound/card0/pcm3p/sub0/hw_params
>> /proc/asound/card0/pcm3p/sub0/info
>> /proc/asound/card0/pcm3p/info
>> /proc/asound/card0/pcm2c
>> /proc/asound/card0/pcm2c/sub0
>> /proc/asound/card0/pcm2c/sub0/prealloc_max
>> /proc/asound/card0/pcm2c/sub0/prealloc
>> /proc/asound/card0/pcm2c/sub0/status
>> /proc/asound/card0/pcm2c/sub0/sw_params
>> /proc/asound/card0/pcm2c/sub0/hw_params
>> /proc/asound/card0/pcm2c/sub0/info
>> /proc/asound/card0/pcm2c/info
>> /proc/asound/card0/pcm2p
>> /proc/asound/card0/pcm2p/sub0
>> /proc/asound/card0/pcm2p/sub0/prealloc_max
>> /proc/asound/card0/pcm2p/sub0/prealloc
>> /proc/asound/card0/pcm2p/sub0/status
>> /proc/asound/card0/pcm2p/sub0/sw_params
>> /proc/asound/card0/pcm2p/sub0/hw_params
>> /proc/asound/card0/pcm2p/sub0/info
>> /proc/asound/card0/pcm2p/info
>> /proc/asound/card0/pcm1c
>> /proc/asound/card0/pcm1c/sub0
>> /proc/asound/card0/pcm1c/sub0/prealloc_max
>> /proc/asound/card0/pcm1c/sub0/prealloc
>> /proc/asound/card0/pcm1c/sub0/status
>> /proc/asound/card0/pcm1c/sub0/sw_params
>> /proc/asound/card0/pcm1c/sub0/hw_params
>> /proc/asound/card0/pcm1c/sub0/info
>> /proc/asound/card0/pcm1c/info
>> /proc/asound/card0/pcm1p
>> /proc/asound/card0/pcm1p/sub0
>> /proc/asound/card0/pcm1p/sub0/prealloc_max
>> /proc/asound/card0/pcm1p/sub0/prealloc
>> /proc/asound/card0/pcm1p/sub0/status
>> /proc/asound/card0/pcm1p/sub0/sw_params
>> /proc/asound/card0/pcm1p/sub0/hw_params
>> /proc/asound/card0/pcm1p/sub0/info
>> /proc/asound/card0/pcm1p/info
>> /proc/asound/card0/pcm0c
>> /proc/asound/card0/pcm0c/sub0
>> /proc/asound/card0/pcm0c/sub0/prealloc_max
>> /proc/asound/card0/pcm0c/sub0/prealloc
>> /proc/asound/card0/pcm0c/sub0/status
>> /proc/asound/card0/pcm0c/sub0/sw_params
>> /proc/asound/card0/pcm0c/sub0/hw_params
>> /proc/asound/card0/pcm0c/sub0/info
>> /proc/asound/card0/pcm0c/info
>> /proc/asound/card0/pcm0p
>> /proc/asound/card0/pcm0p/sub0
>> /proc/asound/card0/pcm0p/sub0/prealloc_max
>> /proc/asound/card0/pcm0p/sub0/prealloc
>> /proc/asound/card0/pcm0p/sub0/status
>> /proc/asound/card0/pcm0p/sub0/sw_params
>> /proc/asound/card0/pcm0p/sub0/hw_params
>> /proc/asound/card0/pcm0p/sub0/info
>> /proc/asound/card0/pcm0p/info
>> /proc/asound/pcm
>> /proc/asound/timers
>> /proc/asound/modules
>> /proc/asound/cards
>> /proc/asound/devices
>> /proc/asound/version
>> /proc/asound/seq
>> /proc/asound/seq/timer
>> /proc/asound/seq/clients
>> /proc/asound/seq/queues
>> /proc/asound/seq/drivers
>> /proc/asound/oss
>> /proc/asound/oss/sndstat
>> /proc/asound/oss/devices
>>
>> # cat /proc/asound/cards
>> 0 [CA0106 ]: CA0106 - CA0106
>> Audigy SE [SB0570] at 0xcf00 irq 18
>>
>> # cat /proc/asound/devices
>> 0: [ 0] : control
>> 1: : sequencer
>> 8: [ 0- 0]: raw midi
>> 16: [ 0- 0]: digital audio playback
>> 17: [ 0- 1]: digital audio playback
>> 18: [ 0- 2]: digital audio playback
>> 19: [ 0- 3]: digital audio playback
>> 24: [ 0- 0]: digital audio capture
>> 25: [ 0- 1]: digital audio capture
>> 26: [ 0- 2]: digital audio capture
>> 27: [ 0- 3]: digital audio capture
>> 33: : timer
>>
>>
>> I've an empty .asoundrc (Using a more complex .asoundrc I'm able to
>> duplicate a channel to all other channels, but it's only duplication,
>> it's the same sound on all channels)
>> As such the audio softwares usually list this while enumerating the
>> devices:
>> ALSA device: hw:CA0106,0 outs=2-2 ins=2-2 rates=3
>> ALSA device: hw:CA0106,1 outs=2-2 ins=2-2 rates=3
>> ALSA device: hw:CA0106,2 outs=2-2 ins=2-2 rates=3
>> ALSA device: hw:CA0106,3 outs=2-2 ins=2-2 rates=3
>>
>> I want them to list a single device with 8 outputs, and not 4 devices
>> with 2 outputs.
>> I have other systems with different sound cards and it's the first time
>> I'm seeing this.
>
> Use surround71 device (like 'aplay -D plug:surround71'). It combines
> the stereo devices to a 8-channel device.
Hi,
Yes, that's what I've did (used speaker-test and a redirection in
.asoundrc, but it's the same idea). However some software don't allow to
set up the audio device as a text, but instead enumerate them using
alsa's functions.
In that case, I can't set them to plug:surround71, and I can only select
one of the devices (stereo pair).
How come alsa list all channels as separate devices, at first ? Is it
possible to change this ?
For information, I've put this inside my .asoundrc :
pcm.!default {
type plug
slave.pcm "multi"
}
pcm.multi {
type multi;
slaves.a.pcm "hw:0,0";
slaves.a.channels 2;
slaves.b.pcm "hw:0,1";
slaves.b.channels 2;
slaves.c.pcm "hw:0,2";
slaves.c.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
bindings.4.slave c;
bindings.4.channel 0;
bindings.5.slave c;
bindings.5.channel 1;
}
Best regards,
Cyril
------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:
Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user