When will the new unitis get gapless from other apps?
Posted by: SimonPeterArnold on 22 September 2018
Ok I am trying out Qobuz as there is a 3 month free trial of sublime + doing the rounds. But I can't get gapless to work using anything. It's driving me nuts listening to Suedes new album as its end to end music. Ive tried bubbleupnserver with bubbleupnp app and kazoo app but still no gapless. Upnp in the windows Windows app is so flakey it's laughable and Chromecast doesnt work much better. So has anybody got upnp gapless working outide off naims own app which wont work to get Qobuz working. I know it was flagged ages ago but it looks like nothings been done to sort this ?
The new Unitis and the Naim app both do gapless, so it's likely to be due to the design of the Quobuz interface - Naim can't do anything about that.
I would write/e-mail Qobuz, their advert for the Hi-Fi (CD quality) service clearly says "Superb applications: streaming in offline mode, Gapless playback, choice of listening quality, Qobuz Connect..."
No problem with gapless Qobuz here.. works a treat. However it does depend on how the streamer is implemented. Chromecast does not natively support gapless so may need special streamer software to implement it. I use BubbleSoft UPnP proxy server to push via UPnP into my NDX. I do understand there is an issue with the latest streamer generation firmware that prevents some pushed gapless UPnP from working... from what I can gather there is a difference in interpretation of the specification... and Naim are aware of it and I understand will/may look to resolve. No issue with the older generation streamers.
i suggest you write to Naim to let them know of your displeasure. I guess customer feedback will help to prioritise. It does seem strange the newer Naim streamers have taken a step backwards in functionality here compared to the older Naim streamer generation.
Mike-B posted:I would write/e-mail Qobuz, their advert for the Hi-Fi (CD quality) service clearly says "Superb applications: streaming in offline mode, Gapless playback, choice of listening quality, Qobuz Connect..."
Mike, the OP is not using Qobuz connect, they are using pushed UPnP via Bubblesoft UPnP proxy server to play Qobuz.. that is absolutely nothing to do with Qobuz, but is ultimately an interoperability between BubbleSoft and Naim (latest generation streamers).
According to BubbleSoft they have found the following manufacturers have interpreted the pushed gapless specs the same way as they have..
- Denon DNP-F109 (and possible variants)
- Cambridge Audio Stream Magic 6 (with latest firmware)
- Simaudio Moon Mind 180D
- Electrocompaniet ECI-6DS
- foobar2000 (with foo_upnp)
Yep, new streamers do not seem to support gapless with Chromecast (even via Bubble UPnP) ever since initial release - this should be a pretty basic feature on audiophile grade equipment in my view.
Airplay will provide gapless on iOS/mac OS but won't support above CD Quality.
Huge posted:The new Unitis and the Naim app both do gapless, so it's likely to be due to the design of the Quobuz interface - Naim can't do anything about that.
Not really as every upnp controller has the same issue with the new unitis. If you use their own app yes you get gapless but without it you don't. This is my complete frustration with upnp its too fractured and the Naim app is just as infuriating in different ways. Ill just have to use this 3 months freeness to get the discount on hires downloads instead of streaming it as its just not worth the hassle, No wonder they are such a fringe service. Even their own apps suck big time since they got updated and their Chromecast support is no better either, I can get gapless on my second system when the apps dont hang using bubbleupnp and upmpdcli on my USBridge so I guess i will have to limit Qobuz to their, Hopefully Roon add it before my trail runs out at and I can use it properly.
Simon-in-Suffolk posted:No problem with gapless Qobuz here.. works a treat. However it does depend on how the streamer is implemented. Chromecast does not natively support gapless so may need special streamer software to implement it. I use BubbleSoft UPnP proxy server to push via UPnP into my NDX. I do understand there is an issue with the latest streamer generation firmware that prevents some pushed gapless UPnP from working... from what I can gather there is a difference in interpretation of the specification... and Naim are aware of it and I understand will/may look to resolve. No issue with the older generation streamers.
i suggest you write to Naim to let them know of your displeasure. I guess customer feedback will help to prioritise. It does seem strange the newer Naim streamers have taken a step backwards in functionality here compared to the older Naim streamer generation.
I'm not using Chromecast im using Bubbleupnp to send upnp out and cant get it to work or via openhome (dont think Naim support this protocol), Chromecast can do gapless Roon's implementation works fine you just need to know what your doing as its in the api,Qobuz dont seem to know much judging by their own apps. Even their upnp in the windows dekstop app is woefull and Chromecast is as bad. I cant see them going far in the US with this bad front ends,
Qobuz works gapless to my 272 using bubble. I seem to recall that there is a gapless option in bubble setup, but may be imagining it. Anyway, it works.
SimonPeterArnold posted:I'm not using Chromecast im using Bubbleupnp to send upnp out and cant get it to work or via openhome (dont think Naim support this protocol), Chromecast can do gapless Roon's implementation works fine you just need to know what your doing as its in the api,Qobuz dont seem to know much judging by their own apps. Even their upnp in the windows dekstop app is woefull and Chromecast is as bad. I cant see them going far in the US with this bad front ends,
Indeed I use my BubbleUPnP Server to provide a UPnP proxy to play Qobuz (gapless) into my Naim NDX. Works really well. The same goes for my Sonos speakers and my iOS Qobuz Connect app.
My comment about Chronecast is that I understand there is gapless API function so gapless has to be provided under renderer control.
I believe the same the same is for UPnP with the DLNA profile and the Openhome (Linn extensions) profile. Remember UPnP is simply set of basic library APIs that are designed for flexibility under app software.. or a profiled set of behaviours. In open communication and computer standards, because they are designed to meet a broad base of use cases, profiling, often through national, regional or industrial bodies, is commonly applied to provide specific functionality and standard interpretation. UPnP media control is no different.
The native way Naim uses UPnP is to pull from the renderer, (ie different from push UPnP as used by Bubble Openhome). Naim has the app (control point) tell the renderer (streamer) what media to pull from the server. The playlist with Naim is held in the streamer. Therefore gapless is purely down to Naim’s streamer implementation.
Simon-in-Suffolk posted:...My comment about Chronecast is that I understand there is gapless API function so gapless has to be provided under renderer control.
...
Chronecast... I love it. As an older woman perhaps that's what I need!
Yes the Chromecast API has two main methods of managing the connection:
1 The simple way
The application calls the API passing the name of the file to be rendered to the Chromecast device. The API code then...
Opens a connection to the Chromecast creating a stream
Opens the File
Renders the file contents to the stream
Closes the file
Closes the connection to the Chromecast ending the stream
This obviously requires a new connection to be built and opened (across WiFi) for each file to be played, and that time delay causes the gaps.
2 The more complex way (but can be gapless)
Call the API to open a stream to the Chromecast device, then manage the rendering of the files to that stream in the application code.
The application calls the Chromecast API opens a connection to the Chromecast returning a handle to the stream it creates.
The application opens the first file, creates a playable stream from the file (but doesn't play it yet)
Using a worker thread the application uses the Chromecast API to play the stream.
In a third thread it opens the second file and creates a playable stream from the file (but doesn't play it yet)
As soon as the worker thread stops playing the first stream, it gets and plays the second stream (which has already been prepared for it).
This change over occurs in just a few microseconds, so appears gapless to us slow humans.
The first thread then closes the file it was holding and prepares the third file in the playlist (creating a stream to be played when no 2 stops)
...
When there are no more files in the playlist the application may close the connection (and stream) to the Chromecast.
Touché... I could blame my iOS auto edit... but it is a bad workman who blames his tools
But yes the way gapless is achieved with Chromecast is not so different than with UPnP (when playing through a media list).. it’s down to the renderer software (with pull) or renderer and server software (with push) to control the adjacent media transfers and effectively join them.
hungryhalibut posted:Qobuz works gapless to my 272 using bubble. I seem to recall that there is a gapless option in bubble setup, but may be imagining it. Anyway, it works.
As mentioned not on the new Unitis, I know it works for the legacy stuff just not the new which is what i have. Hence my frustration.
Simon-in-Suffolk posted:SimonPeterArnold posted:I'm not using Chromecast im using Bubbleupnp to send upnp out and cant get it to work or via openhome (dont think Naim support this protocol), Chromecast can do gapless Roon's implementation works fine you just need to know what your doing as its in the api,Qobuz dont seem to know much judging by their own apps. Even their upnp in the windows dekstop app is woefull and Chromecast is as bad. I cant see them going far in the US with this bad front ends,
Indeed I use my BubbleUPnP Server to provide a UPnP proxy to play Qobuz (gapless) into my Naim NDX. Works really well. The same goes for my Sonos speakers and my iOS Qobuz Connect app.
My comment about Chronecast is that I understand there is gapless API function so gapless has to be provided under renderer control.
I believe the same the same is for UPnP with the DLNA profile and the Openhome (Linn extensions) profile. Remember UPnP is simply set of basic library APIs that are designed for flexibility under app software.. or a profiled set of behaviours. In open communication and computer standards, because they are designed to meet a broad base of use cases, profiling, often through national, regional or industrial bodies, is commonly applied to provide specific functionality and standard interpretation. UPnP media control is no different.
The native way Naim uses UPnP is to pull from the renderer, (ie different from push UPnP as used by Bubble Openhome). Naim has the app (control point) tell the renderer (streamer) what media to pull from the server. The playlist with Naim is held in the streamer. Therefore gapless is purely down to Naim’s streamer implementation.
Yet again another reason for me to really dislike upnp. There is nothing universal about it at all as everyone does their own implementation and then changes that to something new in later models so what did work, wont work. Drives me nuts, Well enough of me Im back to Roon and Tidal at least it works on everything in my house flawlessly without pulling out my hair.
Horses for courses, my UPnP based apps work a treat here (and not just for audio), it couldn’t be simpler and I still have a full head of head. Qobuz gapless sounds great too on multiple platforms .. my aim is to try and keep it simple, that way I get best SQ and best reliability.
BTW I think you might be confusing universal (ie standardised) API libraries/functions (like UPnP) with universal app implementation, they are two quite different things.. it’s a bit like I can write two quite different applications with quite different usability and function using the same standardised operating system library functions.
As far as I understood from some postings in this forum, the new unitis do not support the UPnP function SetNextAVTransportURI. This is required to announce the next track that should be played after the current one. The streamer can prebuffer the next track and so start it gaplessly after the last byte of the current track has been played.
gert posted:As far as I understood from some postings in this forum, the new unitis do not support the UPnP function SetNextAVTransportURI. This is required to announce the next track that should be played after the current one. The streamer can prebuffer the next track and so start it gaplessly after the last byte of the current track has been played.
Neither the old or new streamers begin to buffer a track until it starts. I can’t claim to understand the inner workings of UPnP, but I’m pretty sure there is no pre-buffering.
When I use the Naim app to play an album, gapless works. When I tell JRiver to play the same album to my Nova, gapless does not work.
Why?
The old streamers definitely need to do prebuffering. Otherwise it would be impossible to play tracks completely gaplessly.
One probably could check this by watching the minimserver log file for the first access time of the next track.
But even if no buffering was done, the SetNextAVTransportURI still needs to be supported. Otherwise the external control point had to watch if the first track has finished to play, so the control point can tell the streamer to start track number two. Then the streamer had to connect the NAS to retrieve some bytes and do some safety buffering before starting to play. This probably would take 0,5s up to 2s. This would be a huge gap while listening.
I think Gert is right. The reply I got from Naim support explaining why gapless Qobuz no longer works (on the new Naim products) was: “we no longer support the custom extension SetAVTransportURINext which enabled gapless suport in your use case however generally the command is flawed and as such support for it has been removed. Muso and "legacy" streaming platform does support it historically but it will not be implemented on Atom / Star and Nova moving forwards.”
i since read in these forums that they may be reconsidering this. We can live in hope.....
Mike-B posted:I would write/e-mail Qobuz, their advert for the Hi-Fi (CD quality) service clearly says "Superb applications: streaming in offline mode, Gapless playback, choice of listening quality, Qobuz Connect..."
I emailed them ages ago about gapless playback. No change, unfortunately their app is now worse as if you Chromecast an album on iOS (locally downloaded or not) for some reason the tracks repeat once from the start after 2-3 secs - it's infuriating and I've told them about this too.
I had an older Qobuz app on my iPhone X which did not have the 'repeat' bug, but stupidly when I updated to iOS 12 and also upgraded my Apple Watch I was asked if I wanted to update the Qobuz Watch app which typically then updated the phone app and I'm stuck.
gert posted:The old streamers definitely need to do prebuffering. Otherwise it would be impossible to play tracks completely gaplessly.
One probably could check this by watching the minimserver log file for the first access time of the next track.
But even if no buffering was done, the SetNextAVTransportURI still needs to be supported. Otherwise the external control point had to watch if the first track has finished to play, so the control point can tell the streamer to start track number two. Then the streamer had to connect the NAS to retrieve some bytes and do some safety buffering before starting to play. This probably would take 0,5s up to 2s. This would be a huge gap while listening.
It may be flawed in some manner but it worked!
Come on Naim, please reconsider this!
Huge posted:The new Unitis and the Naim app both do gapless, so it's likely to be due to the design of the Quobuz interface - Naim can't do anything about that.
The problem it would seem then is that Qobuz app uses SetNextAVTransportURI which Naim regards as flawed or perhaps it's deprecated?
If Qobuz only worked with Naim streamers they'd soon sort it out I'm sure, but if many streamers work fine they may see little reason to implement gapless directly within the app.
Alley Cat posted:Huge posted:The new Unitis and the Naim app both do gapless, so it's likely to be due to the design of the Quobuz interface - Naim can't do anything about that.
The problem it would seem then is that Qobuz app uses SetNextAVTransportURI which Naim regards as flawed or perhaps it's deprecated?
If Qobuz only worked with Naim streamers they'd soon sort it out I'm sure, but if many streamers work fine they may see little reason to implement gapless directly within the app.
Not really, I can't get anything gapless via any other upnp controller for my own stuff or qobuz to the Atom. So its not the qobuz app. I'm using bubble upnp and it does not work, lumin app does not work. Only their own app will play gapless via upnp.
It's not a Biggie for my own stuff as I use Roon not upnp but as I want to enjoy my 3 months free qobus on the Atom in gapless I can't without using a different streamer hooker up to it.
SimonPeterArnold posted:Alley Cat posted:Huge posted:The new Unitis and the Naim app both do gapless, so it's likely to be due to the design of the Quobuz interface - Naim can't do anything about that.
The problem it would seem then is that Qobuz app uses SetNextAVTransportURI which Naim regards as flawed or perhaps it's deprecated?
If Qobuz only worked with Naim streamers they'd soon sort it out I'm sure, but if many streamers work fine they may see little reason to implement gapless directly within the app.
Not really, I can't get anything gapless via any other upnp controller for my own stuff or qobuz to the Atom. So its not the qobuz app. I'm using bubble upnp and it does not work, lumin app does not work. Only their own app will play gapless via upnp.
It's not a Biggie for my own stuff as I use Roon not upnp but as I want to enjoy my 3 months free qobus on the Atom in gapless I can't without using a different streamer hooker up to it.
On the contrary it is a huge flaw in a supposedly state of the art streamer range.
All we seem to have in common is a huge variety of 3rd party software that worked with older devices doesn't now - makes no sense.