I had a bit of a breakthrough with AirPlay and MC20 today!
After fiddling with Linked Zones and DLNA streaming again and not getting the sync close enough, I gave up and decided to have a look around at what's out there these days as I've played with AirFoil Server before and it still looses sync regularly and suffers drop outs.
The good news is I've discovered a nice AirPlay server called TuneBlade that manages to stay in sync and not have dropout issues.
It works with 192k/24bit FLAC too, but I don't know if it's bit perfect. (edit im pretty sure it can be bit perfect out to 96/24bit when configured properly)
It looks like it does do bit perfect upto 96/24 , this below is the AirFoil Speaker looping via the MC20 WDM driver so I can analyse the audio.
The Steely Dan Two Against Nature SACD converted to FLAC at 24bit/88K and streamed via MC20 NUC Server > TuneBlade > Wifi > AirFoil Speaker > MC20WDM has a frequency response out to about 48kHz!
It's not quite bit perfect, but the frequency response is certainly there.
I'll describe the config below at a high level, and then go into some more detail.
It'll probably require some screen shots later as there's quite a few bits to it.
What you'll need...JRiver MC20 on a couple of machines. One that your not using for the Audio needs to be the server because its really really difficult to get the server and the slaves in sync.
This way you only have to worry about the AirPlay playback devices being in sync.
Im using my Intel NUC with windows 8.1 and MC20 as the TuneBlade AirPlay server.
TuneBladeThe most configurable, stable and reliable AirPlay streaming server for windows that I've found. (As a bonus it's also the best looking AirPlay Server software too)
This is installed on my Intel NUC to intercept the audio from the NUC and reroute it to the AirFoil Speakers installed on other windows machines or devices. NUC is locally muted for playback.
http://tuneblade.com/TuneBlade Remote for iPhoneThis allows you to control all the AirPlay receivers
https://itunes.apple.com/us/app/remote-for-tuneblade/id910930210?ls=1&mt=8Airfoil SpeakerAirfoil installed on my other MC20 machines to receive the AirPlay stream from TuneBlade.
You could also try the free opensource Shairport4W as AirPlay receivers but they're a bit clunkier.
https://www.rogueamoeba.com/airfoil/Apple TV / AirExpress / AirPlay Speaker / Airplay AVR / AirPlay XB... cough cough something something
The registered version of TuneBlade also works with a whole bunch of other AirPlay devices.
A Good Stable WiFi NetworkI use 802.11AC for my whole house now.
I've got Netgear 3 channel AC routers in bridged repeater mode which gets me about 1Gbit between the main router and the lounge router.
I've got 2 channel 802.11AC mini USB dongles that do 600Mbit/s for the NUC and other PCs and devices around the house.
It'll probably work well on a standard 802.11N network too if you have low interference but my experience is with AC Wifi on all playback devices.
Nice to have is JRemoteTo remotely control playback, playlists and full MC20 control including master volume control.
http://www.JRemote.net/How to connect it all up??MC 20 with the TuneBlade AirPlay Server installedI have MC20 on the NUC with a dedicated zone I called BladeTune-AirPlay. (Typo - should be called TuneBlade-AirPlay)
That zone is configured to playback to the default audio device via direct sound and a .5 sec buffer.
TuneBladeConfigured with:
Buffered Streaming Mode 3 secs (mines also been stable at 250ms)
Direct Loopback and mute computer when streaming checked
Remote Control turned on so I can control the volume of the different AirPlay devices from the TuneBlade Remote App for iPhone.
Tick Auto-Connect under AirPlay Receivers for the AirPlay devices you want to automatically pickup the stream.
AirFoil Speakers Everyone's setup will be unique but this is mine:
AirFoil Speaker is installed on my office PC, HTPC MC20 Server, Lounge PC, Surface Pro PC for the kitchen which is streaming to a Bluetooth Speaker.
Configured for start on login and play local through Primary Sound Driver.
This is the MC20 Machine with the synced audio coming via AirFoil, MC20 is logged into the NUC library and the TuneBlade-Airplay zone is selected to view and control the playlist. (No audio is being routed via MC20)
TuneBlade RemoteJRemoteLogged into the NUC MC20 Server with the BladeTune Zone selected.
How it works?ServerI have the NUC as the AirPlay Server running MC20 and it has my HTPC Server library loaded.
I playback the music from the HTPC Server library to the BladeTune-AirPlay zone.
The NUC MC20 audio is muted on playback and starts streaming via BladeTune.
SpeakersOn the AirFoil Speakers machines with MC20 installed I have MC20 set to load the library from the NUC.
No audio is routed via MC20 on the AirFoil machines, it's just there as a display and control device, with the audio routing via the AirFoil Speaker driver to my default sound card.
For the kitchen Surface Pro I have the AirFoil Speaker routed to a portable Bluetooth speaker.
Remote ControlI have the TuneBlade Remote App on the iPhone to enable and disable AirFoil speakers and control the volume for each one individually.
I also use JRemote on the iPhone logged into the NUC to remotely control the playback and it also controls master volume.
For the MC20 on the NUC, the volume control is set to control Application Volume so it also acts as a master volume and doesn't accidently unmute the local playback.
It's a little complicated to setup compared to iTunes and native AirPlay but darn it, it works!
Couple things that'll help.
On your remote AirPlay machines which are running MC20 and AirFoil Speaker, make sure you load up the library of the MC20 machine which is acting as the AirPlay Server (TuneBlade) and select the AirPlay Zone so that when your viewing playlists they're always in sync and you can control playback from the source.
Not really directly relevant to this for AirPlay, but I have all my MC20 machines with mapped network drives and the same path to the local library on each machine. It's not a big thing, but it's tidier and when your pushing audio around with DLNA MC20 can pickup local drive mounts and play them directly from the server.
PS.
The NUC is actually my Id with another SSD drive with windows 8.1 on it.
It can run in headless mode too so it doesn't need to be plugged in to anything apart from power.
I've got it configured to autologin on boot with MC20 Server mode and the BladeTune set to automatically start at login.
I can move the NUC around the house plug it in and it'll all boot and start in AirPlay server mode automatically without a screen or keyb/mouse attached.
This is a custom streamlined build of Windows 8.1 with many features turned off. Things like autoupdates, UAC are also turned off and it has minimal other software installed.
It idles at 4% CPU with MC20 and TuneBlade running with no audio playing, and averages 17% CPU with a 16bit/44.1K FLAC streaming via TuneBlade.