Upnp + qobuz + kef ls50w trouble

Bonjour,

Comme le logiciel est un logiciel français je vais m’exprimer en français.
Tout d’abord je voudrais m’exprimer sur la qualité du son d’audivarna : c’est vraiment le meilleur logiciel à ce niveau. Il est significatif qu’il y a eu beaucoup d’effort sur le sujet et mes enceintes donne le meilleur d’elle même avec audivarna.

Ceci dit il y a quand même des soucis assez embêtant qui nuise à l’écoute . Apparement je ne suis pas le seul dans ce cas la. Mais je vais en rajouter une couche. Dans certaines écoutes la lecture s’arrête à la fin de la chanson. Et la c’est mort !
Dans les logs:

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

Pour que cela refonctionne il faut que je débranche du secteur les enceintes et que je relance audivarna. C’est quand même un peu génant !.

C’est comme si la communication entre audivarna et les enceintes étaient cassées. J’utilise sur mon portable airmusic et je n’ai pas ce genre de souci. Bref je pense qu’il y a quelque chose qui n’est pas fait correctement au niveau du protocol.

Comme je suis un bon garçon j’ai sniffé le réseaux quand le problème survient et je vous fournit le screen shot si cela aide.

En tous cas le bug est génant. J’espère que vous trouverez une solution.

Youenn.

La capture réseau du souci (je pense que ce qui est en rouge):

RST : RESET emit par les enceintes à destination d’audivarna.

La communication de lecture quand le souci survient :

NB1 : une technique que j’ai trouvé pour que le bug soit moins fréquent chez moi c’est de commencer la lecture de la première chanson et de me positionner directement à la fin de la chanson. Par la suite toutes les autres passent !

NB2: peut t’on avoir des logs un peu plus verbeux a part Debug Info pour vous aider dans la résolution du souci ?

En annexe les logs de mon device:

Audirvana Studio 1.10.2 (11002)

macOS 10.15.7 with 16GB physical RAM

Connected account of : youenn boussard

SIGNAL PROCESSING:

	Polarity Inversion:
		Globally: OFF
		Per track: OFF
	Effects plugins NOT ACTIVE

UPSAMPLING:
	SoX not in use
	SoX filter parameters
		Bandwidth at 0dB = 99.5%
		Filter max length = 30000
		Anti-aliasing = 100
		Phase = 66%

AUDIO VOLUME:
	Max allowed volume: 100
	Replay Gain: None
	SW volume control: ON

LIBRARY SETTINGS:
	Sync list: 0 folders
	iTunes/Music library synchronization: not synchronized
	Library database path: /Users/youennboussard/Library/Application Support/Audirvana/AudirvanaDatabase.sqlite

Remote Control server:
	Listening on 127.0.0.1 on port 58596

ACTIVE STREAMING SERVICES
	Qobuz:  Connected as Qobuz Studio

=================== AUDIO DEVICE ========================


Preferred device: KEF KEF ARMADYOU	Model UID:KEF Kef armadyou	UID:uuid:5f9ec1b3-ed59-1900-4530-84171500d82f

Currently playing to UPnP device at 24 bits 44.1kHz
Selected device:
	UPnP device at http://192.168.0.44:8080/description.xml
	ID 0x0 Kef armadyou
	Manufacturer: KEF
	Model Name: 
	Model UID: KEF Kef armadyou
	UID: uuid:5f9ec1b3-ed59-1900-4530-84171500d82f

6 available sample rates up to 192000Hz
	44100
	48000
	88200
	96000
	176400
	192000
Volume control: No
MQA capability
	Auto-detect MQA devices: No
	Not a MQA device, user set to not MQA
DSD capability: DSD via PCM 1.1
Device audio channels
	Preferred stereo channels L:0 R:1
	Channel bitmap: Ox3, layout:
		Channel 0 mapped to 0
		Channel 1 mapped to 1
Avoid RAW PCM streams: Yes
UPnP/DLNA supported protocols:
	http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM
	http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM
	http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM
	http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM
	http-get:*:audio/mpeg:DLNA.ORG_PN=MP3
	http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE
	http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL
	http-wavetunes:*:audio/x-ms-wma:*
	http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS
	http-get:*:audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320
	http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO
	http-get:*:audio/3gpp:DLNA.ORG_PN=AAC_ISO
	http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320
	http-get:*:audio/3gpp:DLNA.ORG_PN=AAC_ISO_320
	http-get:*:audio/3gpp2:*
	http-get:*:audio/wav:*
	http-get:*:audio/x-wav:*
	http-get:*:audio/flac:*
	http-get:*:audio/x-flac:*
	http-get:*:audio/x-aiff:*
	http-get:*:audio/aiff:*
	http-get:*:audio/vorbis:*
	http-get:*:audio/x-vorbis:*
	http-get:*:audio/x-vorbis+ogg:*
	http-get:*:audio/ogg:*
	http-get:*:audio/x-ogg:*
	http-get:*:audio/m4a:*
	http-get:*:audio/x-m4a:*
DLNA 1.5: Yes
Gapless playback: Yes
Missing events workaround: No
Can play native DSD: No
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

Stream ID 0x0 0 channels starting at 0
12 virtual formats:
	2 ch Non-mixable linear PCM Interleaved 16 little endian Signed Integer 44.1kHz finite length
	2 ch Non-mixable linear PCM Interleaved 24 little endian Signed Integer 44.1kHz finite length
	2 ch Non-mixable linear PCM Interleaved 16 little endian Signed Integer 88.2kHz finite length
	2 ch Non-mixable linear PCM Interleaved 24 little endian Signed Integer 88.2kHz finite length
	2 ch Non-mixable linear PCM Interleaved 16 little endian Signed Integer 176.4kHz finite length
	2 ch Non-mixable linear PCM Interleaved 24 little endian Signed Integer 176.4kHz finite length
	2 ch Non-mixable linear PCM Interleaved 16 little endian Signed Integer 48kHz finite length
	2 ch Non-mixable linear PCM Interleaved 24 little endian Signed Integer 48kHz finite length
	2 ch Non-mixable linear PCM Interleaved 16 little endian Signed Integer 96kHz finite length
	2 ch Non-mixable linear PCM Interleaved 24 little endian Signed Integer 96kHz finite length
	2 ch Non-mixable linear PCM Interleaved 16 little endian Signed Integer 192kHz finite length
	2 ch Non-mixable linear PCM Interleaved 24 little endian Signed Integer 192kHz finite length

0 physical formats

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

Excellente idée que de sniffer le réseau pour comprendre ce qui se passe au niveau du protocole UpnP.
J’observe également ce phénomène, pas systématiquement, mais uniquement sur un des lecteurs installés sur mon réseau.
J’ai un lecteur réseau Marantz NA11-S1 sur lequel se produit assez régulièrement ce phénomène, et la seule solution consiste à débrancher l’appareil du secteur et à la redémarrer (Pas utile de redémarrer Audirvana dans mon cas). Il s’agit bien d’une action complète de démarrage à froid en débranchant l’alimentation.
J’ai un streamer TotalDac et je n’ai jamais eu ce phénomène.

J’en conclus donc qu’il s’agit soit d’une erreur latente dans la spec du protocole, d’une ambiguité dans certaines exigences qui aboutit à une implémentation buggé, soit à une implémentation peu respectueuse des specifications (Je code et je pense ensuite…) et qui provoque ce bug de temps en temps.

N’ayant pas le problème avec le streamer TotalDac, j’en déduis que son implémentation du protocole est correcte ainsi que celle d’Audirvana. D’ailleurs le problème semble plutôt venir du lecteur car c’est lui qui initie le reset.

Ce serait intéressant de savoir si d’autres utilisateurs rencontrent ce même problème sur ce matériel. Si ce n’est pas le cas, il faudrait comparer les architecture réseau car il se pourrait qu’un élément intermédiaire (un switch ou routeur) provoque ce comportement. Une histoire de perte de paquet avec un timeout par exemple.

Ce serait bien aussi d’avoir la spec de l’UpNp.

En ce qui concerne le niveau de log avec Audirvana, en tous cas sur Mac, c’est assez pauvre en effet.

@patifr : merci pour la réponse et le feedback.

Les produits Marantz NA11-S1 et mes kef LS50w doivent être certifié par une autorité de certification. Je ne vois pas comment il peut en être autrement
Bref le minimum doit être à mon avis respecté. Des produits doivent être plus ou moins tolérant. Et c’est la que le Marantz et les Kef ne le sont pas apparement ;-)… Il y a des circonstances ou le client doit provoqué un buffer overflow ou autre…

N’ayant pas le problème avec le streamer TotalDac, j’en déduis que son implémentation du protocole est correcte ainsi que celle d’Audirvana.

Cela n’est pas certain du tout. L’implémentation doit être meilleur et plus tolérante c’est certain. Mais le client à aussi sa responsabilité. Je n’ai aucun souci avec les kef et airmusic par exemple (mais le son est moins bon :frowning: ) . Bref airmusic doit plus respecter le protocol qu’audivarna. Et c’est la ou je pense qu’audivarna doit se caler sur le matériel certifié dlna (et upnp) et pas l’inverse.

Pour info : les spec UPnP sont ici : https://openconnectivity.org/developer/specifications/upnp-resources/upnp/

Et d’ailleurs c’est les kef qui réponde via un notify qu’il y a un problème:

Ce que rapporte tel quel les log d’audivarna.

Mais audivarna reste figé dans ce cas la.

D’ailleurs ce qu’utilise audivarna est apparement : GitHub - pupnp/pupnp: libupnp: Build UPnP-compliant control points, devices, and bridges on several operating systems.

Bon je pense que c’est des soucis plutôt réseaux qui sont la cause de ces soucis apparement.

Issue de la spec upnp :

J’en saurais plus quand le problème reviendra.

En tous cas le logiciel Audivarna ne traite pas ce genre d’erreur quand elle survient et laisse l’utilisateur seul.
Je pense qu’en terme d’ui il faudrait que quand une telle erreur survient mettre un message à l’utilisateur qui décrit le souci style “il y a des problèmes de communication réseau avec votre périphérique audio”

Bonjour,
Merci pour ces infos.

Donc, si je comprends bien:

  • le périphérique audio détecte une interruption du flux audio,
  • Il signale une erreur au point de contrôle (“ERROR OCCURED”) qui est dans notre cas Audirvana
  • Audirvana pourrait traiter cette erreur et afficher un message, bien que le type d’erreur ne soit pas très explicite.
    Maintenant, le problème est "d’ou vient l’erreur’’:
  • Du périphérique et de son interface réseau: il reçoit bien les données mais ne sait pas les traiter car l’interface réseau est buggée.
  • Du réseau local entre Audirvana et le périphérique: un switch par exemple.
  • D’Audirvana lui-même qui ne sait pas correctement relayer le flux vers le périphérique: il devrait alors signaler une erreur
  • Du service de streaming; Audirvana devrait aussi détecter l’erreur.

Il serait intéressant de traquer les flux réseaux qui transitent (ou pas) au moment de l’erreur.

Dans mon cas, il se peut que les problèmes observés plus souvent sur mon NA11-S1 que sur le TotalDAc soient dûs à une architecture réseau plus complexe pour communiquer depuis Audirvana (Un switch en plus).

Cordialement

Alors le souci vient de se reproduire. Toujours la même erreur.
Audivarna complètement bloqué. Je relance audivarna , ca marche toujours pas.
Je lance airmusic sur mon portable → cela fonctionne.
Je change d’interface sur audivarna (lan vers wifi) et cela fonctionne ! Je rebascule du wifi vers la lan cela continue à fonctionner !
Et la pour le coup je n’ai pas arrêter physiquement les enceintes :-D.
Si c’est un souci au niveau d’audivarna , le fait de relancer l’app aurait du corrigé l’état mais pas du tout. C’est les enceintes qui renvoient le message sur l’AVTransport. Bref c’est elle qui sont dans un état qui ne change pas (renvoie à audivarna TransportStatus : ERROR_OCCURED) malgré la relance complète de l’app. Le fait de changer l’interface réseau change l’ip et l’enceinte se remet à accepter du flux. Rebascule sur le LAN, l’enceinte n’est plus dans l’état “ERROR_OCCURED”. Fort de ces constatations , je pense que le souci est pour l’instant au niveau des enceintes qui ne change pas d’état apparement quand une erreur réseau survient sur le LAN…