| « Sound regression and new guides | 25 » |
Sound hardware, not-so-sound health
I'm still on devaway, even though I've been active enough the last couple of weeks to not be on devaway. I'm still healing. Still can't spend as much time on the computer as I used to without my eyes getting really uncomfortable and hurty.
I also injured my back, hip, and leg at work two Thursdays ago lugging around heavy boxes improperly. I was not Working Safe/Staying Healthy(tm). So now I'm paying for it by being basically crippled. Sheesh! It's truly one health problem after another with me. There are Old People who have better health. My body's slowly (or not-so-slowly) self-destructing.
To cheer myself up, yesterday I finally purchased a new sound card: Chaintech AV-710. It came today, so I wasted no time installing it. Sounds very nice; there's some noticeable improvement over the onboard Intel HDA chip on my motherboard (Realtek 883, nVidia MCP 55). The lows and highs especially are improved, but that may be due to the additional effort I put in to setting up this card in Gentoo.
The AV-710 uses the VIA Envy24HT-S chip and a VIA DAC, and while that's a great chip in and of itself, the card also has a very fine Wolfson DAC on the rear channels. So after some tinkering, I managed to get stereo 2-channel sound routed through that jack, skipping the usual analog stereo jack. I traded the green plug for the black plug right next to the S/PDIF plug, and it makes a noticeable difference. Got one of these cards and want to use the Wolfson DAC for stereo output? Edit ~/.asoundrc as shown:
pcm.ice1724 {
type hw
card 0
}
ctl.ice1724 {
type hw
card 0
}
pcm.!default {
type plug
slave.pcm "spdif"
}
I also copied the file to /etc/asoundrc and /etc/asound.conf, so that it works system-wide. Only one of these is needed, though. I couldn't find any documentation on this, so I took a guess as to what might be needed. One of 'em works, though, as all my users have working audio.
Part of the setup included disabling the onboard audio in BIOS, removing all Intel HDA support from the kernel and adding the new module (ice1724), editing the various module config files and ALSA_CARDS in /etc/make.conf. I also had to delete /etc/asound.state before running alsaconf as root in order to make sure that my new card was properly setup. Previously, the old asound.state from the nVidia chip was preserved even after running alsaconf and restarting alsasound multiple times. Deleting it and re-running the commands was the only way to get an asound.state for the new card.
So now I have this exceptionally nice-sounding card for only $23. There are a few limits to my new hardware, including speaker quality (cheap Logitech X-230 2.1 speakers, $30) and software output. The problem with using the Wolfson DAC and the accompanying port is that sound isn't being routed to any of the other ports. The front audio ports don't work, and neither does the regular stereo port on the card. I haven't tested the microphone inputs on the front or the back yet. Also, only one bit of software can use the card at a time. If I'm using Audacious, I can't get any sound from mplayer or from a game or a system beep. dmix may fix some of these problems, but I'm not sure, as I haven't ever had to use it or configure it.
I may end up using the regular VIA DAC instead of the Wolfson, simply because I don't want to have to perform software switches just to enable headphones/headsets for Skype or UT2004. Much easier to just plug in the hardware when desired.
Finally, rerouting sound through the Wolfson DAC has somehow completely disabled software sound control. None of the volume sliders in alsamixer, gnome-volume, Audacious, etc. work. Neither do any of the mute functions. The only thing that works is the volume knob on the X-230 speakers themselves. Weird. So I have three tasks:
1. Determine if I'd get even better sound by upgrading my speakers
2. Figure out how to enable other ports for headphone/headset/microphone use
3. Get software volume controls working again
To sum up: life was much simpler, though not as good-sounding, before I bought my new gear. Still, I'm keeping it. I now have better playback quality and a decent line-in port for future audio recording purposes.
I've been thinking of buying this card solely for its MIDI port. It's supposedly a Chaintech AV-512, but at only $10, it's really just a knock-off imitation. It's got an old C-Media CMI 8738 chip, so it'd be useless for everything but MIDI input. Not sure if I'll get it yet. I'll have to see how well I do with figuring out basic line-in recording before moving on to anything as complex as MIDI controllers!
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
4 comments
About MIDI, well, I don't think you need a card for that: most of modern MIDI controllers (i.e.: keyboards) have USB capabilities, there's a spec for MIDI over USB, and Linux supports that quite well through the usb-midi driver in ALSA. I'm using one myself and works great.
If you really want a MIDI card, I'd suggest an EchoAudio Mia MIDI, but the price is quite higher (I'm considering buying it too, but when I'll find a new job ;) ).
Working with hardware is kinda relaxing, when it isn't frustrating!
No, I specifically need a MIDI card, as my keyboard has only MIDI ports, not USB. Sure, there are MIDI-to-USB adapter cables, but those mostly don't work in Linux, and the ones that do are at least $40, which is too much. It's cheaper to get a $10 sound card with a MIDI/joystick port, and a MIDI-to-joystick adapter cable for about $6 to $20, depending on where I look.
Also, that MiaMIDI card doesn't look too good for Linux usage. I read the product page, found here:http://www.echoaudio.com/Products/PCI/MiaMIDI/index.php
Says the MIDI functions of MiaMIDI only work under Windows [...] and Mac. It's also extremely expensive. Ouch.
You didn't specify you got the controller already, so I thought you were going to buy one, that's why I suggested USB ;)
Another option would be a MIDI to USB converter as you said, maybe not in cable format, I've seen some multiport MIDI-to-USB devices, using standard USB MIDI class, but I admit I'm not sure of the price. Of course it might be that for once prices are better in Europe, a 2 inputs/2 outputs MIDI to USB interface I can find for
on my machine (2.6.23 with in kernel alsa), the chaintech card exports two devices. `aplay -l` gives
card 2: AV710 [Chaintech AV-710], device 0: ICE1724 [ICE1724]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: AV710 [Chaintech AV-710], device 1: IEC1724 IEC958 [IEC1724 IEC958]
Subdevices: 0/1
Subdevice #0: subdevice #0
and the wolfson dac (and I believe also the spdif port) turns out to be on device 1, while device 0 is via's 5.1 channel dac. To `route' sound to both devices, you need to first add a `multi' plugin in your ~/.asoundrc. e.g., the following setup an 8-channel pcm device called 710all, with wolfson output mapped to the last two channels
pcm.710all {
type multi
slaves {
wolfson {
pcm "hw:AV710,1"
channels 2
}
via {
pcm "hw:AV710,0"
channels 6
}
}
bindings {
0 {
slave via
channel 0
}
1 {
slave via
channel 1
}
2 {
slave via
channel 2
}
3 {
slave via
channel 3
}
4 {
slave via
channel 4
}
5 {
slave via
channel 5
}
6 {
slave wolfson
channel 0
}
7 {
slave wolfson
channel 1
}
}
}
then wrap it up with a softvol plugin to control its overall volume. The following setup a "SoftMaster" mixer to be used in alsamixer and like:
pcm.710soft {
type softvol
slave.pcm 710all
control {
name "SoftMaster"
card AV710
}
}
now you can setup different channel routers for different sources. e.g., for a stereo source, the following will upmix the left channel to channels 0,2,4,5,6 of the multi device, and the right one to channels 1,3,4,5,7:
pcm.710um20 {
type plug
slave.pcm 710soft
slave.channels 8
ttable {
0.0 1
0.2 1
1.1 1
1.3 1
0.4 0.5
1.4 0.5
0.5 0.5
1.5 0.5
0.6 1
1.7 1
}
}
and play your file using e.g. `mplayer -ao alsa:device=710um20 foo.flac` and enjoy all the ports on your card! Of course you can slave it with pcm.!default.