Hi,
after using The Creative Audigy for years (which provides hardware mixing of several streams) I want to ask how good dmix is? Is it automatically configured by Alsa and will it play more streams without problems?
Perhaps I want to buy a sound card with Envy24HT chipset. Does anybody have experince with this chipset in Linux?
I don't think there will be any problems though...
Reviews:
http://jimmyauw.com/2006/08/09/sound-card-comparison/
http://stephan.win31.de/soundk.htm
Alsa:
http://www.alsa-project.org/main/index. ... le-ice1724
Envy24HT and Alsa (dmix)
Re: Envy24HT and Alsa (dmix)
OK, I've bought the ESI Prodigy Hifi: http://www.thomann.de/gb/esi_prodigy_71_hifi.htm
Everything works well.
Everything works well.
Re: Envy24HT and Alsa (dmix)
BTW: dmix resamples everything to 48 kHz, which is not the best idea in terms of sound quality of CDs (44.1 kHz). But it can be changed, just take a look here: http://alsa.opensrc.org/Dmix#Does_dmix_ ... quality.3F
EDIT:
A correct asound.conf looks like this:
EDIT:
A correct asound.conf looks like this:
Code: Select all
pcm.!default {
type plug
slave.pcm "swmixer"
}
pcm.swmixer {
type dmix
ipc_key 1001
slave {
pcm "hw:0,0" #for ICE1724's analog output
#pcm "hw:0,1" # for ICE1724's digital output
#format S32_LE # needed only for ICE1724's digital output.
period_size 1024
buffer_size 4096
rate 44100
#rate 176400 # upsampling
}
}
Re: Envy24HT and Alsa (dmix)
Now that I wanted to use the digital and the analogue part of the card simultaneously, I have modified my asoundrc file. It features a dmix part for digital and analogue output and it routes the sound to both outputs.
Note: of course digital dmix only works for stereo output, if you play some Dolby Digital or DTS you have to stop all stereo before.
Note: of course digital dmix only works for stereo output, if you play some Dolby Digital or DTS you have to stop all stereo before.
Code: Select all
# default ALSA route for software support of multiple sound streams
pcm.!default {
type plug
slave.pcm "digi-ana-copy"
}
pcm.digi-ana-copy {
# this plugin converts channels and applies volume during the conversion
# the format and rate must match for both of them.
type route
slave.pcm {
type multi
# slave D: digital output
slaves.D.pcm "digitaldmix";
slaves.D.channels 2;
# slave A: analog output
slaves.A.pcm "analogdmix";
slaves.A.channels 2;
# bindings table (channel names, that are used for the transfer table)
bindings.0.slave D
bindings.0.channel 0 # 0: digital left
bindings.1.slave D
bindings.1.channel 1 # 1: digital right
bindings.2.slave A
bindings.2.channel 0 # 2: analog left
bindings.3.slave A
bindings.3.channel 1 # 3: analog right
}
# transfer table (bi-dimensional compound of cchannels * schannels numbers)
# the parameter is the transfer volume [0..1]
ttable.0.0 1 # digital left --> digital left
ttable.1.1 1 # digital right --> digital right
ttable.0.2 1 # digital left --> analog left
ttable.1.3 1 # digital right --> analog right
}
# analog part
pcm.analogdmix {
type dmix
ipc_key 1001
slave {
pcm "hw:0,0" # for ICE1724's analog output
period_size 1001
buffer_size 4096
rate 44100 # see cat /proc/asound/card0/pcm0p/sub0/hw_params during playback
}
}
# digital part
# hw:0,1 designates the Digital Coaxial Output
# S32_LE is the only format supported by the driver
# period_time, period_size, and buffer_size are needed to make aRts not stutter. Increase buffer_size if stuttering persists.
pcm.digitaldmix {
type dmix
ipc_key 1002
slave {
pcm "hw:0,1"
format S32_LE
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
}
# pass through device used by ogle
pcm.!spdif {
type plug
slave.pcm "hw:0,1"
}
# pass through device used by mplayer -ac hwac3
pcm.!iec958 {
type plug
slave.pcm "hw:0,1"
}
# just another digital pass through device
pcm.digital {
type plug
slave.pcm "hw:0,1"
}