INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3   Go Down

Author Topic: Airplay  (Read 63742 times)

new2hifi

  • Recent member
  • *
  • Posts: 45
Re: Airplay
« Reply #50 on: August 22, 2014, 02:35:32 pm »

My JRiver 18 is running on a dedicated computer attached to a USB DAC. I want to send audio stream via AirPlay or Bluetooth to JRiver 18 so it can be played via my USB DAC.

So is there any guide to accomplish this?

Anyone??
Logged

)p(

  • Citizen of the Universe
  • *****
  • Posts: 579
Re: Airplay
« Reply #51 on: August 22, 2014, 02:53:51 pm »

Install shairportw. Set it up to use the default audio device. Make sure your dac is not the default audio device. Then in jrmc use the open live functionality to grab the audio from the default audio device and it will reroute it through its dsp and then to your dac.
Logged

donjulien

  • Member
  • *
  • Posts: 2
Re: Airplay
« Reply #52 on: September 23, 2014, 08:10:18 pm »

Here's an idea.

I have been through the same road as many of you:
  • Apple technology is proprietary, but works. Specifically, multi-room synced audio works on native Apple hardware. But I'm not willing to commit to it. I've already invested in Android boxes for each TV at home. There are many implementations of AirPlay for Android, but so far, NONE does synced audio (AFAIK). And an iOS device does not make an AirPlay "renderer".
  • DLNA is awesome... on paper. My TV's (both Sony and Sharp) implementation suck. Sony sucks worse. They are slow, have limited format support, the navigation is awful, and they don't synchronize. Plex has a decent DLNA server, but given the Plex app, who would use the DLNA service anyway? And Plex sucks at music. I've tried about every major and some minor DLNA solution. Logitech Media Server (see below) beats the hell out of each one.
  • MC, so far, cannot sync zones correctly.
My current option is Logitech (Squeezebox) Media Server (LMS), with software players and controllers everywhere (Android boxes and my smartphone, and my wife/kids' iOS stuff). But I'd really like to stay with MC. It's SO powerful and flexible. And LMS, while awesome, is at risk of fading any day now because Logitech discontinued their hardware line.

Enough talk: here is the idea: implement a really good RENDERER out of Gizmo. Right now it does the trick, but
  • It is not controllable via another controller (another Gizmo instance, for example, or a DLNA controller for that matter).
  • It doesn't sync.

If it could behave as a zone that appeared as such on MC and it could handle all the inner trickery to sync, and to receive commands from other controllers, any computer + Android boxes could become a Sonos killer: simple, with software coming from a single supplier, and JRiver gets to decide on all the details of this controlled environment (as Apple does) ... but without throwing the standards-support out of the window (as Apple would never).
Logged

Isaacc7

  • Recent member
  • *
  • Posts: 33
Re: Airplay
« Reply #53 on: November 09, 2014, 11:06:11 am »

Yes, the lack of AirPlay support is one of the things that keeps JRiver from going to a mainstream audience. Right now it is still for people that like to tweak and fiddle. I wonder if the lack of AirPlay support is another consequence of not using native tools to develop for the Mac. Using DLNA is fraught with problems. I'm lucky that my receiver behaves well with DNLA, or at least it behaves with JRiver. Here's a weird idea, would it be possible to develop a small, stand alone app whose only function is to stream the output of JRiver over AirPlay? Like I said, it's a weird idea but it doesn't sound impossible. How about it? Fire up Xcode and see what's possible:)
Logged

ikarius

  • Recent member
  • *
  • Posts: 20
Re: Airplay
« Reply #54 on: November 24, 2014, 11:32:03 am »

My 2 cents here;  I've got a high-end Marantz AVR, and it is capable of operating as either a DLNA endpoint, or as an airplay receiver.  

Sending airplay to it successfully after I got it set up was basically instantaneous using a program that understood airplay.

Getting JRiver to send DLNA to it took several hours of fiddling with settings.

Sending airplay to it works absolutely dead reliably. I can stream airplay to it all day long without a hiccup.

Sending DLNA FLAC to it will hang periodically, ranging from a couple of times over the course of a single album, to playing 2 or 3 albums before ending up with a hang.  Sometimes the hangs can be resolved by telling JRiver to re-connect to the AVR, sometimes the hangs require pulling the power to the AV receiver to get resolved.  This isn't usable.

This is consistent with my other experiences with DLNA-  It's a terribly written standard with all kinds of "gray areas", which led to every manufacturer having their own foibles and virtually none of the implementations working reliably.

I don't give a darn about prior bad experiences with apple, DLNA sucks, and Airplay is known to work, work reliably, and has a lot more people *using it* than DLNA as pointed out by a prior poster.   Sure, tons of devices have "DLNA support", but in reality, most of them are buggy messes, and working out what features and profiles a given device supports is incredibly difficult because it's a checkbox feature- the manufacturers tick off the check box saying they support it but hardly anyone uses it, and the manufacturers haven't a clue what to do if you contact them because it's not working correctly.

I'm not going out and buying a different AV receiver because the one I got happens to have broken DLNA support.  Figuring out which AV receivers don't have broken DLNA support is something I have no idea how to approach- because so few people use the feature, reviews don't test the feature, all you may get is a mention that the device supports it.  If a new media app comes out that supports the features I want (FLAC, decent sound path, android remote-control) and airplay, I'd strongly consider jumping ship from JRiver.

Logged

rockitdoc

  • Junior Woodchuck
  • **
  • Posts: 75
Re: Airplay
« Reply #55 on: December 26, 2014, 04:36:30 pm »

Excuse my lack of tech savy, but do I gather from this thread that streaming music form my PC using MC via my Airport Extreme/Express network cannot be done?

Thanks, in advance.

S
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #56 on: January 24, 2015, 04:38:04 am »

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.


TuneBlade
The 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 iPhone
This allows you to control all the AirPlay receivers
https://itunes.apple.com/us/app/remote-for-tuneblade/id910930210?ls=1&mt=8

Airfoil Speaker
Airfoil 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 Network
I 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 JRemote
To 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 installed
I 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.



TuneBlade
Configured 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 Remote


JRemote
Logged into the NUC MC20 Server with the BladeTune Zone selected.


How it works?

Server
I 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.


Speakers
On 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 Control
I 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.






Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #57 on: January 24, 2015, 10:21:49 pm »

I've taken what Hiltonk has done and had a play as well as follows:
- "Airfoil" as the Audio Sender (on multiple MC PCs)
- "Airfoil Speaker" as the Audio Reciever on multiple PC's / HTPC etc, Andriod Devices, iPhones and a Pio A3 Speaker

The aim has been trying to Whole House Syncronised Audio aka "Party Mode" for both traditional Audio (audio files, radio streams etc) and also for Video (we on occasion setup a PJ with an outside Screen and I need to get the audio to a PA setup some 50m away).  In all my attempts I've found several issues, such as:
- DLNA will not stay in sync
- Pushing audio from the HTPC running the PJ to the PA is tough (latest attempt is using long range BT but it can still drop out or Stardock Acoustic Bridge but it is just Point to Point between two Windows PC)

Thanks to Hiltonk's post I think I have a much better solution than before (not perfect but much better)!

I did try (and buy) Tune Blade but found it gave several Windows USB Errors.  More importantly, the Airfoil Speaker Android client does not work with Tune Blade so that solution was no good for me.

I have however had some great success with just Airfoil, and here is how I've set it up that produces good sync and reliability for both Audio and Video/Audio distribution on two different PC's so far (see attached pics):
- Create a "Whole House" Zone and the configured it as
- Audio Device = WASAPI, Exclusive Acces, Disable Event Style (else you get static), 16-Bit, Minimum hw size
- DSP = Downmix to 2ch and 44.1 or 48KHz (the encoder seems to stuggle with 6ch-24bit-96khz)
- A/V Sync correction = "-2000"

Notes:
- Audio sync is "Good" but not "Perfect" - If I put all the devices in the one room you get a kind of echo effect but this would not be noticed if they were in different areas of the house (note they are a mix of OS, Hardwired, Wireless etc)
- The Android Airfoil Speaker app has as Sync Correction (they warn the Andriod can be out of sync) and I found 70ms was about right on my Nexus 7 tablet.  For some reason the Config button does not appear on my G3 but that one is pretty good.
- On the PC running Airfoil and output the audio locally (by enabling the "Computer" in the Airfoil app) it is out of sync but if I use "Airfoil Speakers" on the same PC it is pretty good (see Pic 3)

Thanks
Nathan
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #58 on: January 25, 2015, 12:38:50 am »

Glad to hear its working for you!

I'm sure there must be some way to simplify this further.

I guess if all you want is all of house synchronized Audio from MC20 you could just do the following:

AirFoil or TuneBlade Server installed on a machine running MC20 with a AirPlay Zone setup for your default sound card.

AirFoil Speaker setup where ever you want the audio.

Other AirPlay compatible devices.

JRemote or Gizmo for Remote control of MC20 on the AirFoil/TuneBlade server.

AirFoil or TuneBlade Remote on your mobile to control the AirPlay device volumes.

The real key to getting this to work was to setup a dedicated AirPlay Zone and mute playback at the server.  Really it was that simple.

It may not be perfect, but gee I think it's pretty darn close.  Used it all day today for a BBQ and it hasn't skipped a beat!



Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #59 on: January 25, 2015, 12:45:01 am »

Yeah I may have got over excited as I'm hearing some issues with longer playback streams.  I'll need to test some more but it appears that while the Android and Windows clients stay in Sync with each other they drift from the Video Playback and the Pio A3.....  EDIT - it would appear that is the Andriod Client that drifts (not the other way around) - the become apparent when playing back a Video of which streams stayed in sync
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #60 on: January 25, 2015, 12:59:14 am »

Yeah I may have got over excited as I'm hearing some issues with longer playback streams.  I'll need to test some more but it appears that while the Android and Windows clients stay in Sync with each other they drift from the Video Playback and the Pio A3.....

Sorry to hear that. I think AirFoil uses a different buffering technique on the server compared with TuneBlade.  
I hear strange speed-ups and slow-downs and hicups with AirFoil Server, especially at start up.
TuneBlade on the other hand, just jumps in and pretty much grabs sync straight away and doesn't drift unless your getting network errors.

It has a neat monitor that shows buffer, streaming quality and dropouts to each AirPlay device.

TuneBlade Monitoring


PS I've settled on a 500ms buffer on TuneBlade and its been perfect all day.

Each stream uses about 1Mbit/s over the network when I look at the windows network monitor. 125000 bytes/s = 1Mbit
Logged

)p(

  • Citizen of the Universe
  • *****
  • Posts: 579
Re: Airplay
« Reply #61 on: January 25, 2015, 01:17:24 am »

Another way to get synced play is using the logitech media server with squeezeplay which emulates hardware squeezeboxes. You can sync those and play from Jrmc to them either with Dlna directly or through whitebear. You can even point squeezeplay instances on the client machines to the jriver wdm or asio driver to take advantage of its dsp.
Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #62 on: January 25, 2015, 01:29:04 am »

Need to find an andriod client to test tuneblade with...
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #63 on: January 25, 2015, 01:37:32 am »

Another way to get synced play is using the logitech media server with squeezeplay which emulates hardware squeezeboxes. You can sync those and play from Jrmc to them either with Dlna directly or through whitebear. You can even point squeezeplay instances on the client machines to the jriver wdm or asio driver to take advantage of its dsp.

Thanks - sounds like something interesting and worth trying.
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #64 on: January 25, 2015, 01:40:19 am »

Need to find an andriod client to test tuneblade with...

I guess you could try a few AirPlay Receiver Apps.  There's only 1 for iPhone that I've found (AirFoil) which also doesn't work with TuneBlade, but there's a few Android AirPlay clients you could try.
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #65 on: January 25, 2015, 02:21:29 am »

I managed to get synced audio looped back through the MC20 WDM driver.
I have completely different hardware and MC20 DSPs on my 2 main machines and as long as the WASAPI output driver buffers are the same on the receivers, the audio is in sync. (mine are both at 25ms - with one  set at 100ms the delay was clearly audible)

This is the audio path now - MC20 Server > VB Virtual Cable Out (WASAPI) > VB Virtual Cable in (WASAPI) >TuneBlade > Wifi > AirFoil Speaker > MC20 WDM > WASAPI output device.

You may need to play with the final output buffer on MC20 WDM PCs to get them in sync with certified AirPlay devices.

Apple TV (Latest Generation) 5 milliseconds
AirPlay Speakers and HiFi AVRs 92 milliseconds
AirPort Express (Latest Generation) 140 milliseconds
AirPort Express (Old Generations) 350 milliseconds


Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #66 on: January 25, 2015, 02:47:33 am »

Sorry to hear that. I think AirFoil uses a different buffering technique on the server compared with TuneBlade.  
I hear strange speed-ups and slow-downs and hicups with AirFoil Server, especially at start up.
TuneBlade on the other hand, just jumps in and pretty much grabs sync straight away and doesn't drift unless your getting network errors.

It has a neat monitor that shows buffer, streaming quality and dropouts to each AirPlay device.


Looks like AirFoil server trys to drift the clients back into sync by speeding up or slowing down, where TuneBlade just drops the missed packets to stay in sync.
Neither are a perfect solution but i'd rather have clients in sync than hear funky speed-ups and slow-downs where the clients drift out of sync.

Quote from TuneBlade
"When you stream to multiple receivers in real-time, TuneBlade will select the highest among the minimum acceptable latency of the connected receivers, so that all receivers can remain in sync."
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #67 on: January 25, 2015, 04:52:37 am »

Just tried AirFoil server again it definitely doesn't sync as well as TuneBlade.

I also installed the Virtual Loopback VB-Cable for internal loopback on the server and it works great and shows some interesting info in the control panel.
There's a few settings too for fiddlers... :)

The default internal sample rate for the Virtual Cable is 96k. (you can change it)
The input sample rate is always the same as the source (obviously) but the output is set by whatever you set the output recording settings to in sound devices.

So the reality is, if your playing 24/96 it looks like it will be bitperfect, otherwise everything is upsampled or downsampled  to 24/96.  (if you have 24/96 set) You can change the internal and VB Audio Cable Output to whatever sample rate you want.  

Originally I just set out to get distributed audio in sync, so I'll take upsampling to 24/96 as a bonus even though it wont always be bit perfect. :)

PS. I've also set the TuneBlade-AirPlay zone audio device in MC to the VB Audio Cable Input.
All other Zones will still of course playback through the other audio devices you have configured, and this way you can still use the other internal/external sound cards for other zones.


Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #68 on: January 25, 2015, 05:23:45 am »

Also having more luck so far with TuneBlade pushing to the Pio A3, Andriod (Airplayer), PC (Airfoil Speakers).  Had to lower the buffer in TuneBlade to 700ms to get them all in sync and prevent drift + then set the AV Sync Correction in MC to -900ms for video playback.  So far all three have stayed in sync with the Video without drift though I'm getting the odd dropped packets (mostly to the PC running Airfoil speaker, but some to the Pio) and you can see it in the TuneBlade as you see red figures appear at that time.  It certainly seems to do a better job than Airfoil Server.  Will need to play with the buffers some more to see if I can get a balance between sync / drift / dropped packets.
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #69 on: January 25, 2015, 05:30:09 am »

Sounds like you made great progress! Congrats!!  ;D

In the TuneBlade FAQ it says if your getting dropouts you can use custom buffer mode and set it to up to 5 seconds.  Not sure how that stuffs up your sync and latency issues but that's the recommendation.
Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #70 on: January 25, 2015, 03:43:20 pm »

More testing with TuneBlade set with a 600ms custom buffer size and MC's AVSync at -850ms pushing to:
- Windows / Airfoil client on 2 PC's
- Andriod / Airplay client on 2 different devices
- Pio A3 Speaker

Stability is good with few drop outs and no drift so far at all.... but the Andriod / Airplay client does not have a customisable buffer and it is slightly out of sync.

I've posted this on the TuneBlade forum regarding Andriod Clients:

Quote
I've tried a few Android Clients (Tablets), in particular I'm looking for something that
- Will play in sync over multiple devices
- Minimise Dropouts with TuneBlade server
- Has a customisable name (as I have multiple devices)
- Has a customisable local buffer (to get sync just right on each devices)
- Can run as a background service from start up

So far I've tried:
- Airplayer : Overall Good Sync between players, low drop outs, but can not set a customisable name, no buffer adustment, can not start as a services from start up
- AirBubble : Lots of dropouts with TuneBlade (does the rest)
- AirPlay / Airplayer : Not a background servces when playing (puts up a GUI)
- AirFoil : Is not seen by TuneBlade

So far "Airplayer" is the best of the bunch I've tried

Thanks
Nathan
Logged
JRiver CEO Elect

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #71 on: January 25, 2015, 06:58:20 pm »

Added a Apple AirPort Express and it plays nice as well (as you would expect!)
Logged
JRiver CEO Elect

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #72 on: January 26, 2015, 03:13:34 am »

Another way to get synced play is using the logitech media server with squeezeplay which emulates hardware squeezeboxes. You can sync those and play from Jrmc to them either with Dlna directly or through whitebear. You can even point squeezeplay instances on the client machines to the jriver wdm or asio driver to take advantage of its dsp.

Gave this a go (and I may have stuff wrong), but it looks like the combo presents as DLNA renderers so I have sync issues between devices.  I also can not play a video and send the audio to these devices.
Thanks
Nathan
Logged
JRiver CEO Elect

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #73 on: January 26, 2015, 03:43:01 am »

Another day of playing!  So far "reasonably" good with:

TuneBlade set with a 600ms custom buffer size and MC's AVSync at -850ms pushing both pure Audio and Video's Audio in sync to:
- Windows / Airfoil client on 2 PC's
- Andriod / Airplayer clients on multiple Tablets and Phones
- Pio A3 Speaker (native Airplay)
- AirPort Express (native Airplay)

In MC I have created one Zone called "Whole House" that pushes the audio (from video or audio) to an Audio Device that TuneBlade in turn pushes out to all the connected devices (both wired and wireless).

Stability is good with few drop outs and no drift so far at all.... but the Andriod / Airplayer client does not have a customisable buffer and it is slightly out of sync.  This is not really an issue as being in different rooms you don't notice it.  There are some shortcomings for the Airplayer app on Android and I've e-mailed the developer to see if (s)he will entertain adding:
1)   Configurable Initial Buffer (Airplayer tends to be slightly out of sync of the other devices and it can vary by device / connection)
2)   Configurable Device Name (as I have several of them and they are all named the same)
3)   Option to Auto start on Boot

I'm most interested in #2 and #3 as you would not notice the slight sync issue with the devices in different rooms.

So I can now crank up Whole House Audio pushing content from a Control Point (like Gizmo/EOS) to:
- HTPC's running Airfoil Clients
- Airplay Clients (like my Pio or the AirPort Express Audio Out feeding a PA style system)
- Android Tablets in each room

This includes playing
- Audio,
- Radio (steaming), and
- Video on one MC instance (say a PJ) and having the Audio pipe out to all the clients

Say about.... 90% good! 

Things to note:
- The Android app does not start as a service on boot
- In TuneBlade you have to sometimes stop/start an individual device to get it to play audio (I've only seen this on the PC/Airfoil clients)
- You have to pick your Andriod Clients with care as of all the ones I tested only
- I did not bother testing an iOS client
- I tested all the Android Air Play Receivers I could find and most of them would either drift or have a heap of drop outs with TuneBlade
- The Airfoil Client for PC works well with Tune Blade but neither the iOS or Andriod Client will
- The Airfoil Server seems to allow content to drift (I've e-mailed the developer and pointed to this thread).  It would be great to just use Airfoil as one licence fees covers the Server, Win, Andriod, and iOS client.... but so be it!

Apart from the above, this is not 100% as it is cobbling a bunch of stuff together instead of it just being part of MC natively...(one day!)

Any other ideas appreciated!  I now need to find a portable Airplay speaker with a line out Jack to feed my outside setup (the Pio A3 is perfect minus the Line Out jack unless I can mod it somehow).

Thanks
Nathan
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #74 on: January 26, 2015, 04:43:38 am »

You have been a busy boy.  Glad I was able to get you interested enough to tinker and that you had such good results.

I hope the better half hasn't sentenced you to purgatory for neglecting household duties! ;)

Between the two of us we've got this AirPlay thing licked... now on to bigger and better things.. What's next! :) Intercom?  :P

PS. Can you please elaborate a little more on how your doing video to PJ with audio via TuneBlade as I have a need for the same.
Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #75 on: January 26, 2015, 05:26:09 am »

Normally we use the PJ and a fixed screen in the house with a traditional AVR setup.  On occasions we relocate the PJ so it can project to an outside screen (one of those 5m stretchy screens).  While I have wired Ethernet at this point, there is no AV run to get the audio to the outside amp (hence I've been using stuff like Class 1 long range BT sender / receivers but they can still drop out and are fiddly).   

The video is being played from an MC Client on an HTPC (NUC or Laptop) connected to the the PJ via HDMI pulling content from a Library Server (over wired Ethernet).  The Audio on this HTPC will then go to the "Whole House" Zone that is playing to TuneBlade that then pushes it to the audio renderers.  I plan to use the Airport Express's audio port to then feed it into the outside amp as well as to Pio etc.

I'm plan to use the Compute Stick (Win 10 + MC) when it arrives instead of the NUC or Laptop directly into the back of the PJ for these portable duties.
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #76 on: January 26, 2015, 05:45:14 am »

I plan to use the Airport Express's audio port to then feed it into the outside amp as well as to Pio etc.

Ahh this was the bit that was missing.

I just got a similar setup working but running the video in MC20 on the AirPlay Zone in the projector room running video locally to the projector and routing audio out through TuneBlade and then back to the same machine via AirFoil.  I used the same sync settings you mentioned and lipsync is pretty close and the audio is in sync on the other machines throughout the house.
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #77 on: January 26, 2015, 05:50:58 am »

I'm plan to use the Compute Stick (Win 10 + MC) when it arrives instead of the NUC or Laptop directly into the back of the PJ for these portable duties.

Im going to order a couple of different devices myself to play with in the same way.
One I want to try is the device I linked to in my other thread in the Id Forum, and also one of those universal DLNA/AirPlay/Miracast/Widi HDMI sticks.
I've already got a chromecast but its pretty limited with MC20.

Apple TV form-factor running windows8.1 with the same processor as the Intel Compute Stick.
http://yabb.jriver.com/interact/index.php?topic=94788.msg655014#msg655014

All-in-one HDMI dongles which supports DLNA/AirPlay/Miracast/Widi
http://www.aliexpress.com/item/HI763-WIFI-Display-Dongle-Adapter-Miracast-DLNA-AirPlay-for-Android-Smartphone-Tablet-iPhone-iPad/1611245110.html
Logged

ikarius

  • Recent member
  • *
  • Posts: 20
Re: Airplay
« Reply #78 on: January 26, 2015, 09:30:30 am »

A couple of things to note- most of the major AVR manufacturers (marantz, denon, onkyo etc) now support airplay *in* their receivers.

An Airport express is a decent solution, but there are a couple of factors to be aware of- 1.  Any audio that's higher bitrate than 44khz/16bit will be downsampled to 44khz/16bit silently by the airport.

Also, while apple is *pretty* good with their hardware, they don't tend to be audiophile-grade picky about their components, so I don't *really* trust the power supply and timer chips in the airport express, so it may present with jitter to the AV receiver. 

At the end of the day, I actually recommend getting an AV receiver with airplay built into it, as I expect the quality of the oscillator chip used to re-time the airplay signal is substantially higher, and the AVR manufacturers may well support higher bitrates across airplay without re-sampling the audio.  This is assuming that you're being audiophile-picky about your sound.

Good to hear of tuneblade- I have been using airfoil for windows to transmit from my JRiver to my AVR, without any drops, but I'm only attempting to transmit to one destination, so that's got something to do with it. I'll have to take a look at tuneblade to see if it's VB controllable;  airfoil added that a while ago, so presumably I could create a remote app to control it.

Logged

francolargo

  • Member
  • *
  • Posts: 3
Re: Airplay
« Reply #79 on: January 28, 2015, 04:21:23 am »

At the end of the day, I actually recommend getting an AV receiver with airplay built into it, as I expect the quality of the oscillator chip used to re-time the airplay signal is substantially higher, and the AVR manufacturers may well support higher bitrates across airplay without re-sampling the audio.  This is assuming that you're being audiophile-picky about your sound.
Interesting thread, good research, and happy vibes to you persistent tinkerers...

What to do if an AVR receiver just isn't one's cup of tea (because, oh, they don't weigh nearly enough...  :P)?

Over on DIY Audio I'm following threads in which headless ARM development boards are being used as Linux servers into people's *over-the-top* audiophile DACs.  The board-du-jour was formerly the Raspberry-PI but now is the Beaglebone Black (BBB - $50-$55), running an A8 chip at 1GHz.  It needs a better master clock and integration of these is essentially solved.  But right now, this board will accept airplay signals (using FREE Volumio software) and output I2S, the preferred signal for best DAC performance.   Two points: 1) IMO, Airplay really HAS become the defacto standard and this inexpensive Linux interface to 'high-end' is going to set new standards for quality.  2) I've just begun playing with the BBB and all my Mac hardware can see it and control it, all day long.  As this DIY effort progresses, it will become my new DSP crossover and high-quality DAC interface in a bi-amped rig.  Sometimes it will be a stand-alone NAS music client (w/ DSD 128 and PCM up to 384/32!), sometimes it will be a zone slave when we are in house party/cleaning mode.

JRiver has a Linux->ARM development project.  The Linux->ARM server space is surprisingly well developed, with Volumio and RuneAudio leading.  If Volumio can integrate the slave side of Airplay open-source for free, it seems to me that 'the bar is set'.  +1 for Airplay!
Logged

)p(

  • Citizen of the Universe
  • *****
  • Posts: 579
Re: Airplay
« Reply #80 on: January 28, 2015, 04:26:51 am »

Gave this a go (and I may have stuff wrong), but it looks like the combo presents as DLNA renderers so I have sync issues between devices.  I also can not play a video and send the audio to these devices.
Thanks
Nathan

It's been a while since I tried it myself. I think it worked by first syncing the (virtual) squeezeboxes together and then send music to one of them from jriver. I did have the whitebear server in between. Ie jriver to whitebear to logitech media server.
Logged

)p(

  • Citizen of the Universe
  • *****
  • Posts: 579
Re: Airplay
« Reply #81 on: January 28, 2015, 04:39:49 am »

I play all my sources now through the jrmc dsp for room correction thanks to the wdm driver. The only thing missing was our Apple tv. I already used airserver on the htpc as an AirPlay receiver connected to the wdm driver to AirPlay to the HTPC. But I had forgotten that Apple TV now supports sending the sound to an other AirPlay device. So I selected airserver on the Apple TV and after adjusting the sync settings a bit in airserver it works really well. (You have to select the video instance and not the audio only instance of the airserver receiver on the Apple tv. Adjusting the sync latency does not work for the latter for some reason.)
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #82 on: January 29, 2015, 07:07:38 pm »

I picked up another Apple TV 3 cheap this week to create another AirPlay zone.

I'm now in a dilemma for how to get the digital audio out of it for analogue RCA or 3.5mm jack for external amps/speakers.
I looked in the powered speakers Id thread and there's a few options there for powered speakers but I'm leaning towards using existing mini hifi and other speakers I have around the house.

Do you think I'd be better of with:
A HDCP compliant HDMI extractor that passes through HDMI and offers analogue audio out for $80;
HDMI Audio Extractor
http://www.jaycar.com.au/productView.asp?ID=AC1741 &form=CAT2&SUBCATID=1014#4

or

HDMI to VGA + Stereo Audio Converter for $25 (wont use the VGA)
http://www.jaycar.com.au/productView.asp?ID=AC1724 &form=CAT2&SUBCATID=1014#4

or

An optical to analogue converter for $35.
FiiO D03K Coaxial/Optical to R/L Audio Converter   http://www.minidisc.com.au/headphones-earphones/headphone-amps-dacs/portable-amps-dacs/fiio-d03k-coaxialoptical-to-rl-audio-converter-p-1100153.html


Jmone,
How are you getting audio out of your android devices for amplification?

My bigger experiment later on will be with some of the more expensive Android media players with AirPlay support that have analogue and digital outputs.

Is there a better way to get AirPlay analogue audio that I haven't thought of?
I want it to be simple, tidy and cost effective. Im leaning towards the FiiO DAC.

Thoughts?

Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #83 on: January 29, 2015, 07:44:03 pm »

Yeah - I decided again the Apple TV due to the lack of analog audio out and needing another widget (hence got the AirPort Express).  I've used the jcar converter before and it was ok + it would leave your HDMI port free as well so you could use both/either.

I also got this back from the Airfoil guys.
Quote
Hi Nathan,

Airfoil transmits audio according to the AirPlay audio protocol, which specifies a 16-bit stereo Apple Lossless stream at a 44.1 kHz sample rate - so, it may need to resample audio on your machine to transmit it properly to remote speakers. Airfoil Speakers for Android should include synchronization controls, though, if you haven't tried that yet.

--
Chris Barajas
Rogue Amoeba

Looks like there is no point pushing higher than 44.1/16/2 into the servers as would have to covert anyway.  I'll have to give it a go again with MC downmixing it all to 44.1/16/2 and see if there is still drift (I did notice the issue was worst with 96/14/6 sources!).
Logged
JRiver CEO Elect

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #84 on: January 29, 2015, 09:25:00 pm »

Thanks for the update Nathan!

The Airport express is definitely the tidiest option, but the Apple TV does offer a lot more for the same money. If only they'd put an analogue out on the ATV!

I ended up getting a couple of the HDMI Audio extractors since they are more versatile and can be used for other things in the future, the only downer is the coiled HDMI cable I'll need to use.  At least they don't need power! I'll have to find an OTG HDMI to HDMI type cable. (ie super short one)

I found this male to male adaptor. Will do the job nicely. http://www.aliexpress.com/item/Standard-HDMI-male-to-HDMI-male-Adapter-Connector-A-type/32222000823.html?currencyType=AUD&af=ppc&isdl=y&src=Google&albch=Google&aff_short_key=UneMJZVf&cv=1020800000008006&ptsid=1020000000012141&crea=56546947201&plac=&netw=g&device=c&aff_short_key=UneMJZVf&cv=1020000000012141&gclid=CIO90p7wusMCFUcJvAod5icA2g

PS. Are you using Android Tablet Docks with analogue audio out?
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #85 on: January 30, 2015, 01:42:50 am »

HDMI Audio Extractor works great on the Apple TV. :)
Everything in Perfect Sync to five different AirPlay devices.

Got AirPlay streaming in sync with:

NUC with MC20 and an AirPlay zone setup for TuneBlade > AirPlay

AirPlay 1 - Lounge - Apple TV3 HDMI > TV RCA back out to an AMP - MC20 on the TV screen with NUC AirPlay Zone in theatre mode

AirPlay 2 - Kitchen - Apple TV2 HDMI > HDMI Extractor > 3.5mm mini jack to iPhone Speaker Dock line in - iPhone showing JRemote AirPlay Zone

AirPlay 3 - Office - PC AirFoil > Optical into my Logitech Z5500 - MC20 on the monitor with NUC AirPlay Zone in theatre mode

AirPlay 4 - Theatre - HTPC AirFoil > MC20 WDM > MC20 DSPs > Essence STX II 7.1 > Analogue 7.1 into AMP - MC20 on the Projector with NUC AirPlay Zone in theatre mode

AirPlay 5 - Outside - Surface Pro Tablet AirFoil > Bluetooth > Bluetooth Speaker - MC20 on the Surface Pro tablet with NUC AirPlay Zone in theatre mode (ok this one is just very slightly delayed because of the Bluetooth, if I run sound locally from the tablet headphone out or a USB DAC its perfect)

JRemote on the iPad in Lounge
JRemote and TuneBlade Remote on iPhone 6+ in my pocket

Perfect :)

Added another 6th Android AirPlay device tonight on a Playon.me AV100 using AirBubble. Got it perfect in sync with a 2 second buffer on TuneBlade.  300ms Audio Buffer on AirBubble with an initial sync buffer of 275ms.
I got this box free with the purchase of the DVDfab suite and I completely forgot about it. It runs Gizmo too. :)



Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Airplay
« Reply #86 on: January 30, 2015, 03:00:57 pm »

Sounds good!  The Andriod stuff all has headphone out that I've used before....but I try to use Wired network connections when possible (hence the AirPort Express)
Logged
JRiver CEO Elect

francolargo

  • Member
  • *
  • Posts: 3
Re: Airplay
« Reply #87 on: January 30, 2015, 03:30:59 pm »


I want it to be simple, tidy and cost effective. Im leaning towards the FiiO DAC.

Thoughts?



Certainly in terms of bang/buck, I agree with the FiiO D03K.  Here is a great article that describes its design and build:  https://hifiduino.wordpress.com/2011/06/23/inside-fiio-d3/

For a modest link in the audio chain, it has lots of potential - including supply of I2S should you wish to drive a better DAC chip.  I'd use one (and tweak it!) were it not that the DIY DAC currently on my drawing board will do the same thing plus have its own Airplay receiver.

Cheers,

Frank
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #88 on: February 12, 2015, 02:46:01 am »

Below is the development effort for Shairport-Sync which provides AirPlay sync on Linux using the ALSA backend audio.

This is different than the original Shairport because it more closely follows Apples latest AirPlay spec and makes use of NTP to keep in sync where the original Shairport only supported the v1 AirPlay standard and didn't support sync.

https://github.com/mikebrady/shairport-sync


Logged

Ferdi

  • World Citizen
  • ***
  • Posts: 195
Re: Airplay
« Reply #89 on: February 14, 2015, 12:51:16 pm »

I am coming out again as not tech savvy enough to follow this thread, though still curious, willing to learn and hopefully able to make the right purchasing decisions (ID, more Sonos, dedicated streamer ...).

I got MC on my PC, my stereo connected to an airport express (with DAC in the middle). Using JRemote, I can access my music and, via airplay, play it to my stereo.

What is it that is not working?
  • Is about synchronized playing of music in various rooms (zones)?
  • About needing to use my iphone = battery drainage?
  • About music not streamed in best possible quality (flac, bit perfect)?

I guess I'd like to understand what capabilities I am missing out on by not fully comprehending this discussion, especially when I am quite content with what I have. I know that MC is capable of much more than I use it for, and I regret not having time exploring all features to the deepest level. I wish there were more how-to guides out. The wealth of capabilities always make me think 'my music setup could be more feature rich and of better Sound Quality'. 

The way that I use Airplay - anything wrong with it?

Thanks!
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #90 on: February 15, 2015, 11:15:56 pm »

I am coming out again as not tech savvy enough to follow this thread, though still curious, willing to learn and hopefully able to make the right purchasing decisions (ID, more Sonos, dedicated streamer ...).

I got MC on my PC, my stereo connected to an airport express (with DAC in the middle). Using JRemote, I can access my music and, via airplay, play it to my stereo.

What is it that is not working?
  • Is about synchronized playing of music in various rooms (zones)?
  • About needing to use my iphone = battery drainage?
  • About music not streamed in best possible quality (flac, bit perfect)?

I guess I'd like to understand what capabilities I am missing out on by not fully comprehending this discussion, especially when I am quite content with what I have. I know that MC is capable of much more than I use it for, and I regret not having time exploring all features to the deepest level. I wish there were more how-to guides out. The wealth of capabilities always make me think 'my music setup could be more feature rich and of better Sound Quality'. 

The way that I use Airplay - anything wrong with it?

Thanks!

TuneBlade allows synchronised audio which works with the Apple AirPlay protocol.  It stays in sync a little better than linked zones in media center. (ok... a lot better for some people, me included.)
If your not happy with media center linked zones being slightly out of sync then TuneBlade will work better for you than linked zones.

Media center Linked zones will keep the original quality of the files.  Looking into the AirPlay specs, it appears that certified AirPlay devices will downsample to 16bit 44.1kHz.

Currently there's no official support for AirPlay in MC20 or the Id so I wouldn't expect it any-time soon on the Id.  You can however build micro windows 7/8/10 PC's using the Intel NUC, Intel HDMI stick or similar and install the Airfoil program to make it AirPlay enabled.  You still need to install TuneBlade on your MC20 media server to use AirPlay.  You also need to create a dedicated AirPlay zone on the server.

If that's too much for you, I'd suggest waiting to see what JRiver come up with in the future.  I can highly recommend the JRiver Id if you don't feel up to playing and tinkering with software because the Id is pretty much plug n play.  It just works.  Of course you wont get AirPlay or perfect sync with linked zones using the Id, but it works great as a high quality music player and video playback is getting better.


Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #91 on: February 15, 2015, 11:26:17 pm »

Gave my Lenovo Tiny PC M72E a clean up. I installed Windows 10 preview and the dropout issues I was having with the AirPlay receiver (Airfoil) have been magically fixed.
I could see the dropped packets in the TuneBlade monitoring and now they're completely gone.
It was running windows 7 Pro so it's likely a windows 8 or a clean win 7 build would have fixed it too. 

I tried a dozen or so different things to fix it from playing with lots of network card settings and disabling services, checking DPC latency and it looks like it was a bigger issue. 

Very pleased its fixed and working with Win 10 because now I can put it back into service again in the Lounge room for TV and MC duties.
I'll be loading it up with 4 USB tuners and trying it out as a TiVO replacement and of course use it as an AirPlay receiver. 

For anyone that's interested in Win 10 I did an in place upgrade from win 7 pro to win 10.  So far everything works great.  I can only recommend Win 10 if your a tinkerer as its still only in preview. 
Backup your system before you upgrade if you're going to try it just in case.
Logged

Ferdi

  • World Citizen
  • ***
  • Posts: 195
Re: Airplay
« Reply #92 on: February 16, 2015, 12:35:58 am »

Quote
If that's too much for you, I'd suggest waiting to see what JRiver come up with in the future.  I can highly recommend the JRiver Id if you don't feel up to playing and tinkering with software because the Id is pretty much plug n play.  It just works.  Of course you wont get AirPlay or perfect sync with linked zones using the Id, but it works great as a high quality music player and video playback is getting



Thanks, Hiltonk.
I mostly play music just in one zone. It seems that ID, connected to NAS and remote controlled via JRemote and playing to an Airport Express, is what I need for now (playing to 'This Device' and choosing the airport express in the device's AirPlay option). Costs more than the the free Plex server, but I dislik that controller a lot.

I am just not clear what quality reaches my DAC in this set up (optical from Airport Express) - is it FLAC or does it get transcoded on its way. But that's another story, albeit harsh to research.

Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #93 on: February 16, 2015, 02:58:04 am »


Thanks, Hiltonk.
I mostly play music just in one zone. It seems that ID, connected to NAS and remote controlled via JRemote and playing to an Airport Express, is what I need for now (playing to 'This Device' and choosing the airport express in the device's AirPlay option). Costs more than the the free Plex server, but I dislik that controller a lot.

I am just not clear what quality reaches my DAC in this set up (optical from Airport Express) - is it FLAC or does it get transcoded on its way. But that's another story, albeit harsh to research.

With the audio going from JRemote to the airport express everything is downsampled to 16/44.1 ALAC.
That's no fault of JRemote or MC20.  That's the limit of AirPlay.
If you connect your DAC to MC20 or an Id you can output whatever your DAC is capable of decoding.
If you connect a DAC to your iPhone/iPad with a iPhone camera connection kit, using JRemote with the DAC it will have a limit of 24/96 FLAC. (with most external DACs)

You could just connect the DAC to your Id and mount the NAS in the Id library. You can still control with JRemote.
That way your getting the best possible quality FLAC or DSD decoding (or bitstreaming) directly to your DAC.

I feel like being generous tonight, so I'll make you a diagram that shows the connectivity options, i'm sure others will appreciate too.
Here's a start for a guide. I'll get to your configuration in detail next if you can list out what components hardware and software your using.
http://yabb.jriver.com/interact/index.php?topic=95634.0
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Airplay
« Reply #94 on: February 16, 2015, 08:26:02 pm »

Wow, there is a lot of good information in this topic since I last checked it.
I've just spent all evening doing a lot of testing to see if my previous AirPlay setup could be improved, and it has been - dramatically!

I will try to keep this as short as possible, but the really short version is:
 
  • Use TuneBlade as your server. Airfoil is dead to me now.
  • Use VB-Audio's Hi-Fi Cable driver as the input for TuneBlade if you want an "AirPlay Zone" in MC rather than capturing all system audio.

So what are the main improvements over the previous setup?
  • It turns out that Airfoil (and VB-cable) were attenuating higher frequencies.
  • TuneBlade allows you to specify the playback device that it switches to when you enable streaming. (Airfoil always forced its driver, which I did not want)
  • TuneBlade supports IP-based connections, so you are no longer required to run Bonjour on the PC if you don't want it.
  • TuneBlade can be left on 24/7 due to the standby feature (this is huge)


1) I was very surprised to see that high frequencies were being attenuated once I set things up so that I could actually monitor the incoming signal on my PC.

Here is the original signal, just full bandwidth white noise:

 
And this is what I was getting back from Airfoil; a 12dB reduction in the high frequencies:


After a lot of testing to see where this was happening, I narrowed it down to the output stage of their driver.
And after doing further testing using TuneBlade rather than Airfoil, it turns out that the issue here is VB-cable, which the Airfoil driver is based upon.

While there are no controls for the Airfoil driver, VB-cable comes with a utility that lets you set the internal latency and sample rate that it uses, but whenever I tried this it just seemed to be fixed at 96kHz.
And it's this upsampling and subsequent filtering when converting back down to 44.1kHz which is attenuating the higher frequencies.
Airfoil's driver must be operating at a different rate (I'd guess 48kHz) because the filtering was far less when using VB-cable and its 96kHz internal rate.

Hi-Fi cable, on the other-hand will only output at the sample rate that it is sent.
So if you send it a 44.1kHz input, it stays 44.1kHz all the way through to the output.
After switching from Airfoil/VB-cable to Hi-Fi Cable in TuneBlade, the output perfectly matches the input.

When using Hi-Fi Cable, be sure to configure the zone in Media Center so that it converts everything to 16-bit/44.1 kHz, since the driver itself will not do any conversions.
And on that note, since AirPlay is limited to 16-bit, I'd really suggest that you disable Media Center's dither (RPDF) and use a VST plug-in that supports TPDF dither instead if you want the best sound quality possible.


2) Not much to say about this one.
When you set Airfoil to transmit "System Audio" (i.e. use the VB-cable device) it would switch the default playback device on the system to that one.
That may be useful if you want it to transmit system sounds to all your speakers, but that's not what I wanted at all.
Using the "System Audio" option was the only way to have Airfoil configured to work as a separate zone in MC, but it meant that I'd have to enable playback and then switch the default device back over to my PC speakers every single time.

TuneBlade lets you specify what it sets as the default device when enabling streaming, which I can just configure as my speakers so that nothing changes.
It would be nice if it let you select "default device" as an option here, so that it just left the device at whatever was currently selected (because sometimes that's a sound card rather than the speakers) but it's a big improvement over Airfoil.
No more enabling Airfoil, forgetting to change the device back, and then blasting YouTube/web ads/system sounds over the house at 100% volume!


3) I have not tested it, but there seems to be an option in TuneBlade to configure a device based on IP rather than using Bonjour.
If all your devices have fixed IP addresses, it's one less thing you need to have installed and running on the PC.
Of course not having Bonjour installed also means that any new devices will not be found automatically.
But that's one of the things I had hoped to see as an option for Airfoil a long time ago.


4) TuneBlade has a standby feature! I've been asking the Airfoil devs for this for years now!
After a user-defined period of silence, ranging from 10 seconds to 20 minutes, TuneBlade will drop the connection to your AirPlay receivers.
But the connection remains on "standby" in TuneBlade, so if you start playing audio on the PC again, it will reconnect and resume playback on the receivers.
 
This means that I can leave TuneBlade enabled 24/7 now, because it only connects to the receivers when it's actually playing music.
Now any time it's not playing music, everyone else can still send audio to the receivers via their phones/tablets.
 
AirFoil just transmitted silence indefinitely, so it prevented anyone else from playing music to the receivers when it was enabled.
And constantly enabling/disabling it was a nuisance due to #2

What I will say is that standby does not seem to work with the "Specific Endpoint" option, which is why I recommend that you use Hi-Fi Cable and the "Virtual Device Loopback" option.
I'm not sure about the "Direct Loopback" option. I'd guess that it won't work with that either, but since that is the "Capture all system audio" option, I won't ever be using it.


So now I have an AirPlay Zone in Media Center which just works when I start playing music to it.
It should be "bit-perfect" now, and I no longer have to worry about whether or not the Airfoil app is running/enabled/configured correctly on the PC.
Logged

Hilton

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1291
Re: Airplay
« Reply #95 on: February 16, 2015, 08:35:36 pm »

Another TuneBlade convert! ;)
Nice work!

I'll be writing up a simple guide with a Diagram for this in the next week in my "What can you do with JRiver Media Center" thread in the Network forum.
http://yabb.jriver.com/interact/index.php?topic=95634.0

I'll pick your brain for some help in case I've missed anything.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Airplay
« Reply #96 on: February 18, 2015, 06:11:34 am »

I just wanted to say how nice it is being able to return to this after a day and a half, just hit play on an album, and still have it transmit to all my AirPlay devices without having to do anything else.
Any time in the last year or two that I've been using Airfoil, I've always had to run through to the PC and configure it beforehand, because it's not possible to leave that running all the time.
 
With TuneBlade, I can just leave it on all the time, and—when using the Virtual Device Loopback functionality at least—I can set the standby time to 10 seconds so that it's as easy as stopping playback, and a few seconds after you hear the music stop, you are able to send audio to the receivers from another device.
 
However, the latter is only possible because I am using a VST plug-in to dither the signal.
Proper TPDF dither does not allow for absolute silence to exist, so even if I play a file which consists entirely of zero values, there is some very low-level noise being played which keeps the connection active.
Media Center's RPDF dither does allow for absolute silence, which means that standby can be triggered during particularly long pauses in a song or silence at the end of a track, so you would probably want it set to at least 30-60 seconds to prevent this from happening.

You may want a long duration on it anyway so that it doesn't drop the connection if you pause playback for a couple of minutes, but with the way that we use things here, it's more important that the receivers are freed up quickly when someone wants to connect with their own device.


I wondered if anyone had suggestions for AirPlay clients on the PC.
I've tried the latest Shairport4w and Airfoil Speakers, and Airfoil seems to do a much better job with sync.
It seems to mostly be in sync automatically without any manual configuration - though it also does not offer any manual sync adjustments if the device you're playing on has additional latency that needs corrected.
Oh and for what it's worth, leave the volume control at the default "50%" position. I haven't see any difference between the default state and 100%, but the default volume position plays back exactly what you send it, so I'd just leave it alone.

Shairport4w does not seem to support automatic sync at all, and in my setup 427 frames ±1 seemed to be about right for staying in sync with my AirPort Express v1 and TuneBlade at the 3000ms buffer size.
But every time I start the stream to that device, the sync is just a little bit off from what it was before, and I suspect that it won't be doing anything to correct for drift over time.
 
I know that someone mentioned shairport-sync, but as far as I can see, I don't think there is a Windows version of that.
Are there any other clients worth trying, or is it best to stick with Airfoil Speakers for now?


Something else I've found that is worth mentioning, is that my AirPort Express v1 devices will not work if I use the custom buffer option in TuneBlade set to the maximum 5000ms. The largest buffer size they work with is the 3 second option.
So if you're wondering why only some receivers are playing audio, that could be why.
It may be best to use the "standard" 2 second option, but 3 seconds has not caused any issues thus far, and I prefer the additional stability this may provide over latency.
Ideally latency would be zero and playback would never be interrupted, but things being what they are, a 3 second delay is fine.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Airplay
« Reply #97 on: February 18, 2015, 01:28:08 pm »

Oh, and don't forget—because I did—that if you are using the standby option, to have Media Center play silence for hardware synchronization for the same length of time as your buffer size.
Anything less than this was cutting off the beginning of the first track.
 
It's possible that 3 seconds just happens to be both the duration of the buffer I'm using in TuneBlade and the correction in MC, and that my AirPort Express v1 just needs a 6 second delay regardless of the buffer size, but it seems more likely that they need to be set to the same duration.
 
Yes, it adds more latency, and 6 seconds seems to be about the length of time that you're beginning to wonder "did it actually start?" but I'm sure that I'll get used to it soon. Or I'll decide to reduce the buffer size.
Logged

bspachman

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 888
Re: Airplay
« Reply #98 on: February 19, 2015, 03:50:44 pm »

Like some of the folks in this thread, I’ve been frustrated over the years about the lack of non-DLNA streaming options available from JRiver. I’ve been an Airfoil user for many years in order to compensate, but that utility has several issues of its own, many of which have been well-enumerated by 6233638 :)

My two main frustrations with Airfoil (server) are: once it’s hooked to a destination device, it won’t let go; and its unerring ability to crash and suck all audio with it when fed data it didn’t expect (be it from a multi-channel video or a high-resolution audio or...etc.)

TuneBlade seems to give me some hope that these inadequacies can be overcome—however, after an afternoon poking and prodding at my setup, I am at a loss. :(

In an ideal world, I’d love to configure things so that when I play a video file, it plays in one zone—without worrying about what my AirPlay server (be it Airfoil or TuneBlade) is doing. When I play an audio file, it plays (synchronously) from the local machine as well as any AirPlay devices I want to enable—and without regard to whether it’s an AC3 music file, a DTS/WAV, or some other oddity that might crop up in my library. Finally, I need to target those various AirPlay devices from other sources when done playing music from MC.

I’ve configured MC’s Zone Switch feature to properly send Video file types to one zone, and Audio file types to another zone—no problems there.

I’ve installed the latest version of TuneBlade, and am able to stream from the server to the Airplay clients with good sync (a 400ms buffer set in TuneBlade). This works well with the “Direct Loopback” audio capture mode. However, when I unmute the computer speakers, the server plays back at least 400ms ahead of the rest of the audio.

I’ve installed the VB Hi-Fi Cable Output audio driver, but am not quite sure what to do with it or if it will help. The whole 'loopback' process seems to add complexity without providing any real gains in abilities--am I wrong? :)

I’ve still got Airfoil (and Airfoil Speakers) installed on the server. I tried sending audio from MC->Default Audio Device->TuneBlade (Direct Loopback)->Airfoil Speakers, but end up with a cascade of delayed sound.

I feel like this should be simpler than I’m making it, but can’t seem to find my way through the weeds.

Any thoughts will be greatly appreciated!

Thanks,
Brad
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Airplay
« Reply #99 on: February 19, 2015, 05:27:52 pm »

I’ve installed the VB Hi-Fi Cable Output audio driver, but am not quite sure what to do with it or if it will help. The whole 'loopback' process seems to add complexity without providing any real gains in abilities--am I wrong? :)
Direct Loopback captures all audio playing on the PC.
So if someone is using AirPlay to listen to music, and someone else starts watching YouTube videos on the PC, that YouTube audio will be sent to all of the AirPlay clients.

Using Virtual Device Loopback with Hi-Fi Cable gives you an additional sound device that can be configured as a Zone in Media Center.
Anything played inside that Zone will be sent to all the AirPlay clients, but anything outside of that Zone (e.g. YouTube on the PC speakers) will stay local to the PC.


So TuneBlade is set to capture audio from Hi-Fi Cable, but it is configured to set my PC speakers as the default playback device:

 
If you were to set both to Hi-Fi Cable, you're essentially just replicating the muted Direct Loopback functionality.


Media Center is then configured with a Zone that sends audio to Hi-Fi Cable:

 
As mentioned in my previous posts, be sure that you have the output configured to use exclusive access, 16-bit audio, and have everything resampled to 44.1kHz in the Output Format DSP.
Since TuneBlade sets the PC speakers as the default sound device, this Zone is the only thing which can play audio to Hi-Fi Cable. (which then gets sent over AirPlay)

The Airfoil Speakers client running on the PC is then configured to play audio to the PC speakers:


This should mean that any audio sent over AirPlay is kept in sync across all devices, including the PC.
And you won't run into a feedback loop where TuneBlade is capturing audio from the same device that the Airfoil Speakers app is playing to.



If you want to use the Standby feature without any additional configuration, I would set it to something like 60 seconds, because silences between tracks or silent parts of tracks may trigger standby due to the dither that Media Center uses allowing for absolute silence.
 
If you want to use a really short duration for standby like the minimum of 10 seconds, you really need to use a plug-in that adds TPDF dither.
The reason this works is because TPDF dither does not allow for absolute silence, so even when there is an extended period of silence in a song or between tracks, there's always a very low level amount of noise being played and that keeps the connection active.
When playback stops you get silence though, so the receivers are released after 10 seconds.
 
Now I haven't done any extensive testing, but I just had a quick look around for a free VST plug-in to do this, and the mda Dither plug-in seems to work well for this purpose.
Its configuration doesn't appear to work in MC, but the default output is 16-bit TPDF dither with the proper amplitude, and a reasonable amount of noise shaping.
Now I don't know that I'd disable MC's dither and replace it with this plug-in (I'd probably spend the money to get a commercial plug-in like TB-Dither for stereo or Voxengo Elephant if you need multichannel if you wanted to replace MC's dither entirely) but it should be fine to run this on top of MC's own RPDF. I don't foresee it having any detrimental effects if you just use it in the AirPlay Zone.
Logged
Pages: 1 [2] 3   Go Up