I have an update on this front. I downloaded a 8 channel wave file, and when I play it via the 8 channel sink I get perfect channel seperation. If I play the same file via one of the 2 channel sinks then I get the sound reproduced on outputs other than what that sink is tied to BUT the volumes are different making me think this is some kind of virtual surround. Does ALSA or pulse have the ability to cause this, or is this basically the sound card being annoying? Matt Matthew Patterson wrote: > Hello all, > > Today I got a new sound card (Diamon XtremeSound 7.1, CMI8768 chip) so > that I could have more zones in my whole home audio system. I started by > installing the card and running "speaker-test" on it to validate that > all the outputs work, which they do. I then updated my pulseaudio config: > > load-module module-alsa-sink device_id=1 channels=8 sink_name=xtreme > > for the new card, and added a bunch of remapped sinks which serve as the > various playback zones: > > load-module module-remap-sink sink_name=zone1 master=xtreme channels=2 > channel_map=front-left,front-right master_channel_map=front-left,front-right > load-module module-remap-sink sink_name=zone2 master=xtreme channels=2 > channel_map=front-left,front-right master_channel_map=rear-left,rear-right > load-module module-remap-sink sink_name=zone3 master=xtreme channels=2 > channel_map=front-left,front-right master_channel_map=front-center,lfe > load-module module-remap-sink sink_name=zone4 master=xtreme channels=2 > channel_map=front-left,front-right master_channel_map=side-left,side-right > > So now I would think that I could play sound out of zone1 and I would > only hear sound out of the front speakers, but alas this is not the > case. This is what I get: > > Play through zone1: > All speakers play sound > > Play through zone2: > All speakers play sound > > Play through zone3: > front-center,lfe,side-left,side-right play sound > > Play through zone4: > front-center,lfe,side-left,side-right play sound > > > Does this make sense to anyone? Here is what pulse spews when I start it > with verbose output and my config file: > > pulseaudio -n -C -F config.pa -vv > I: main.c: We're in the group 'pulse-rt', allowing real-time and > high-priority scheduling. > I: core-util.c: Successfully gained nice level -11. > W: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted > W: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted > I: main.c: This is PulseAudio 0.9.10 > I: main.c: Page size is 4096 bytes > I: main.c: Fresh high-resolution timers available! Bon appetit! > I: client.c: Created 0 "STDIN/STDOUT client" > I: module.c: Loaded "module-cli" (index: #0; argument: "exit_on_eof=1"). > D: alsa-util.c: Trying surround71:1... > I: module-alsa-sink.c: Successfully opened device surround71:1. > I: module-alsa-sink.c: Successfully enabled mmap() mode. > ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL surround71:1 > I: alsa-util.c: Unable to attach to mixer surround71:1: No such file or > directory > I: alsa-util.c: Successfully attached to mixer 'hw:1' > I: alsa-util.c: Using mixer control "Master". > I: sink.c: Created sink 0 "xtreme" with sample spec "s16le 8ch 44100Hz" > I: source.c: Created source 0 "xtreme.monitor" with sample spec "s16le > 8ch 44100Hz" > I: module-alsa-sink.c: Using 3 fragments of size 17632 bytes. > I: alsa-util.c: ALSA device lacks separate volumes control for channel > 'rear-left', falling back to software volume control. > D: module-alsa-sink.c: Thread starting up > D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+29 > I: module-alsa-sink.c: Starting playback. > I: module.c: Loaded "module-alsa-sink" (index: #1; argument: > "device_id=1 channels=8 sink_name=xtreme"). > I: sink.c: Created sink 1 "zone1" with sample spec "s16le 2ch 44100Hz" > I: source.c: Created source 1 "zone1.monitor" with sample spec "s16le > 2ch 44100Hz" > I: resampler.c: Forcing resampler 'copy', because of fixed, identical > sample rates. > D: resampler.c: Channel matrix: > D: resampler.c: I00 I01 > D: resampler.c: +------------ > D: resampler.c: O00 | 1.000 0.000 > D: resampler.c: O01 | 0.000 1.000 > D: resampler.c: O02 | 1.000 0.000 > D: resampler.c: O03 | 0.000 1.000 > D: resampler.c: O04 | 0.500 0.500 > D: resampler.c: O05 | 0.500 0.500 > D: resampler.c: O06 | 1.000 0.000 > D: resampler.c: O07 | 0.000 1.000 > I: resampler.c: Using resampler 'copy' > I: resampler.c: Using s16le as working format. > I: sink-input.c: Created input 0 "Remapped Stream" on xtreme with sample > spec s16le 2ch 44100Hz and channel map front-left,front-right > I: module.c: Loaded "module-remap-sink" (index: #2; argument: > "sink_name=zone1 master=xtreme channels=2 > channel_map=front-left,front-right > master_channel_map=front-left,front-right"). > I: sink.c: Created sink 2 "zone2" with sample spec "s16le 2ch 44100Hz" > I: source.c: Created source 2 "zone2.monitor" with sample spec "s16le > 2ch 44100Hz" > I: resampler.c: Forcing resampler 'copy', because of fixed, identical > sample rates. > D: resampler.c: Channel matrix: > D: resampler.c: I00 I01 > D: resampler.c: +------------ > D: resampler.c: O00 | 1.000 0.000 > D: resampler.c: O01 | 0.000 1.000 > D: resampler.c: O02 | 1.000 0.000 > D: resampler.c: O03 | 0.000 1.000 > D: resampler.c: O04 | 0.500 0.500 > D: resampler.c: O05 | 0.500 0.500 > D: resampler.c: O06 | 1.000 0.000 > D: resampler.c: O07 | 0.000 1.000 > I: resampler.c: Using resampler 'copy' > I: resampler.c: Using s16le as working format. > I: sink-input.c: Created input 1 "Remapped Stream" on xtreme with sample > spec s16le 2ch 44100Hz and channel map rear-left,rear-right > I: module.c: Loaded "module-remap-sink" (index: #3; argument: > "sink_name=zone2 master=xtreme channels=2 > channel_map=front-left,front-right > master_channel_map=rear-left,rear-right"). > I: sink.c: Created sink 3 "zone3" with sample spec "s16le 2ch 44100Hz" > I: source.c: Created source 3 "zone3.monitor" with sample spec "s16le > 2ch 44100Hz" > I: resampler.c: Forcing resampler 'copy', because of fixed, identical > sample rates. > D: resampler.c: Channel matrix: > D: resampler.c: I00 I01 > D: resampler.c: +------------ > D: resampler.c: O00 | 0.000 0.000 > D: resampler.c: O01 | 0.000 0.000 > D: resampler.c: O02 | 0.000 0.000 > D: resampler.c: O03 | 0.000 0.000 > D: resampler.c: O04 | 1.000 0.000 > D: resampler.c: O05 | 0.000 1.000 > D: resampler.c: O06 | 0.000 0.000 > D: resampler.c: O07 | 0.000 0.000 > I: resampler.c: Using resampler 'copy' > I: resampler.c: Using s16le as working format. > I: sink-input.c: Created input 2 "Remapped Stream" on xtreme with sample > spec s16le 2ch 44100Hz and channel map front-center,lfe > I: module.c: Loaded "module-remap-sink" (index: #4; argument: > "sink_name=zone3 master=xtreme channels=2 > channel_map=front-left,front-right master_channel_map=front-center,lfe"). > I: sink.c: Created sink 4 "zone4" with sample spec "s16le 2ch 44100Hz" > I: source.c: Created source 4 "zone4.monitor" with sample spec "s16le > 2ch 44100Hz" > I: resampler.c: Forcing resampler 'copy', because of fixed, identical > sample rates. > D: resampler.c: Channel matrix: > D: resampler.c: I00 I01 > D: resampler.c: +------------ > D: resampler.c: O00 | 1.000 0.000 > D: resampler.c: O01 | 0.000 1.000 > D: resampler.c: O02 | 1.000 0.000 > D: resampler.c: O03 | 0.000 1.000 > D: resampler.c: O04 | 0.500 0.500 > D: resampler.c: O05 | 0.500 0.500 > D: resampler.c: O06 | 1.000 0.000 > D: resampler.c: O07 | 0.000 1.000 > I: resampler.c: Using resampler 'copy' > I: resampler.c: Using s16le as working format. > I: sink-input.c: Created input 3 "Remapped Stream" on xtreme with sample > spec s16le 2ch 44100Hz and channel map side-left,side-right > I: module.c: Loaded "module-remap-sink" (index: #5; argument: > "sink_name=zone4 master=xtreme channels=2 > channel_map=front-left,front-right > master_channel_map=side-left,side-right"). > I: module.c: Loaded "module-cli-protocol-unix" (index: #6; argument: ""). > I: protocol-native.c: loading cookie from disk. > I: protocol-native.c: using already loaded auth cookie. > I: module.c: Loaded "module-native-protocol-tcp" (index: #7; argument: ""). > I: main.c: Daemon startup complete. > Welcome to PulseAudio! Use "help" for usage information. > >>> I: socket-server.c: TCP connection accepted by tcpwrap. > I: client.c: Created 1 "Native client (TCP/IP client from 127.0.0.1:34905)" > I: client.c: Client 1 changed name from "Native client (TCP/IP client > from 127.0.0.1:34905)" to "Audacious" > I: sink-input.c: Created input 4 "Beatles - Love - All You Need Is Love" > on zone1 with sample spec s16le 2ch 44100Hz and channel map > front-left,front-right > D: memblockq.c: memblockq requested: maxlength=132300, tlength=88200, > base=4, prebuf=86436, minreq=1764 > D: memblockq.c: memblockq sanitized: maxlength=132300, tlength=88200, > base=4, prebuf=86436, minreq=1764 > I: sink-input.c: Freeing output 4 "Beatles - Love - All You Need Is Love" > I: client.c: Freed 1 "Audacious" > I: protocol-native.c: connection died. > > > It just seems so odd that the channels would work perfectly when playing > multi channel audio via alsa, but be all mixed up via pulse. Is there an > equivalent to "speaker-test" that is pulse compatible? > > Thanks, > Matt > > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at mail.0pointer.de > https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss >