After a while I got bored with using the remote control and the little green screen on my Naim to suck music from my UPnP server - it's just a little bit too fiddly. I ended up using the excellent Media Monkey to play FLAC, and then send the output out of the optical feed on my sound card to the Naim UPnP player.
That's fine, but then I happened to listen to the player again direct, using streamed FLAC. I noticed straight away that the sound was better when the Naim does the decoding rather than when Media Monkey did it on the PC.
I did suspect I'd turned into a hi-fi moron, but the difference was definitely noticeable and not just the level, it was more complicated than that.
I was sure there was something going on in Media Monkey that I didn't want to be going on there.
Microsoft invented WASAPI (Windows Audio Session API) along with Vista (or Windows 7 service pack -1). The main thing is that it's a way to get sound data to the hardware without any hacking around by the OS... kind of what I want. The problem is that the various media players I can find don't support it, or at least not out of the box.
There are a few obvious ways around that:
- Get a decent UPnP controller so I can drive the output from the UPnP player (FLAC) directly to the media player. That way there's no opportunity for anything other than Naim's decoding and output, plus I can control the player from the computer screen.
- Figure out how to stop Media Monkey screwing around with the sound.
- Find a player which will supports WASAPI to do bit-perfect rendering from Windows 7 directly.
So here's how well all that went, using what's available today. Actually what was available when I started trying to fix this and what was available at the end were slightly different: things move fast with this stuff.
1. Get a decent UPnP Controller
This is the obvious simplest approach.
You'd think that I could drive Windows 7 UPnP directly from Windows Media Player. However Windows Media Player has lots of issues with it, including an inability to do much with FLAC. Even when hacked, it won't stream FLAC - see here.
I'm using the extremely free and reliable UPnP server from Asset, which does stream FLAC and works 100% with Naim's UPnP controller (in Qute). So really I want something to drive that. Options I looked at were:
- Asset's own "Asset Control" was a development project but has the "iPhone" problem: it tries to take over all 30" of my screen and is all black and looks designed for fat greasy fingers. It gets it's knickers in a knot sometimes at least; it's unreliable for me. It works better with Asset v4 Beta; perhaps that's to be expected.
- Many UPnP controllers seem to be iPhone oriented. I don't want another remote control - I'm sitting in front of the highest resolution screen known to man. It's got thousands of colour-calibrated perfect pixels, and it's right here, filling my field of view. I don't want to search around for a bad telephone so I can change tracks on my hi-fi: my computer can do that stuff better.
- Linn's free Kinsey looks reasonable, and although it seems to suffer from iPod UI design is usable on a large screen device, but is not stable with Asset UPnP. But wait... that's version 3 of Asset... and it turns ou that there's a beta of version 4. Let's try that and see if it works any better with Kinsky - people on the forum claim to be using it that way. Version 4.2.3 (November 2011)... still flaky with Asset UPnP v4 Beta.
- I tried Twonky again, but it's extremely hard to get it to work without the Twonky server, which I don't particularly want, and it looks like, well, maybe it would look ok on your TV but it's pretty much from the offensive school of user interface design. I couldn't get it to behave sensibly with my systems.
2. Fix Media Monkey
So what about Media Monkey? Whilst Naim's hardware is expensive, I doubt their code is any different than the public domain stuff, in fact it's probably the same, so why does it sound crappier than I'd like? A little digging turned up the reassuring fact that by default, out of the box, it is in fact crappier than it could be!
By default Media Monkey 3.* runs the audio past windows on the way out. The good news is that the referenced page also tells you how to stop it doing it. The bad news, is that on my machine at least I can't get that to work. I'm on 64-bit Windows, and some parts of the solution seem to be 32-bit only, which could be my issue. Whatever, I foo-barred my Media Monkey 3.* install to the extent of needing a system restore to get it making noise again
But wait... I started this using the latest freebie Media Monkey - 3.2.5.xxx. Having tried pretty much everything I found the Alpha for version 4... and that supports WASAPI out of the box! Media Monkey's nicer to use in my view than JRiver (see below), and free, and even better they released production 4.0 a couple of days ago... yup, that does the job.
3. Find a player which will do bit-perfect rendering from Windows 7 directly
So I need a player which is fully equipped "out of the box" to use WASAPI.
Here's one: JRiver. You just have to switch it on and there it is. I tried it and it does what it's supposed to do. The catches are:
- Is that's another one of those programs which treats all "media" are the same: photos, video, sound, and attempts to take over all your stuff. I think they just don't get it, but I'm quite happy using Adobe Bridge CS5.5 to manage my photos, thanks, and I've no need to use anything other than VLC for my video, thanks again. On the plus side, you can turn all that garbage off and it's then a media player, a bit like Media Monkey only more expensive.
- It's proprietary and costs 50 dollars.
So that's the state of play. I've discovered that my ears are more reliable than they could have been, and that if I want bit-perfect sound from my PC then for the time being I just need to get the latest Media Monkey, which is free and still excellent.