Help - Search - Members - Calendar
Full Version: Linux sound architecture / hardware queries
Hydrogenaudio Forums > CD-R and Audio Hardware > Audio Hardware
cheuschober
Afternoon everyone.

So I've been doing my homework digging through the wealth of information found here but, admittedly, I'm very young to the world of linux digital audio so I still have some questions.

Proposal
I'm a long-time foobar user with a large lossless (flac) collection of music stored on a fileserver connected to a windows xp box using foobar and an onboard audigy card to output digital over coax to my dac/ sound system. Having had nothing but instability problems over the last year of using it and being desirious of qam video plackback I want to convert it to a linux machine and use MythTV and linux apps. I run linux on several machines at home so I'm familiar with kernel patching and some of the more laborious tasks but I'm definately a bit afraid of putting my hi-fi to waste by not setting it up properly.

Question 1
In this thread ALSA was discussed extensively as having quality issues with sampling content. I would like to have the cleanest path possible from the decode to the spdif output (in fb2k I used kernel streaming and had a huge jump in quality). Is this unavoidable? Does using the more archaic OSS offer many advantages? I generally have no problem with exclusive rights since it's a media system and multitasking is really not kosher on such systems.

Question 2
My motherboard has an onboard audigy chip which has performed magnificently under windows but I understand (at least in the case of alsa) spdif support is spotty at best. ALSA also lacks an efficient way to search for spdif-out specific hardware support. Assuming I can burn a fair chunk of change on an add-on card can anyone give specific recommendations for an audiophile-quality pci/pcie card? Hardware optimization is of little consequence as the processor is very strong (I do on the fly video filtering) but I'm always wary of hardware that resamples as I have an external DAC to do that task and am not seeking 'good sounding' production as much as I seek 'accurate reproduction.'

Question 3
In keeping with the 'path of least resistance' mentality, am I correct in saying that xine offers the most direct and stable route for decode / encode of flac files without introducing unneeded mixers / equalizers. Or, alternately, if I'm unafraid of such things, does mpd offer the most audiophilic experience? (I already run mpd / mpc on my ipod under ipodlinux) If they're the same I'd prefer something more like gstreamer or xine because of the number of apps that work with them, but quality is foremost in importance.

Question 4
Last question, finally. Informed by thoughts on the third question and reading around, it seems most people prefer amarok or quod libet for large libraries (and I have to admit that I use a number of custom tags so quod libet is especially tasty), does anyone have anything to contribute (in the form of pro's / con's) that I should be aware of?

Thanks for all the help. These forums and its denizens rock.

~Chad
cabbagerat
QUOTE (cheuschober @ Sep 12 2006, 10:29) *
Having had nothing but instability problems over the last year of using it and being desirious of qam video plackback I want to convert it to a linux machine and use MythTV and linux apps. I run linux on several machines at home so I'm familiar with kernel patching and some of the more laborious tasks but I'm definately a bit afraid of putting my hi-fi to waste by not setting it up properly.
As long as you are running a recent distro with a recent kernel you are unlikely to need to patch or mess around under the hood too much at all. I recommend Ubuntu 6.06, but others have had excellent results with Fedora Core, Gentoo, Debian (use testing or unstable) and a variety of other distros.

QUOTE (cheuschober @ Sep 12 2006, 10:29) *
Question 1
In this thread ALSA was discussed extensively as having quality issues with sampling content. I would like to have the cleanest path possible from the decode to the spdif output (in fb2k I used kernel streaming and had a huge jump in quality). Is this unavoidable? Does using the more archaic OSS offer many advantages? I generally have no problem with exclusive rights since it's a media system and multitasking is really not kosher on such systems.

If you have no problem with only allowing one program to use the hardware at a time, then set your programs to use the hw devices (rather than default or plughw) and no resampling or format conversion whatsoever will be performed.

Some cards, such as those based on the ENVY24 family of chipsets, only accept a very strange 32bit padded sample format. You can easily set up a plug (in your .asoundrc file) which converts formats without doing any resampling. The plughw devices do this magically in new versions of ALSA.

Your third option is to continue using dmix, which allows multiple devices to use your soundcard at the same time and switch to a high quality SRC algorithm. This process (for Ubuntu and Debian) is described in the thread you linked to. Other modern distros are unlikely to be much different.

To sum up, you have three options -
  • hw devices. This dumps sample data straight to the driver. No resampling or depth conversion is performed whatsoever.
  • plughw - does the depth conversion that is needed, but does not resample
  • dmix (the default device) - does SRC, mixing and format conversion


QUOTE (cheuschober @ Sep 12 2006, 10:29) *
Question 2
My motherboard has an onboard audigy chip which has performed magnificently under windows but I understand (at least in the case of alsa) spdif support is spotty at best. ALSA also lacks an efficient way to search for spdif-out specific hardware support. Assuming I can burn a fair chunk of change on an add-on card can anyone give specific recommendations for an audiophile-quality pci/pcie card? Hardware optimization is of little consequence as the processor is very strong (I do on the fly video filtering) but I'm always wary of hardware that resamples as I have an external DAC to do that task and am not seeking 'good sounding' production as much as I seek 'accurate reproduction.'
I don't know much about SPDIF support (I don't have an external DAC). You can ask this question on the alsa users mailing list and somebody there might be able to point you at a card which supports bit-perfect SPDIF. I know the SPDIF on my AV710 is supported under Linux, but I don't know whether the card itself does bit-perfect output (although I would guess it does).

QUOTE (cheuschober @ Sep 12 2006, 10:29) *
Question 3
In keeping with the 'path of least resistance' mentality, am I correct in saying that xine offers the most direct and stable route for decode / encode of flac files without introducing unneeded mixers / equalizers. Or, alternately, if I'm unafraid of such things, does mpd offer the most audiophilic experience? (I already run mpd / mpc on my ipod under ipodlinux) If they're the same I'd prefer something more like gstreamer or xine because of the number of apps that work with them, but quality is foremost in importance.

Gstreamer can be set up to work very well indeed, and is more stable than xine in my experience. You might need to ask around a bit to see if it can do bit-perfect output.

QUOTE (cheuschober @ Sep 12 2006, 10:29) *
Question 4
Last question, finally. Informed by thoughts on the third question and reading around, it seems most people prefer amarok or quod libet for large libraries (and I have to admit that I use a number of custom tags so quod libet is especially tasty), does anyone have anything to contribute (in the form of pro's / con's) that I should be aware of?
Amarok is great - it supports very big libraries and plays quite nicely. It's pretty bulky though, and has a couple of annoying bugs. I have used quodlibet for a while and am very happy with it. I really enjoy the way the library support works, tagging support is great and the player itself is also pretty competent (it uses gstreamer as the back end).

Good luck with your quest. You might need to ask a lot of mailing lists and do a lot of searching to find all the answers you are looking for. If you do find stuff out, please come back here and post it for all of us to learn from.
cheuschober
Thank you so much cabbagerat! Some of your other threads have been remarkably helpful in understanding what's going on.

QUOTE (cabbagerat @ Sep 13 2006, 02:03) *
As long as you are running a recent distro with a recent kernel you are unlikely to need to patch or mess around under the hood too much at all. I recommend Ubuntu 6.06, but others have had excellent results with Fedora Core, Gentoo, Debian (use testing or unstable) and a variety of other distros.


I already run ubuntu on one of my other machine and debian stable on my fileserver. biggrin.gif I was actually thinking of possibly compiling a custom kernel with JACK in there but hadn't decided yet. Still, it's good to know that I'll likely not have to hack anything.

QUOTE (cabbagerat @ Sep 13 2006, 02:03) *
If you have no problem with only allowing one program to use the hardware at a time, then set your programs to use the hw devices (rather than default or plughw) and no resampling or format conversion whatsoever will be performed.

Some cards, such as those based on the ENVY24 family of chipsets, only accept a very strange 32bit padded sample format. You can easily set up a plug (in your .asoundrc file) which converts formats without doing any resampling. The plughw devices do this magically in new versions of ALSA.

Your third option is to continue using dmix, which allows multiple devices to use your soundcard at the same time and switch to a high quality SRC algorithm. This process (for Ubuntu and Debian) is described in the thread you linked to. Other modern distros are unlikely to be much different.

To sum up, you have three options -
  • hw devices. This dumps sample data straight to the driver. No resampling or depth conversion is performed whatsoever.
  • plughw - does the depth conversion that is needed, but does not resample
  • dmix (the default device) - does SRC, mixing and format conversion


Hardware devices it is. My only hope is that I can find someway to wrest control of the audio device away from MythTV when my music application is started. I'm certain there's some way to force control to be given over.

QUOTE (cabbagerat @ Sep 13 2006, 02:03) *
I don't know much about SPDIF support (I don't have an external DAC). You can ask this question on the alsa users mailing list and somebody there might be able to point you at a card which supports bit-perfect SPDIF. I know the SPDIF on my AV710 is supported under Linux, but I don't know whether the card itself does bit-perfect output (although I would guess it does).


I had heard about the crazy sampling of the ENVY based products. ALSA's current list of cards doesn't specifically state whether or not spdif support is enabled. I'll definately have to check out the users list but I think finding a card that doesn't resample to a single output samplerate will be the bigger challenge. Of course, this is assuming that if it resamples analog it's resampling digital which I realize might not be the case -- the makers too could be a bit more transparent in this. Most of the time they only list some generic 'output format' statistics without specifying what's happening with the spdif out as opposed to analog. blink.gif

QUOTE (cabbagerat @ Sep 13 2006, 02:03) *
Gstreamer can be set up to work very well indeed, and is more stable than xine in my experience. You might need to ask around a bit to see if it can do bit-perfect output.


I think my aversion to gstreamer was rooted in its inability to do gapless playback. Has that already been remedied?

QUOTE (cabbagerat @ Sep 13 2006, 02:03) *
Amarok is great - it supports very big libraries and plays quite nicely. It's pretty bulky though, and has a couple of annoying bugs. I have used quodlibet for a while and am very happy with it. I really enjoy the way the library support works, tagging support is great and the player itself is also pretty competent (it uses gstreamer as the back end).


I brought up exfalso and amarok last night just to play with them. No luck with gui'ed interfaces on amarok but I'm going to poke through the source and config files and maybe see if I can find references to how the library is organized and how it reads tags. I'd just as soon customize its library view the way I've been able to do so with foobar2k (such as how with genres orchestral, classical, etc if there is a composer create a 'meta-artist' of composer - artist (Bach - London Symphony Orchestra) with conductor information also available on-sight.)

Exfalso seemed strangely limited to me. I'll have to grab quot libet later to see if it has more expansive tagging facilities available to it. If not I can always VT up a copy of foobar and use it to do my tag management but I certainly wouldn't be able to play music in it.

I've also admittedly become quite interested in XMMS2 and its offerings.

QUOTE (cabbagerat @ Sep 13 2006, 02:03) *
Good luck with your quest. You might need to ask a lot of mailing lists and do a lot of searching to find all the answers you are looking for. If you do find stuff out, please come back here and post it for all of us to learn from.


That's a promise. I have a sense that while some of my requests are on the 'fringe' of what we should be asking this hardware / software to do at the same time they can hopefully push for a more complete 'laymens' understanding of what the limitations really are. I certainly know I wish some of this information was more readily available.

In any case thanks. I'll be back in a short while, hopefully, with answers!

~Chad
cheuschober
As promised, as I find stuff out I'll share it.

This little bit I got from the headfi forums (which has a surprisingly strong resource section for 'computers as source')

http://www6.head-fi.org/forums/showthread....highlight=linux
QUOTE
...The AV710 is a good choice for a digital output as well as analog, since it's cheap and has a non-resampling optical output...


Of course, I find this odd since it's a VIA ENVY24PT based solution so there's the 32bit padding, but maybe that doesn't happen in the optical solution? (I've sent an email to chaintech and one to via).

I'm now left to question if it's the main dsp that's handling the digital signal or if there are other components which handle the output.

Still, it'll be curious to see what both companies have to say about the dsp'ing on the card.

Cheers,
~Chad
cheuschober
I have a bit more gathered while I wait for a reply from Keith (from VIA). Though as noted before: I am not a professional with digital audio just an enthusiast. Anything I say here is subject for debate if you think I've got it wrong. Just please don't be a condescending jerk about it. I'm here to learn as much as anyone else. wink.gif

ALSA hw support for most cards that can use the snd-ice1724 driver module is supposedly strong with spdif support.

And this is to the product listing of the Envy Line of DSP's.

If you click on an individual product and scroll down you'll get an image of its block diagram.

Here are several solutions:

ENVY24PT (this is what the Chaintech AV-710 uses)


ENVY24HT-S


ENVY24HT


ENVY24


Now, what I'm seeing here is hopefully what you're seeing. With the exception of the pro-sumer ENVY24 there is an unobstructed path for pcm sound from the pcibus to the spdif-out.

The ENVY24HT I know for a fact uses the snd-ice1724 driver module. I do not know what module the ENVY24HT-S uses as ALSA doesn't have anything listed however being that the ENVY24PT also uses the ice1724 module and the block diagrams for spdif-out are similar on all three cards I can only assume that the ENVY24HT-S also will use the snd-ice1724 driver module.

The ENVY24 uses the snd-ice1712 driver module and, according to the ALSA website, does NOT have spdif working yet.


Currently it seems favor should fall to the ENVY24HT / PT based solutions though these are without a mixer. The ENVY24, as noted has a mixer that I am certain would one day could make use of being an ALSA HW device. As you'll note that one has a 16 channel SRC and DS.

For those desirous of a *slightly* higher quality sound production the ENVY24HT models seem to come equipped with coaxial (which does sound a bit better than optical on my system but it's negligible for most people and more a preference of my dac than the output card).

Again, as I know more I'll be certain to share it.

Cheers,
~Chad

ps. As a sidenote, where the superiority of the AV710 comes into play is that the Wolfson DAC which connects to the PDM input.
cabbagerat
QUOTE (cheuschober @ Sep 13 2006, 12:41) *
ALSA hw support for most cards that can use the snd-ice1724 driver module is supposedly strong with spdif support.
...
The ENVY24HT I know for a fact uses the snd-ice1724 driver module. I do not know what module the ENVY24HT-S uses as ALSA doesn't have anything listed however being that the ENVY24PT also uses the ice1724 module and the block diagrams for spdif-out are similar on all three cards I can only assume that the ENVY24HT-S also will use the snd-ice1724 driver module.
The AV-710 doesn't (as you mentioned) support any sort of mixing or SRC in hardware, so I would imagine that it would be able to put out bit perfect SPDIF. I think it can't in Windows, but as far as I know it's a driver issue that can be fixed by installing the drivers for another card. My feeling is that it should work in bit-perfect on Linux, but I'm not sure.

QUOTE (cheuschober @ Sep 13 2006, 12:41) *
Currently it seems favor should fall to the ENVY24HT / PT based solutions though these are without a mixer. The ENVY24, as noted has a mixer that I am certain would one day could make use of being an ALSA HW device. As you'll note that one has a 16 channel SRC and DS.
...
For those desirous of a *slightly* higher quality sound production the ENVY24HT models seem to come equipped with coaxial (which does sound a bit better than optical on my system but it's negligible for most people and more a preference of my dac than the output card).
Any idea of the quality of the hardware SRC on these cards. Hardware SRC ranges from extremely poor (SB Live!) to excellent (EMU0404 and others). It might be worth getting somebody who owns one of these cards to send you some RMAA results.

As for your co-axial/optical claim - I think you might need to show some ABX results if you are making that claim. Sure, optical SPDIF can introduce more jitter than co-axial in certain circumstances, but claiming it's audible is interesting.

QUOTE (cheuschober @ Sep 13 2006, 12:41) *
ps. As a sidenote, where the superiority of the AV710 comes into play is that the Wolfson DAC which connects to the PDM input.
The Wolfson DAC on this card is excellent, and the card's design and power supply allow it to perform well. It's connected to the rear output (the black plug next to the optical out) and might need a custom ALSA state file to enable it.
cheuschober
QUOTE (cabbagerat @ Sep 13 2006, 23:45) *
Any idea of the quality of the hardware SRC on these cards. Hardware SRC ranges from extremely poor (SB Live!) to excellent (EMU0404 and others). It might be worth getting somebody who owns one of these cards to send you some RMAA results.


No clue what the quality of the src is but I've already sent out a few mails to see what I can collect.

QUOTE (cabbagerat @ Sep 13 2006, 23:45) *
As for your co-axial/optical claim - I think you might need to show some ABX results if you are making that claim. Sure, optical SPDIF can introduce more jitter than co-axial in certain circumstances, but claiming it's audible is interesting.


Like I said it's less a claim on the quality of coax/optical (except in the case of long or winding runs) than it is on what I know my DAC prefers. My DAC shines in many areas but is extremely succeptible to jitter. Sound that comes over XLR is sweeter with a less tinny high and has about 5 more feet of audible depth than coax which is a tinge warmer and about a foot deeper than optical. Several other users of the DAC I currently have have noticed the same thing. Maybe there's a hardware flaw in the optical receiver... who can say, really -- and it also could be attributed to the quality of my optical cable (which I think was a radioshack when my coax is most definately from a stereo store). Knowing the fragility of the optical cables over certain lengths and using my DAC I've just come to trust coaxial more...

QUOTE (cabbagerat @ Sep 13 2006, 23:45) *
The Wolfson DAC on this card is excellent, and the card's design and power supply allow it to perform well. It's connected to the rear output (the black plug next to the optical out) and might need a custom ALSA state file to enable it.


MMhmm. Excellent design on that card overall. It's very enjoyable for me to think that a card that often times can be found for ~$30 outperforms the multi-hundred $$ creative solutions.
cheuschober
Heya folks. Haven't forgotten what was going on here but Via took a while to get back to me...

This is from their tech department (it seems to have had to travel through about 6 different hands to have gotten there).

QUOTE
Dear Banyan,

For the two questions that an end user asked, below is my answer:

1) Our ENVY product line will remain bit-perfect in all bit length. Although we do have a 32-bit digital processor in ENVY24 but we never re-sample the data stream.

2) ENVY line requires input data to be of the same sampling rate at any instance thus to remain bit-perfect. Although mixed bit length are allowed. That is, user can have 16/44.1 and 24/44.1 at the same time or 16/48 and 24/48 at the same time, but not 16/44.1 and 16/48.

I hope this answered the problems.

Best Regard
Wei-Shang Chu


Seems faily straightforward enough.

I'm still on a software search but price and timing considering I've decided to go with the AV-710 for now. I may upgrade it to a Juli@ later because I'm in need of two line-ins after everything gets set up but I've been eyeing a Monarch DIP for a while so this is a decent excuse to purchase one to correct the jitter off the chaintech optical.

~Best
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.