Music & audio baloney


I wouldn't describe myself as an 'Audiophile', but I do own a lot of music (over 400 CD's, at last count).  As a collector of music, I have 2 primary problems:  How to store it, and how to actually listen to it, while still trying to keep it organized.

 

About 2 years ago, I re-ripped all the CD's I own as lossless WMA with ExactAudioCopy.  Then, about 7 months ago, I did it again (and for the last time!) using ExactAudioCopy with the AccurateRip feature (if you rip the Elmopalooza CD, and see only 1 other CRC listed, that's mine :-).  Problem 1 solved:  Don't touch the CD's, just use the bits from my server.

 

Now I need a tolerable way to distribute this music amongst my various listening devices.  Turns out that Lossless WMA is about the worst supported format EVER!  It's only supported on Windows PCs.  It doesn't work on any MCX devices, it doesn't work on Windows Mobile devices, it doesn't work on PlaysForSure devices, and it certainly doesn't work on WMA enabled CD/DVD players.  And its decode speed is, uh, less than stellar (On my dual core dual proc opteron 2.2Ghz box at work, running music in the background consumes 5 minutes per hour or so of CPU time)

 

So...

 

I came across the TTA format, and am currently running a script to recompress all my music to TTA format.  Why?  Because TTA comes with some awfully nice DirectShow filter codecs, that should (if the documentation is correct) allow me to play this music over my MCX XBox connection to my Media Center PC - a combination that doesn't work with WMA.  TTA is also dramatically faster to compress & decompress, with an overall size increase of maybe 3% (OK, with my music collection, that translates to about 4 Gigabytes, but when you have nearly a terabyte of storage, whats a few Gigs?).  Many folks have asked me why I bother with lossless audio compression.  The primary reason why is because I have different devices that allow my wife or I to listen to music when in the car (very old Aiwa MP3 CD), in the minivan (newer Pioneer MP3 CD/DVD), on my bicycle (Dell Axim), or on a treadmill / on a bookshelf stereo (20G Archos Jukebox Recorder).  And when I listen to music, I don't like to heard crappy sound.  So, if I 'archived' my music, even at 320KBps MP3, then re-encode it as some random lossless format, I want as pristine sound as is sensible for the listening environment, with pleasant media info tagging, as well.  And I have a custom utility that does just that.  Translating from 1 lossy format to another is just a very very bad idea.  If you don't believe me, try re-encoding a JPEG 3 times at 80% quality, and watch how bad it gets.

 

One final note:  I buy CD's.  I generally buy used CD's, but I do not buy musical bits from an online seller, because I refuse to agree to the licensing terms.  I want to be able to listen to my music where ever I want.  And if I don't want to listen to it anymore, I want to be able to sell it to someone else.  If someone can show me an online music peddler that allows this, I might think about it.  But then I notice that they sell the music in some crappy lossy format, and realize:  If I wanted lossy, I'd still listen to cassettes 🙂

 

Sorry for the meandering.  I'm still trying to get this whole concept congealed into a single useful tool.  Maybe I'll stick some source code here some day.  (I talk about it in my Dot Net show appearance).  'nuff rambling, back to work (I"m on the 64 bit JIT team, now, BTW)

 

-Kev


Comments (4)

  1. Max Battcher says:

    Did you look into FLAC (http://flac.sourceforge.net)? It’s the free, open source lossless format. More devices are supporting it natively. Not sure about DirectShow filters, but I bet you can find some.

  2. Kevin Frei says:

    I looked at Flac & TTA – both are Open Source, but TTA comes with the DS filters in the original project – it’s not some random addon project that may be out of date. I’m also quite happy with the fact that the entire algorithm fits in one C file. I’ve built the TTAENC application for AMD64 and get about 15% faster encode times, too :-). Currently, the DS Filter is missing the ability to expose the ID3 tags to WMP, but other than that, it’s great.

  3. gifford says:

    What does it take to get WMP to show metadata for non-ASF files ?

    In the DirectShow SDK, I see there is an IAMMediaContent interface (exposed, e.g., by the "MPEG-1 Stream Splitter Filter"), but there is a specific note that "Microsoft® Windows Media™ Player does not use this interface to display metadata."

    Is that note just misleading, or is there something else that has to be implemented ?

Skip to main content