Compatibility of Audirvana with upmpdcli

Dear all,
Using a streamer that reuses an implementation of the upmpdcli, I’m experiencing some strange behaviour with files with size/(playing time) exceeding a certain value.
It seems that for some audio format (FLAC in HD for example), Audirvana generates a Wav file and send it to the streamer (or inform the streamer that the file is present). Thing is that the streamer (containing the upmpdcli software layer) tries to play the file before the end of generation, leading to no sound at all and AS being blocked (Unblocking can be done by releasing the audio device).

Does any of you use any streamer/device using upmpdcli and do you have the same problem I have?
Does the AS developer team know anything about incompatibility between AS and devices using upmpdcli?

For the time being, I’m using an older release of the streamer SW that works without any problem but I am interesting in using the latest release.

Thanks for any info or advice.

I use a mini-PC as a streamer with my own “vanilla” upmpdcli installation. Can you tell me what an example file is that has the problem so I can test?

What streamer are you using?

HI Jud,

Thanks for your answer.
I discovered this problem by testing a 24/96 record on my setup. For example, on the album “Callas Sings VERDI Arias - Callas remastered”, the three first tracks cannot be played and result in a freezing of AS.
Maybe I can try to send you one of these tracks for you to test on your platform.

For information, I’m using a streamer from TotalDac for which a new version of the SW has been delivered in May this year: I only have the problem with this new version, so I was forced to go back to an earlier one from 2021. I’m not 100% sure that the problem is coming from upmpdcli but that’s the conclusion of TotalDac.

I reorganised my setup and I use a MELCO device as a streamer connected to the TotalDac reclocker and then to the TotalDac DAC through an AES/EBU link.

No need to send files. The album is available on Qobuz. I hope to be able to test later today.

Thanks!
For your info, here is what has been obtained during a test with tracks of that album (Log from Audirvana) when trying to play the first track of the Callas album:

2023-08-16 15:01:06.991 [debug]: UPnP Success setting AVTransportURI to http://192.168.1.16:49152/audirvana/audio_f_41.wav

2023-08-16 15:01:06.996 [debug]: UPnP Send info for file audio_f_41.wav from buffer 0 trackId 41

2023-08-16 15:01:06.996 [debug]: UPnP open file /audirvana/audio_f_41.wav

2023-08-16 15:01:06.996 [debug]: UPnP sent WAVE header with fileLength 177239084 audio data 177239040 from buffer 0 trackId 41

2023-08-16 15:01:06.996 [debug]: UPnP received audio data request from 0 for 1048532 loaded 20160000 from buffer 0 trackId 41

2023-08-16 15:01:06.996 [debug]: UPnP sending audio from 0:0 playing 0:0 loaded to 0:35 from 0 for 1048532 requested 1048532 loaded 20160000 from buffer 0 trackId 41

2023-08-16 15:01:06.999 [debug]: UPnP Send info for file audio_f_41.wav from buffer 0 trackId 41

2023-08-16 15:01:07.000 [debug]: UPnP send setNextAVTransportURI for track Otello, Act 4: “Piangea cantando” (Willow Song) (Desdemona)

2023-08-16 15:01:07.000 [debug]: UPnP Received AVTransportURI change to http://192.168.1.16:49152/audirvana/audio_f_41.wav

2023-08-16 15:01:07.000 [error]: UPnP AVTransport event: can’t parse filename http://192.168.1.16:49152/audirvana/audio_f_41.wav for new AVTransportURI

2023-08-16 15:01:07.571 [debug]: UPnP Success setting NextAVTransportURI to http://192.168.1.16:49152/audirvana/audio_f_42.wav

2023-08-16 15:01:13.360 [debug]: UPnP Success sending Pause request

2023-08-16 15:01:15.583 [debug]: UPnP Exiting playing start polling loop with 39 attempts remaining

2023-08-16 15:01:15.609 [debug]: UPnP Exiting playing start polling loop with 8 attempts remaining

2023-08-16 15:01:15.746 [error]: UPnP Error 501 setting NextAVTransportURI to on instance 0

2023-08-16 15:01:15.746 [warning]: UPnP Error resetting NextAVTransportURI when stopping

2023-08-16 15:01:15.751 [error]: UPnP Error 501 setting AVTransportURI to on instance 0

2023-08-16 15:01:15.751 [warning]: UPnP Error resetting AVTransportURI when stopping

2023-08-16 15:01:19.864 [debug]: UPnP device discarded because missing AVTransport service: uuid:0

Hi. The first 3 tracks on the Callas album played straight through for me, gapless, with no problem.

My setup is: Audirvana on Windows 11 sending music upsampled to DSD512 via UPnP over optical Ethernet to a Fitlet 3 mini-PC (with optional optical Ethernet input) running upmpdcli on Ubuntu Server 22.04 LTS; and from there via USB to an iFi NEO iDSD Performance Edition DAC.

I haven’t made any special “tweaks” to upmpdcli, just entered the appropriate information in its configuration file to get it to work on my home network. So I doubt that the problem is upmpdcli unless Total has made some modifications to it or the software that interfaces with it.

Many thanks Jud for this.
Just one thing that puzzles me on your test setup: you said that you upsample to DSD512. I am just wondering why you do that?
When I discussed the point with TotalDac people, they told me that if you play DSD files with Audirvana, it is sent as is (keeping the same format) via UPnP. But if you play a FLAC file in HD format (Such as the 24/96 format in the case of Callas album), Audirvana first creates a Wav file and then send it to the player via UPnP. And, apparently, from what I understood, this is where the problems pop out.

If it is not too much to ask, would you be so kind to try to replay the test without upsampling in DSD, and put the AS logging capability ON just to see if it creates the famous WAV file?

And, in addition, you mentionned Qobuz as the source for the album. Does it mean you are using the streaming capability of AS with Qobuz and not the playing of a local album? Does it change anything in the way AS sends data to the streamer via UPnP?

Sorry to bother you but as you seem to be an expert in that field (contrary to some others I know who pretend to be specialists…), I am interested to learn and understand why I have those problems with my streamer.

Thanks in advance
Eric

Oversampling off, played through perfectly again. Here’s a relevant snippet of the debugging info after I stopped playback a few seconds into the 4th track:

DLNA 1.5: No
Native Gapless playback: Yes
Universal Gapless playback active: No
Missing events workaround: No
Can play native DSD: Yes
Volume Control: scalar
Number of channels: 2
Use as stereo device only: No

1 output streams:
Number of active channels: 2, in 1 stream(s)
Channel #0 :Stream 0 channel 0
Channel #1 :Stream 0 channel 1
2 ch Integer PCM 16bit little endian 44.1kHz finite length
2 ch Integer PCM 24bit little endian 44.1kHz finite length
2 ch Integer PCM 32bit little endian 44.1kHz finite length
2 ch Integer PCM 16bit little endian 88.2kHz finite length
2 ch Integer PCM 24bit little endian 88.2kHz finite length
2 ch Integer PCM 32bit little endian 88.2kHz finite length
2 ch Integer PCM 16bit little endian 176.4kHz finite length
2 ch Integer PCM 24bit little endian 176.4kHz finite length
2 ch Integer PCM 32bit little endian 176.4kHz finite length
2 ch Integer PCM 16bit little endian 352.8kHz finite length
2 ch Integer PCM 24bit little endian 352.8kHz finite length
2 ch Integer PCM 32bit little endian 352.8kHz finite length
2 ch Integer PCM 16bit little endian 705.6kHz finite length
2 ch Integer PCM 24bit little endian 705.6kHz finite length
2 ch Integer PCM 32bit little endian 705.6kHz finite length
2 ch Integer PCM 16bit little endian 48kHz finite length
2 ch Integer PCM 24bit little endian 48kHz finite length
2 ch Integer PCM 32bit little endian 48kHz finite length
2 ch Integer PCM 16bit little endian 96kHz finite length
2 ch Integer PCM 24bit little endian 96kHz finite length
2 ch Integer PCM 32bit little endian 96kHz finite length
2 ch Integer PCM 16bit little endian 192kHz finite length
2 ch Integer PCM 24bit little endian 192kHz finite length
2 ch Integer PCM 32bit little endian 192kHz finite length
2 ch Integer PCM 16bit little endian 384kHz finite length
2 ch Integer PCM 24bit little endian 384kHz finite length
2 ch Integer PCM 32bit little endian 384kHz finite length
2 ch Integer PCM 16bit little endian 768kHz finite length
2 ch Integer PCM 24bit little endian 768kHz finite length
2 ch Integer PCM 32bit little endian 768kHz finite length
2 ch DSD 8bit little endian in 8bit chunk 2822.4kHz finite length
2 ch DSD 8bit little endian in 8bit chunk 5644.8kHz finite length
2 ch DSD 8bit little endian in 8bit chunk 11289.6kHz finite length
2 ch DSD 8bit little endian in 8bit chunk 22579.2kHz finite length

Current device transportInfo:
CurrentTransportState: STOPPED
CurrentTransportStatus: OK
CurrentSpeed: 1

Current device MediaInfo:
NrTracks: 1
MediaDuration: 00:00:00
CurrentURI: http://[I’ve masked the URL]/audirvana/audio_f_105.wav
CurrentURIMetadata:

dc:titleAroldo, Act 1: "Ciel, ch'io respiri!..Salvami, salvami tu gran dio" (Mina)</dc:title>
dc:creatorMaria Callas</dc:creator>
upnp:artistMaria Callas</upnp:artist>
upnp:albumArtURIhttp://static.qobuz.com/images/covers/99/39/0825646253999_600.jpg</upnp:albumArtURI>
upnp:albumCallas sings Verdi Arias - Callas Remastered</upnp:album>
upnp:originalTrackNumber4</upnp:originalTrackNumber>
upnp:classobject.item.audioItem.musicTrack</upnp:class>
http://[I’ve masked the URL]/audirvana/audio_f_105.wav


nextURI: http://[masked URL again]/audirvana/audio_f_106.wav
nextURIMetadata:

dc:titleDon Carlo, Act 3: "O don fatale" (Élisabeth)</dc:title>
dc:creatorMaria Callas</dc:creator>
upnp:artistMaria Callas</upnp:artist>
upnp:albumArtURIhttp://static.qobuz.com/images/covers/99/39/0825646253999_600.jpg</upnp:albumArtURI>
upnp:albumCallas sings Verdi Arias - Callas Remastered</upnp:album>
upnp:originalTrackNumber5</upnp:originalTrackNumber>
upnp:classobject.item.audioItem.musicTrack</upnp:class>
http://[masked URL once again]/audirvana/audio_f_106.wav


PlayMedium: HDD
RecordMedium: NOT_IMPLEMENTED
WriteStatus: NOT_IMPLEMENTED

I upsample to DSD512 because the resulting sound has the lowest measured distortion at DSD256 or DSD512. While I don’t know that I’d necessarily be able to hear the difference (we’re talking about quite low distortion levels), why not just keep it as low as you can?

I do not think playing from Qobuz results in any change in the way AS sends data to the streamer. You see from the debug info that it’s sent as a wav file when not upsampled to DSD.

So it doesn’t appear that my untweaked installation of upmpdcli is causing any problems here.

Many thanks Jud!
You are extremely helpful in helping me to bring evidence that apparently upmpdcli is not the one to be blamed here.
To be complete on this case, I should add that everything was running fine with the previous version of the SW on the TotalDac streamer. Apparently, the new version introduced a new SW architecture that probably does not sleep well with the upmpdcli layer. I will see with the developer team.

Regarding the upsampling in DSD, I never tried that as I always preferred to keep everything simple to limit the introduction of any artefact, but I never considered this story about limiting distortion.
I will look at it and try to hear any difference in sound, if my ears are capable to catch that.

Anyway, thanks a lot again for your help.
Eric

1 Like

Dear Jud,
Oh, sorry, I forgot to ask: which version of upmpdcli are you using in your setup?
Eric.

Hi Eric - upmpdcli is the latest version, 1.8.3.

Hi Jud,
So, I talk with TotalDac people and sent them the results of your tests that confirmed upmpdcli was certainly not the culprit.
And yesterday evening they delivered an updated version of the their SW, with most probably some updates to the real-time architecture of their baby.
And now, it works!
I can now come back to my initial setup and enjoy the music.

Thanks a lot, again.
Have a good day!

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.