FLAC playback on Play and Songbird

Discuss Play, an open source multi-format audio player.
Post Reply
laxer.fool
Posts: 1
Joined: Wed Feb 11, 2009 9:37 pm

FLAC playback on Play and Songbird

Post by laxer.fool » Wed Feb 11, 2009 9:44 pm

Has anyone else noticed that FLAC files sound slightly different on Play than they do on Songbird? I've noticed the same thing on iTunes and Play with mp3 files too. Is there some kind of hidden DSP that iTunes uses to try and sound better than other media players that Songbird is trying to copy? Does anyone know what I'm talking about?

boringenormous
Posts: 5
Joined: Fri Mar 13, 2009 8:28 pm

Re: FLAC playback on Play and Songbird

Post by boringenormous » Sat Apr 04, 2009 1:39 am

There is no hidden DSP in iTunes unless you are using the EQ settings. Whether I use Songbird to play FLACs or iTunes to play Apple Lossless files on my Mac through my AV receiver using an optical cable they both sound identical using either program. However, as it notes on the main page for Play, "Play processes all audio using 32-bit floating point precision, providing the highest possible playback quality for files sampled at all bit depths." It may be resampling the audio, which can alter the way it sounds, for better or worse. This may explain the differece in sound, though it may also be a placebo effect.

User avatar
sbooth
Site Admin
Posts: 2445
Joined: Fri Dec 23, 2005 7:45 am
Location: USA
Contact:

Re: FLAC playback on Play and Songbird

Post by sbooth » Sat Apr 04, 2009 8:45 am

There is no resampling (changing of the audio's sample rate) performed in Play; however the audio hardware will resample as necessary for the desired output. As far as the conversion to float is concerned, for less than 24 bit audio the transformation is essentially lossless.

rsdio
Posts: 7
Joined: Mon Jun 23, 2008 10:27 pm

Re: FLAC playback on Play and Songbird

Post by rsdio » Tue Jan 12, 2010 12:44 pm

I have noticed that Play.app is not always bit-transparent for 16-bit sources at higher sample rates. This may be limited to FLAC, since my Play.app Library is exclusively FLAC. I do have some 24-bit FLAC files, but it's basically impossible for me to know whether they're bit transparent without a lot of effort.

My test is to use TobyBear BitViewer and digital loopback in my audio interface, along with AULab to host the AudioUnits. This allows me to check frequency response, amplitude, and bit depth without installing anything in the system like Audio Hijack or Soundflower which might upset things.

For reference, with my iTunes settings (all EQ, Sound Check, Master Volume, and anything else that might alter the audio disabled), all 16-bit audio makes it to the 24-bit audio interface as pure 16-bit data. I'm sure that iTunes also uses 32-bit float internally, so this proves that it's possible to be bit-transparent. But I have to make sure that the audio interface sample rate is set to match the file before launching iTunes.

My guess is that Play.app is inadvertently causing the AUHAL to perform SRC, even though the file and interface match. I just downloaded the source for Play.app today, but have not had a chance to review it.

This is the long way of saying that the differences in sound quality that you hear may not be a placebo effect, at least not if your files and settings are similar to mine. I'm not saying that I hear anything wrong - my new interface seems to make even mediocre MP3 files sound good - but I do know that my interface is not getting the same data that is in the file.

User avatar
sbooth
Site Admin
Posts: 2445
Joined: Fri Dec 23, 2005 7:45 am
Location: USA
Contact:

Re: FLAC playback on Play and Songbird

Post by sbooth » Tue Jan 12, 2010 4:47 pm

One possible explanation, which will go away in the next release, is that Play uses a limiter audio unit to adjust the pregain of the signal for RG purposes and to prevent clipping. When RG is disabled in Play, the audio unit itself is not disabled (to perform clipping prevention), so it is possible that if a signal would clip that it would alter the signal slightly.

I believe this to be a mostly moot point, because if RG is disabled then the audio is normalized as it is decoded, and so can't clip- so the AU shouldn't do anything.

The next version of Play will not use this method of RG application.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest