(03-07-2016, 12:30 AM)Olivier a écrit : [ -> ]Pas seulement des puristes !!!
Peux tu m'expliquer les contrôles CRC sur l'Upnp et la liaison USB avec un DAC? Et plus exactement quelle est la couche informatique dans un DAC, qui pourrait faire un tel contrôle ?
Qu'as tu fait comme expérience ? quels OS?
Alors, sans etaler mon CV, il est trop long, j'ai plus de 30ans d'experience, en informatique bas niveau. Une solide experience en electronique numerique, et de bonne connaissances en electronique tout court.
J'ai aussi de très solides conaissances dans les protocoles de transmission, protocoles series classiques, protocols reseaux, etc...
Coté OS, j'ai cotoyé tous les OS de ces 30 dernières années, en desktop comme en embarqué.
J'ai commencé l'informatique à 9 ans (vous pouvez en deduire mon age approximatif
) et l'electronique quelques années après.
Actuellement, même si je ne peux pas tout dire, je bosse dans une société ou je travaille sur un module embarqué qui fait de la capture et de la restauration (comprendre réparation) de signaux basse frequences (non audio).
Dans le cas qui nous interesse, pas d'UPNP. Juste un protocole USB 2.0 hardware, couplé a un protocole USB Audio asynchrone (ou isosynchrone comme on trouve aussi).
Le procotole USB 2.0 transmet à une frequence elevée de 480Mb/s, une frequence bien loin des frequences Audio, même raportée en octet/s ou même en sample/s.
Le protocole asynchrone permet un transfert... asynchrone! piloté par le recepteur. A partir de là, plus besoin d'être parfaitement "à la même vitesse" des deux coté. Le buffer et les demandes du recepteur au moment ou il le desire feront fonctionner le transfert parfaitement. De la même façon, les diverses latences informatiques sont pleinement absorbées.
Donc, je repete, n'importe quel PC qui peut transferer en USB 2.0 fait l'affaire.
L'erreur que font beaucoup de personnes, c'est de penser que la transmission est effectuée en temps réel, au fil du l'eau du flux Audio. Il n'en est rien. L'USB est un protocole qui envoi des paquets de données, controlés par CRC, pas un flux de bit audios continu.
Un peu de lecture (le second lien est très interressant
)
https://en.wikipedia.org/wiki/USB
http://www.edn.com/design/consumer/43761...-USB-Audio
Pour les féneants, un passage qui resume, du second lien:
Isochronous transfers are used to transfer data in real-time between host and device. When an isochronous endpoint is set up by the host, the host allocates a specific amount of bandwidth to the isochronous endpoint, and it regularly performs an IN- or OUT-transfer on that endpoint. For example, the host may OUT 1 KByte of data every 125 us to the device. Since a fixed and limited amount of bandwidth has been allocated, there is no time to resend data if anything goes wrong. The data has a CRC as normal, but if the receiving side detects an error there is no resend mechanism.
Lorsqu'on a compris les fondement de la transmission Audio numerique vers un DAC, on comprends que le seul responsable de la qualité de l'écoute finale, c'est le DAC, et personne d'autre. C'est lui qui va gerer la cadence des paquets USB et ses buffers mémoire. A partir du moment ou le PC de l'autre coté n'est pas a genoux, tout se passera bien.
On comprendra aussi qu'un hub USB, actif ou passif, ne change également rien à l'ecoute (au pire, il est chargé comme une mule, l'USB 2.0 sature, et le son va se couper ou ne pas se jouer du tout, j'ai déjà testé). Il en va de même pour le cable USB, à partir du moment ou il est correctement monté et isolé (un cable a 30€ suffit plus que largement, à moins d'habiter dans un transformateur EDF
)
Comme je disais plus haut, si le PC ne suit pas (processeur occupé, probleme hardwares, ...) le recepteur (le DAC) va s'affoler, demander au PC d'envoyer la suite, jusqu'au moment ou il n'aura plus de données fraiches. Dans un tel cas, il va soit ne rien faire (trou dans la continuité sonnore), soit rejouer ses anciens buffers, et on aura l'impression d'un leger acoup, ou d'un disque rayé (c'est le cas de la plupart des DAC, j'ai testé sur tous les miens).