This popular program for Mac and Windows needs some tweaks in order to make it sound good on Windows
Confusingly, the settings you can make for iTunes cannot be found in iTunes itself, but in the technology that it uses: the good old Quicktime Player! All filters and codecs that iTunes can use are actually ‘hidden’ in Quicktime. I never knew about this until I read it somewhere in a forum. I understand that Apple likes plug and play and won’t bore us with these kinds of details but I am glad that I found out because in standard form, iTunes doesn’t sound very good running on Windows XP or Windows 7.
The thing is, in order to provide the most fool-proof method of installation, iTunes picks whatever settings are specified in Windows’ default sound settings. This means that it probably picks the integrated soundcard on the motherboard. And that is a bad thing. Why? First off, it will use kmix, Windows’ internal mixer that resamples and levels all sounds into the same stream in order to be compatible with any sound you could possibly try to reproduce. Second, the built-in soundcard may not be the best card you have installed. I for one, like to use a separate soundcard for my music, apart from the soundcard I use for system notifications such as “you’ve got mail”.
As I said, there are some settings you can make for iTunes but you need to look for them in the Quicktime player as can be seen in the image above. Choose preferences and then Quicktime preferences. This will give you the following window.
Contrary to some other applications, there is not an awful lot you can set here but still this step is very important. You can choose between Safe Mode (waveout only) or Direct Sound. Now, even though officially DirectSound should be better and it is therefore used by default, I strongly advise to use Safe mode via Wave Out. I don’t know what Apple means by “safe mode” but I do know that it sounds an unbelievable amount better than the Direct Sound option. While the latter sounds thin, flat, slow and unexciting, the Safe mode sounds much more musical, fuller, more fluid, grander and simply more like real music.
This was a very important setting to be made here. But as you’ve probably already gathered, there’s also the bitrtate/samplerate option. This one you can use to your own insight. In general: if your source files are 44/16 (CD-based mp3’s or wav’s) you best pick the same settings. They should already be set like that by default as it is the most common used setting. If you choose a higher rate, the program will simply upsample. And it does that quite well. In my case I have set 24/96 as I have many LP-recordings made in that resolution and playing 44k files through the upconversion provides a nice airyness that I like. Opinions may vary though and if you are after bit-perfection, you better choose your rates accordingly.
As a side note, iTunes does not play FLAC. It does Apple Lossless however so maybe you could convert your files if you need to. This I have not confirmed yet.
USB audio devices are just like any other audio device to XP, and have the same options (DirectSound, WaveOut, ASIO/WDM, Kernel Streaming). With iTunes and XP, since ASIO and kernel streaming are NOT options, then, even with USB, you are not bit perfect. But there is something to be done by means of a clever program called Virtual Cable. This program may look a little daunting at first but really isn’t that hard to get to grips with.
Above is the Virtual Cable control panel. In here you specify the samplerate and bitrate you want for this particular virtual cable. You can set a range or narrow it down. You can specify how many insertion points there are on this cable for other (Windows) applications to use and you can enable volume control. Although this is convenient because it also gets picked up by the system and all ancillaries such as keyboards with volume buttons will remain fully operable, it is not good for the sound. As soon as you have specified everything, after a restart, this virtual cable will appear everywhere systemwide next to the other devices you could choose from. Remember, we want to get the best sound from iTunes and thus we should avoid the Windows kmixer. To do this, first select the virtual cable you just made in the default sound settings in Windows. This means that every application will pick the virtual cable as output device. Since iTunes simply takes whatever Windows specifies, it now also routes straight into the virtual cable. Can you see where this is going? But we’re only halfway there. To finish the process, we also have to pick up the other end of the virtual cable. That is done with a helper program which is part of Virtual Cable. In this case we choose the Audio Repeater (kernel streaming) which is shown in the image below.
The audio repeater simply does what it says: it repeats the audio by accepting an input stream and sending it on its way again. It sounds elaborate but it is done this way so that you can have multiple instances of the repeater, sending the stream to various devices and even create loops. But for our use it is enough to simply select the input, which should be the virtual cable we created earlier and the output, which should be the soundcard of your choice. You may need to tinker with the buffer and parts in order to get a stutter-free signal and bring under/overflow to zero. Then, you will notice that your soundcard picks up the signal directly from the virtual cable.
“Connected” this way, iTunes sounds so much tighter and more dynamic than it does when iTunes iss playing standalone! Out is the Windows kmixer, and all that still stands in the way of perfection are the filters buried in Quicktime. But fear not, they are quite transparant. Not entirely, but the effect is negligible and bypassing the kmixer makes for such a drastic improvement that you’ll likely be quite surprised already by the improvement.
You will only need to specify the virtual cable once but you will need to open and start the repeater every time you boot. There is a way around this though, by adding it to the startup items and adding /Autostart to the infobox of the shortcut so that it starts up after booting your system. For this and further info, I refer back to the included manual.
Update 24-11-2010
Virtual Cable appears not to be entirely stable. No matter what settings I make to the control panel or audiorepeaters (buffer size/parts/Ms per interrupt), I still get tiny sampling errors every now and then. If I play music the entire day through a Virtual Cable straight to my soundcard, I will typically hear an effect one or two instances that can only be described as a faulty/dusty volume control or momentary wear on an analogue tape. This effect lasts shorter than a second but it is clear that the sampling is off at these moments and then catches on again. So even though the effect of Virtual Cable cannot be underestimated (it makes a fine player out of otherwise crappy sounding iTunes) this is something to be aware of. Reading through the documentation provided by Virtual Cable it is indeed mentioned that the stream is reliable but doesn’t remain locked forever. But this mostly applies for secondary instances of the Audio Repeater where, for instance, you send a signal from iTunes to your main soundcard but simultaneously also to another soundcard. When you send two Virtual Cables from iTunes at the same time this problem exacerbates and results in a corrupted stream that doesn’t lock in again after a second. Looping the signal (from iTunes to soundcard A and from there to soundcard B by means of two instances of the Audio Repeater) does work fairly well but still has the incidental problem described above.
Conclusion
Even when set optimally, iTunes still sounds underwhelming and there is no built in way to directly route its sound ouput. What are the options?
- Use Virtual Cable and accept the slightly lower user friendlyness and occasional 1-second sampling error.
- Buy a MAC. iTunes sounds much better on a Mac.
- Hope that a future version of QT provides a ASIO/WDM plug-in or at least the option to select your soundcard directly.
- Don’t just hope, but join me in harrassing Apple about this via the “provide feedback” link in the application.