2009-04-27, 14:58
First, I'm very impressed with XBMC's wide feature list, codec support and nice GUI. Thank you for the creators/developers who made this fantastic, almost perfect HTPC frontend possible.
As a serious hifi fan and HTPC user, I'd like to express my concerns about XBMC's audio engine. In my opinion, high quality audio (and video) playback is the single most important aspect of any mediaplayer system, be it a hardware gadget or a HTPC, that is not destined to be a shophisticated toy in the long term.
Now, in terms of audio: 1) A bit-accurate signal path from the codec output to the audio interface input is essential in the first place. 2) High quality codecs are also neccesary. 3) Sophisticated signal processing (volume control, sample rate conversion, replay gain analysis etc.) is welcomed, though external A/V receivers mostly have all the features that are needed and they implement usually state-of-the-art.
XBMC (at least OS X and Windows ports) badly lacks the first ingredient, more or less has the second, and who knows about the third. Specifically, on OS X XBMC (Babylon) has an effective 14 bit output resolution, on Windows the case is even worse (zero gain output setting is not even possible, as far as I can tell).
I wanted to check XBMC's FLAC playback capabilities, hooked up my Mac's SPDIF optical output to a DAW with an RME studio soundcard and played a FLAC file in XBMC. All volume controls set to 0 dB, SPDIF output configured to 24 bit/44.1 kHz, Replay Gain turned off. Then I compared the recorded output bit-by-bit to the original wav, and made the difference of the two. The difference wav file contains noise @-90 dB, the two least significant bits of XBMC's output is, unfortunately, purely noise.
The culprit is not the FLAC decoder as wav playback gives the same results. Core Audio is also flawless, I confirmed the with another software player ('Play') with the same file, with the same Core Audio settings and output - result was bit-accurate.
There must be some hidden processing in XBMC's audio chain that is not supposed to be there. Does anybody have an idea what is that?
The second problem is that XBMC for Mac always produces 16 bit (SPDIF) output, although the mp3 decoder has 24 bit output, and Core Audio is set to 24 bit output. How can that be? Interesting that XBMC for Windows in contrast always produces 24 bit output, although CD sources have only 16 bit wordlength.
Thanks a lot
As a serious hifi fan and HTPC user, I'd like to express my concerns about XBMC's audio engine. In my opinion, high quality audio (and video) playback is the single most important aspect of any mediaplayer system, be it a hardware gadget or a HTPC, that is not destined to be a shophisticated toy in the long term.
Now, in terms of audio: 1) A bit-accurate signal path from the codec output to the audio interface input is essential in the first place. 2) High quality codecs are also neccesary. 3) Sophisticated signal processing (volume control, sample rate conversion, replay gain analysis etc.) is welcomed, though external A/V receivers mostly have all the features that are needed and they implement usually state-of-the-art.
XBMC (at least OS X and Windows ports) badly lacks the first ingredient, more or less has the second, and who knows about the third. Specifically, on OS X XBMC (Babylon) has an effective 14 bit output resolution, on Windows the case is even worse (zero gain output setting is not even possible, as far as I can tell).
I wanted to check XBMC's FLAC playback capabilities, hooked up my Mac's SPDIF optical output to a DAW with an RME studio soundcard and played a FLAC file in XBMC. All volume controls set to 0 dB, SPDIF output configured to 24 bit/44.1 kHz, Replay Gain turned off. Then I compared the recorded output bit-by-bit to the original wav, and made the difference of the two. The difference wav file contains noise @-90 dB, the two least significant bits of XBMC's output is, unfortunately, purely noise.
The culprit is not the FLAC decoder as wav playback gives the same results. Core Audio is also flawless, I confirmed the with another software player ('Play') with the same file, with the same Core Audio settings and output - result was bit-accurate.
There must be some hidden processing in XBMC's audio chain that is not supposed to be there. Does anybody have an idea what is that?
The second problem is that XBMC for Mac always produces 16 bit (SPDIF) output, although the mp3 decoder has 24 bit output, and Core Audio is set to 24 bit output. How can that be? Interesting that XBMC for Windows in contrast always produces 24 bit output, although CD sources have only 16 bit wordlength.
Thanks a lot