Modérateurs: Modération Forum Haute-Fidélité, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Noisfra, ralf et 64 invités

Tout ce qui touche la Haute-Fidélité numérique

[Tuto] Utiliser Android comme source USB bit perfect

Message » 04 Sep 2016 6:09

Il y a en gros deux manières d’utiliser un appareil Android (baladeur musical, tablette ou smartphone) comme source dématérialisée d’un DAC ou d’un FDA :
1. Via WiFi, en utilisant le protocole UPnP, mais cela introduit une faille de sécurité potentielle dans votre réseau local et cela nécessite une interface WiFi comme la Chromecast Audio de Google par exemple, sauf pour les rares DAC/FDA disposant d’une interface WiFi de bonne qualité.
2. Via un câble USB, comme n’importe quel ordinateur, et c’est cette deuxième possibilité simple et peu coûteuse que je voudrais présenter ici. Hormis robob, très peu de forumeurs ont fait la promotion d’Android comme source USB de grande qualité.

Quel intérêt ?
- La mise en œuvre est extrêmement simple et peu coûteuse : pas besoin de NAS, de réseau WiFi, d’interfaces, de streamers ou lecteurs multimédia de salon…
- On trouve maintenant des cartes mémoire microSD de grande capacité pour un prix modique (40 € pour 128 Go), ce qui permet de stocker dans l’appareil des milliers de fichiers audio sans perte (FLAC, AIFF, ALAC, WAV…).
- Pas de pollution électrique du signal puisque l’appareil fonctionne sur batterie et sous une tension très faible (4V en général).
- Ça ne coûte rien si on recycle un smartphone plus utilisé.

Les conditions liées au matériel :
1. Un appareil compatible USB host ou USB OTG (On-the-Go) :
Au sens strict, l’USB On-the-Go est la possibilité pour un appareil de se comporter soit en maître (host) soit en esclave et de basculer automatiquement d’un mode à l’autre en détectant l’appareil connecté. Donc, tout appareil USB OTG peut fonctionner comme un hôte, c’est-à-dire comme un ordinateur avec ses périphériques USB. Tous les smartphones et tablettes, sauf le bas de gamme, sont aujourd’hui compatibles OTG.
2. Un appareil compatible USB class Audio :
Il faut que le port USB soit compatible USB class Audio, notamment en détectant les DAC/FDA comme étant des périphériques audio et en prenant en charge les transferts isochrones (synchrones ou asynchrones). Malheureusement, ce n’est quasiment jamais précisé par les constructeurs de smartphones ou tablettes. Certains smartphones anciens ou bas de gamme sont compatibles USB OTG/host mais ne peuvent gérer que des périphériques de stockage qui utilisent le transfert en masse ou des périphériques de saisie (clavier, souris) qui utilisent le transfert d'interruption. C'était le cas par exemple du Galaxy S2 ou du premier Galaxy Note. Ces modèles anciens ne peuvent pas être recyclés comme source audio numérique si vous en avez conservé un. Les modèles récents sont en principe compatibles USB Audio.
3. Un câble USB OTG :
Les câbles USB livrés dans les packs des appareils Android sont tous conçus pour permettre la recharge électrique et le fonctionnement de l’appareil uniquement en esclave d’un ordinateur (comme disque amovible, appareil photo ou caméra vidéo…). Dans un câble USB OTG, le câblage des fils n'est pas le même. On trouve généralement ce type de câble pour moins de 5€ sous forme de câble USB-micro mâle/USB-A femelle qu'on peut raccorder à un câble classique de périphérique USB pour ordinateur (USB-A mâle/USB-B mâle) connecté au FDA ou au DAC.
Image
Il existe aussi des adaptateurs en un seul bloc USB-micro mâle/USB-A femelle. En revanche, je n’ai jamais trouvé dans le commerce des câbles OTG USB-micro mâle/USB-B mâle. Petit avantage annexe du câble OTG s’il est déjà branché au DAC/FDA : sa connexion à l’appareil Android permet de lancer automatiquement le lecteur audio que vous avez choisi à la première connexion. Gros inconvénient : en mode hôte, c’est l’appareil Android qui alimente en courant son esclave et il n'est pas possible de recharger l'appareil Android.

La condition logicielle : une application dotée de son propre pilote USB Audio
Même si l’USB Audio est supporté par Android depuis sa version 5 (Lolipop), il est impossible d’utiliser le pilote Android natif en pratique. Il ne reconnaît pas un grand nombre de DAC/FDA, il est limité à une sortie 16 bits/48kHz et il est instable avec les lecteurs les plus courants (lorsque le lecteur ne sort plus aucun son, il faut le fermer puis le relancer après avoir fait une déconnexion/reconnexion du câble OTG).

Il faut donc installer une application dotée de son propre pilote USB class audio. La meilleure à mon avis est USB Audio Player Pro (UAPP). Elle est payante et coûte 7€, mais une version d'essai gratuite (entièrement fonctionnelle et limitée à 15 jours) est disponible (voir le lien dans le descriptif de l'appli sur le Google Play Store). D'autres applis disposent de leur propre pilote USB Audio et sont disponibles en version gratuite comme Onkyo HF Player ou HibyMusic… Mais leur version gratuite est généralement limitée en qualité (max 16/48 pour Onkyo HF Player) ou en fonctionnalités, et leur version payante est plus chère que UAPP.

Le pilote USB Audio d’UAPP est remarquablement stable. Pour être sûr qu’UAPP utilisera toujours son pilote USB Audio et jamais celui d’Android, vous devez cocher dans les paramètres d’UAPP la case "Utiliser le DAC USB".
Image
Avec ce pilote, vous pouvez envoyer à votre DAC/FDA du PCM bit perfect jusqu'à 32bits/384kHz, et même du DSD natif ou via le protocole DoP (DSD over PCM) si votre DAC/FDA le supporte. Par ailleurs, en termes de fonctionnalités, UAPP est un excellent lecteur audio qui n’a rien à envier à Poweramp par exemple. Il lit aussi bien des fichiers stockés sur l’appareil que sur le réseau via DNLA. Il gère le streaming des radios (Shoutcast ou autres), de Tidal et bientôt de Qobuz.

La limite : l’autonomie de l’hôte Android
En mode USB host, on ne peut pas charger l'appareil Android via son port USB. Il existe bien des câbles USB OTG en Y avec une branche du Y destinée à un chargeur USB, mais c'est pour alimenter le périphérique USB (clé USB, DAC sans alim...) et économiser la batterie de l'hôte. Pas pour recharger l'hôte. Évidemment, ce type de câble n'a aucun intérêt avec un DAC qui a sa propre alim ou avec un FDA.

Attention ! Même si l’hôte Android n'alimente pas en courant le DAC/FDA, l'USB Audio consomme plus que la lecture audio directe sur casque. Avec mon Galaxy Note 4 et une batterie presque neuve, ça mange environ 50% de batterie en 6h, écran éteint et mode avion activé. D'ailleurs, peu importe que le lecteur soit en stand-by ou en train de lire un morceau, la consommation est quasiment identique.

Optimiser la lecture :
1. Pour éliminer les interférences et limiter la consommation de batterie :
- activer le mode avion, sauf en cas de streaming
- fermer toutes les applications en cours dans le gestionnaire d’applications
2. Pour obtenir un signal bit perfect :
- désactiver le contrôle de volume logiciel (pour UAPP, voir la rubrique « Commande de volume » dans les paramètres de l’appli) ou bien régler le volume de l’appli au maximum
- désactiver l’égaliseur et/ou le contrôle de tonalité
- désactiver le contrôle de balance
Dans une prochaine version de UAPP, une option "bit perfect" dans les paramètres de l’appli permettra de désactiver tout cela avec une seule case à cocher.

****************************************************
Pour ceux qui auraient des doutes sur mon désintéressement dans la promotion de l’application UAPP, je précise que je n’ai aucun lien commercial avec le développeur de UAPP. Je suis seulement utilisateur de l’appli et traducteur bénévole de la version française depuis juillet 2016. D’ailleurs, si vous n’êtes pas satisfait de la "localisation" en français, j’en assume l’entière responsabilité et vous avez le droit de m’envoyer un MP pour suggérer des corrections. :-D
Dernière édition par gailuron le 04 Sep 2016 21:55, édité 2 fois.
gailuron
Contributeur HCFR 2020
 
Messages: 2749
Inscription Forum: 17 Fév 2003 0:01
Localisation: Paris (intra muros)
  • offline

Message » 04 Sep 2016 12:48

Salut.
Merci pour ce tutoriel.

Pour éviter la décharge on peut utiliser un chargeur à induction si le smartphone le permet (sur certains qui en sont dépourvus on peut insérer un capteur à induction dans le compartiment de la batterie) .
Samsara
 
Messages: 5271
Inscription Forum: 20 Avr 2000 2:00
  • offline

Message » 04 Sep 2016 18:44

Hello,

c'est très pratique pour qui ne veut pas s'embêter ou en attendant l'achat d'un ordi mais attention, l'isochrone est une grosse source de jitter car l'horologe USB n'est pas multiple des fréquences utilisées en audio.

Audible ? Je ne sais pas mais parfaitement mesurable.
JAVA Alive
 
Messages: 2888
Inscription Forum: 12 Jan 2010 22:53
Localisation: Mayenne
  • offline

Message » 04 Sep 2016 20:39

JAVA Alive a écrit:Hello,

c'est très pratique pour qui ne veut pas s'embêter ou en attendant l'achat d'un ordi mais attention, l'isochrone est une grosse source de jitter car l'horologe USB n'est pas multiple des fréquences utilisées en audio.

Audible ? Je ne sais pas mais parfaitement mesurable.

Non, tu confonds « isochrone » et « synchrone » !

Dans une connexion USB, les flux audio ou vidéo sont toujours transmis en mode isochrone. C'est le seul mode de transfert qui garantit la bande passante et permet de faire du temps réel, contrairement au mode de transfert en masse utilisé pour le stockage (clé USB par exemple).

En mode isochrone, plusieurs types de synchronisation sont possibles : adaptative, synchrone et asynchrone. C'est effectivement le type asynchrone qui a la préférence des audiophiles car il permet une synchronisation par une horloge externe ou située dans le périphérique audio. Mais le choix de la synchronisation dépend des capacités du DAC/FDA. Le pilote USB Audio de l'hôte (appareil Android ou ordinateur) s'adapte en fonction des informations qu'il reçoit du DAC/FDA. Si ton DAC/FDA a une interface USB audiophile (XMOS par exemple), le transfert se fera en mode isochrone asynchrone comme avec un ordinateur.

Regarde http://www.usb.org/developers/docs/devc ... udio10.pdf en particulier la page 19.
gailuron
Contributeur HCFR 2020
 
Messages: 2749
Inscription Forum: 17 Fév 2003 0:01
Localisation: Paris (intra muros)
  • offline

Message » 05 Sep 2016 2:21

J'avoue avoir régulièrement vu isochrone et synchrone confondus dans des explications vulgarisées mais tu as raison.

Je ne suis pas un expert mais je m'interroge tout de même sur un point : pourquoi privilégier le débit en audio alors que l'USB 2 a un débit largement supérieur au besoin ? Est-ce que la garantie de l'exactitude des données n'est pas un bénéfice supérieur ?

Bizarre ...

A moins de considérer qu'en pratique il n'y a jamais d'erreur ? Bof.

Bref, je suis surpris que tous les dacs USB, même ceux qui sont asynchrone fonctionnent tous en isochrone.
JAVA Alive
 
Messages: 2888
Inscription Forum: 12 Jan 2010 22:53
Localisation: Mayenne
  • offline

Message » 05 Sep 2016 4:43

JAVA Alive a écrit:Je ne suis pas un expert mais je m'interroge tout de même sur un point : pourquoi privilégier le débit en audio alors que l'USB 2 a un débit largement supérieur au besoin ? Est-ce que la garantie de l'exactitude des données n'est pas un bénéfice supérieur ?

Bizarre ...

A moins de considérer qu'en pratique il n'y a jamais d'erreur ? Bof.

Bref, je suis surpris que tous les dacs USB, même ceux qui sont asynchrone fonctionnent tous en isochrone.

C'est assez simple à comprendre. Prenons un exemple :
- tu as un hôte avec un fichier son de 10 min en 16bits/44.1kHz (non compressé), ce qui implique un débit binaire en lecture de 1 411 200 bits/sec (2x16x44100), et une taille de 846,72 Mbits (105,84 MB)
- tu as une connexion USB2 avec un débit pratique de 320 Mbits/sec (c'est à peu près le débit observé sur une bonne connexion)
- d'un côté, tu veux transférer ce fichier sur une clé USB et de l'autre tu veux le lire sur ton DAC

Pour copier le fichier sur ta clé, l'essentiel est de transférer les données sans erreur et le plus vite possible. En supposant qu'il y ait très peu d'erreurs (c'est presque toujours le cas), tu vas pouvoir copier le fichier à 320 Mbps en moins de 3 secondes (846,72/320 = 2,646 s). C'est le mode transfert en masse (bulk transfer).

Si tu transfères de la même façon à ton DAC, il va falloir que ton DAC stocke 9mn57sec de musique, soit environ 105,3 MB de données. Bien évidemment, aucun DAC n'a de mémoire de stockage, ni une mémoire tampon de cette taille. Donc, les données seront perdues et la lecture va s'arrêter tout de suite ! Pour que la lecture fonctionne, il faut que le transfert s'effectue à un débit régulier qui soit le plus proche possible de 1,4112 Mbps. C'est le mode isochrone. Le temps de transfert est égal au temps de lecture (en grec, isochrone veut dire temps égal). :wink:

Le type de synchronisation (adaptatif/synchrone/asynchrone) joue sur la précision de la synchronisation mais pas sur le principe "temps de transfert = temps de lecture".
gailuron
Contributeur HCFR 2020
 
Messages: 2749
Inscription Forum: 17 Fév 2003 0:01
Localisation: Paris (intra muros)
  • offline

Message » 05 Sep 2016 11:39

Désolé si je lance un débat un peu HS par rapport au sujet de départ mais je en suis pas d'accord sur certains points.

Avant ça, une précision : le transfert isochrone asynchrone en audio est en fait un flux régulier, sans reprise sur erreur, dont l'horloge est celle du DAC. Ai-je bien compris ? Si c'est le cas, je trouve le terme "asynchrone" totalement usurpé. Une seule horloge pilote le transfert, le bus USB et le DAC sont bien synchronisés et le transfert est donc bien synchrone.

Asynchrone veut dire "pas synchrone". Deux appareils non synchronisés, ça veut dire chacun son horloge et donc forcément un buffer entre les deux et donc, concernant l'USB, aucun des modes isochrones. Bulk, lui, est réellement asynch.

Maintenant, par rapport à ton analyse, pourquoi penses-tu qu'un DAC qui serait en mode bulk devrait l'intégralité du morceau ? Dans la pratique, un buffer de quelques ms suffit. Comme tu le dis toi même, le débit pratique de l'USB2 est de 320 mbits/s alors que le besoin audio est très largement inférieur.
JAVA Alive
 
Messages: 2888
Inscription Forum: 12 Jan 2010 22:53
Localisation: Mayenne
  • offline

Message » 05 Sep 2016 18:59

JAVA Alive a écrit:Désolé si je lance un débat un peu HS par rapport au sujet de départ mais je en suis pas d'accord sur certains points.

Oui, là, on est HS. Il y a sur le forum de multiples fils de discussion sur le sujet de l'USB Audio.
gailuron
Contributeur HCFR 2020
 
Messages: 2749
Inscription Forum: 17 Fév 2003 0:01
Localisation: Paris (intra muros)
  • offline

Message » 05 Sep 2016 22:30

Ouf, j'ai analysé le flux USB de mon DAC2 W4S, c'est du "bulk or interupt".
Donc en tous cas pas de l'isochrone.
Je pense que ça sera le cas de beaucoup de dacs asynchrones qui utilisent des drivers propriétaires car l'audio isochrone est nativement supporté par les OS.
C'est aussi, je pense, le cas de toutes les cartes son multicanaux.

Bon, j'arrête le HS ici.

A+
JAVA Alive
 
Messages: 2888
Inscription Forum: 12 Jan 2010 22:53
Localisation: Mayenne
  • offline

Message » 09 Nov 2016 13:39

Hello Gailuron,
Merci pour ce fil
Même les audiophiles y viendront tu verras !! :oldy:
Pour ma part , je tente ce chemin avec un DAP onkyo pd x1 à connecter soit en USB , soit en Wifi sur un FDA
Vu le CCA que je vais donc tester d'ici peu, mais est ce possible aussi avec le Wifi direct , en passant par un appareil genre OPPO 103, et en ressortant en numérique vers DAC ou FDA ?
:thks:
tourteau
 
Messages: 1227
Inscription Forum: 18 Mar 2007 21:57
Localisation: 94
  • offline

Message » 09 Nov 2016 14:11

tourteau a écrit:Hello Gailuron,
Vu le CCA que je vais donc tester d'ici peu, mais est ce possible aussi avec le Wifi direct , en passant par un appareil genre OPPO 103, et en ressortant en numérique vers DAC ou FDA ?
:thks:

Je n'ai pas compris ce que tu veux faire. Mais j'ai l'impression que c'est hors sujet. Ce tuto porte sur l'USB Audio d'Android pas sur le WiFi.
gailuron
Contributeur HCFR 2020
 
Messages: 2749
Inscription Forum: 17 Fév 2003 0:01
Localisation: Paris (intra muros)
  • offline

Message » 09 Nov 2016 15:01

je pensais et disais cela en ayant lu (rapidement ) un truc comme ceci
http://www.phonandroid.com/tutoriel-com ... irect.html
donc dans mon cas avec DAP qui fonctionne sous Android
8)
tourteau
 
Messages: 1227
Inscription Forum: 18 Mar 2007 21:57
Localisation: 94
  • offline

Message » 09 Nov 2016 15:45

@tourteau : Quel rapport avec l'USB ? C'est HS !

Ouvre un nouveau fil ou va sur ce fil : post178648091.html
gailuron
Contributeur HCFR 2020
 
Messages: 2749
Inscription Forum: 17 Fév 2003 0:01
Localisation: Paris (intra muros)
  • offline

Message » 09 Nov 2016 16:51

Effectivement en relisant le titre on est sur android comme source Usb et pas comme indiqué de façon introductive sur les deux facons d utiliser androide soit en Usb soit en wifi
dommage 8)
tourteau
 
Messages: 1227
Inscription Forum: 18 Mar 2007 21:57
Localisation: 94
  • offline

Message » 01 Oct 2017 11:59

Bonjour,

une petite question concernant l'utilisation de cette application. Peut on streamer Spotify dessus afin de l'écouter en bitperfect ? si non comment faites vous pour avoir Spotify en bitperfect sur smartphone ?

merci
ozata1
 
Messages: 2389
Inscription Forum: 29 Jan 2006 20:04
  • offline


Retourner vers Source dématérialisée et DAC

 
  • Articles en relation
    Dernier message