iFi audio Nano iDSD et GNU/Linux

Cet article fait suite à un premier concernant le DAC Nuforce µDAC-3 mais pour le iFi audio Nano iDSD.

De même que le précédent, le boîtier de iFi audio est plutôt bon marché pour de la HIFI. Matériel

Les données brutes de la fiche technique de ce petit DAC sont également très sympathiques :

  • entrée numérique PCM 32 bits pour des échantillonnages de 44,1 (le CD audio), 48 (le DVD), 88,2, 96, 176,4, 192 et 384 kHz par USB 2 asynchrone
  • entrée numérique DSD : 2,8 / 3,1 / 5,6 / 6,2 / 11,2 et 12,4 MHz
  • entrée numérique DXD : 353 / 384 KHz
  • rapport signal/bruit supérieur à 104 dB
  • sortie casque (jack 3,5mm), sortie RCA et SPDIF
  • alimentation sur batterie interne et par port USB
  • petite dimension (87 x 68 x 28 mm) et léger (162g)

Le branchement par USB 2 se fait sur prise de type B sur le DAC, c’est du costaud !

Matériel

Quand vous branchez le DAC, le noyau Linux le reconnaît en chargeant le module snd-usb-audio. On a donc bien affaire à un driver ALSA pour carte son USB.

Au chargement ça donne quelques lignes de journaux de ce type :

[ 9591.321169] usb 3-5.1.4: new high-speed USB device number 6 using ehci-pci
[ 9591.409177] usb 3-5.1.4: New USB device found, idVendor=20b1, idProduct=3008
[ 9591.409185] usb 3-5.1.4: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[ 9591.409189] usb 3-5.1.4: Product: iFi (by AMR) HD USB Audio
[ 9591.409193] usb 3-5.1.4: Manufacturer: iFi (by AMR)
[ 9592.011603] usbcore: registered new interface driver snd-usb-audio

Pour le sous-sytème ALSA, il s’ajoute une carte son qui apparaît dans la liste donnée par la commande "aplay -l" dans un terminal :

**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: SB [HDA ATI SB], périphérique 0: ALC887-VD Analog [ALC887-VD Analog]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: SB [HDA ATI SB], périphérique 1: ALC887-VD Digital [ALC887-VD Digital]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 3: HDMI 0 [HDMI 0]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: Audio [iFi (by AMR) HD USB Audio], périphérique 0: USB Audio [USB Audio]
  Sous-périphériques: 0/1
  Sous-périphérique #0: subdevice #0

On voit dans cette liste la carte son numéro 0 qui est la carte son intégrée du pc de test, la carte 1 qui est la sortie son HDMI de la carte graphique et la carte son numéro 2 qui correspond au nano iDSD.

En faisant la commande suivante "cat /proc/asound/card2/stream0" on obtient le détail des capacités de la nouvelle venue en train de fonctionner

(Status : Running) :
iFi (by AMR) iFi (by AMR) HD USB Audio at usb-0000:00:12.2-5.1.4, high speed : USB Audio

Playback:
  Status: Running
    Interface = 1
    Altset = 1
    Packet Size = 63
    Momentary freq = 44094 Hz (0x5.8300)
    Feedback Format = 16.16
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
  Interface 1
    Altset 2
    Format: SPECIAL
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us

Plusieurs remarques ici :

  • dans la partie "Status : Running" on voit la fréquence d’échantillonnage en cours
  • la transmission en ASYNC, c’est à dire qu’il y a un tampon de données entre le PC et le DAC pour éviter les coupures de flux et donc les hachures sonores au final
  • les fréquences d’échantillonnages sont bien celles annoncées par le fabricant
  • on a 2 possibilités de décodage : 32 bits ou SPECIAL (les formats DSD et DXD)

Passons à la configuration pour utiliser ce petit boîtier.

Logiciel

Si vous avez le gestionnaire de son Pulseaudio actif sur votre machine, sachez qu’il est capable d’utiliser le DAC. Il suffit de choisir la bonne carte son dans ses paramètres de sortie. Par contre attention, le mixage sonore de Pulseaudio impose une sortie en 16bits et 44,1kHz (équivalent CD audio), les sources sonores avec une meilleure définition seront réduites à ces valeurs.

Pour profiter d’une meilleure qualité il faudra passer directement par ALSA ! Toutefois vous n’aurez pas à désinstaller Pulseaudio pour ce faire comme on peut le lire de ci de là, il n’interfère en rien si on le laisse gérer la sortie de la carte son interne par exemple.

Peut importe ensuite le logiciel de lecture de musique que vous utilisez du moment que dans ses préférences vous puissiez directement choisir le périphérique de sortie.

Plusieurs exemples :

  • pour audacious, dans le menu Fichier->Préférences et l’onglet audio, le module de sortie doit être positionné à ALSA, et dans les préférences il faut sélectionner (pour mon cas, à adapter à votre configuration) la ligne "hw:2,0" ; bien penser également à désactiver la partie "replaygain" pour éviter que le lecteur ne manipule trop les données avant envoi à la sortie audio
  • pour MPD on doit activer une sortie audio de type "alsa" de cette manière dans le fichier de configuration que vous utilisez :
audio_output {
    type		"alsa"
    name		"default"
    device		"hw:2,0"	# optional
#	format		"44100:16:2"	# optional
    mixer_type      "hardware"	# optional
#	mixer_device	"default"	# optional
#	mixer_control	"PCM"		# optional
#	mixer_index	"0"		# optional
}
  • pour mplayer la ligne de commande qui correspondrait à cette sortie son : " -ao alsa:device=hw=2.0 "

Attention toutefois à Rhythmbox qui est intégré à Gnome3 de telle manière qu’il passe par Pulseaudio et donc vous n’aurez pas accès à la qualité maximale délivrable par votre matériel !

Pour "Gnome Musique" à partir de la version 3.10 du bureau Gnome 3 je n’ai pas vu de réglages de la sortie, il doit également passer par pulseaudio directement.