Pi-USB-Audio

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.


Introduction

Pi-USB-Audio-01.jpg

Raspberry Pi B et B PLUS disposent d'une sortie audio sur la carte. Elle est pratique pour réaliser différents effets audio ou reproduire des voix, vous avez juste besoin de la brancher et c'est parti!

Cependant, si vous avez besoin de reproduire de la musique en qualité audio, une carte audio USB améliorera grandement le volume et la qualité du son produit. Si le système audio intégré au Pi est si limité, c'est parce qu'il est généré à partir d'un signal PWM et qu'il ne dispose que d'un filtrage minimaliste.

Ne nous méprenons pas, c'est une grande chose que d'avoir un système audio intégré à la carte du Pi mais avec cet adaptateur USB l'expérience en sera encore meilleure.


Pré-requis

Premièrement, vous aurez besoin d'un Raspberry Pi complètement configuré avec lequel vous pouvez travailler (ou vous connecter). Nous disposons de nombreux tutoriels en amont pour vous aider dans cette tâche. Vous pouvez aussi vous connecter sur votre Pi en utilisant SSH ou un câble console.

Deuxièmement, assurez vous d'utiliser une distribution Raspbian Wheezy. Les distributions Raspbian Jessie (Pi-3) utilise un Device Tree dont la configuration diffère fortement du Raspbian Wheezy.

Détecter le Chipset

En première étape, nous allons:

  1. Brancher la carte audio USB
  2. Déterminé le chipset/composant audio de la carte Audio.

Commencez par étreindre votre Raspberry en effectuant un shutdown proprement!. Ensuite, branchez la carte Audio USB.

Booter ensuite votre Pi tout à fait normalement.

Sur les modèles Raspberry-Pi B PLUS, il n'est plus nécessaire de faire un shutdown du système avant de brancher un périphérique.

Une fois que vous êtes loggé, tapez dmesg | grep cm10 pour voir les messages de boot. Vous devriez voir une série de ligne concernant un certain cm109.

Pi-USB-Audio-Detect-01.png

ou si rien n'apparait, essayez dmesg | grep Headphone pour voir s'il s'agit d'un pilote C-Media USB Headphone Set. Cela signifie que c'est un CM-headphone

Pi-USB-Audio-Detect-02.png

ou si rien n'apparaît, alors essayez dmesg | grep C-Media. Vous devriez voir quelques informations à propos de C-Media mais aucune mention de du pilotes cm109. Cela signifie que c'est un CM108.

Pi-USB-Audio-Detect-03.png

ou si rien n'est affiché jusque là, essayez dmesg | grep General et vous devriez voir la mention de GeneralPlus, ce qui signifie que c'est un chipset GeneralPlus

Pi-USB-Audio-Detect-04.png

Type cm109

Une fois que vous êtes loggé, tapez dmesg pour voir les messages de boot. Vous devriez voir une série de ligne concernant un certain cm109 ou C-Media Electronics Inc.

Pi-USB-Audio-01a.jpg

Lorsque vous utilisez lsusb vous devriez voir la référence pour l'adaptateur C-Media Electronics Audio Adapter mais aucune mention de CM108.

Pi-USB-Audio-02.jpg

Il n'y a rien de spécial à faire, vous pouvez passer à la section "Configuration du système audio".

Type cm108

Les modules C-Media cm109 sont reconnu d'origine par la distribution Raspbian Wheezy (et Occidentalis, son dérivé réalisé par AdaFruit).

Par contre le module C108, quelque-fois utilisé par les assembleurs en guise de produit de remplacement, fonctionne également sur un Raspberry Pi mais nécessite une mise-à-jour spécifique du système.

Nous avons rédigé une procédure de mise-à-jour basée sur l'article Raspberry Pi Usb Audio Fix.

Cette procédure à été testée avec succès sur

  • Raspbian Whezzy - installation toute fraiche
  • Occidentalis - installation toute fraîche.

Nous avons néanmoins remarqué que la mise-à-jour était beaucoup plus complexe et périlleuse sur un système ayant déjà été fortement modifié/configuré.

Mise-à-jour du système d'exploitation

Commencez par faire une mise-à-jour de votre système, c'est vraiment important:

sudo apt-get update
sudo apt-get upgrade

Mise à jour du Firmware

Nous allons ensuite faire une mise-à-jour du Firmware du Pi.

sudo apt-get install git-core
sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update
sudo chmod +x /usr/bin/rpi-update
sudo BRANCH=next rpi-update

A l'origine, la branche à installer était "fiq_split" mais cette dernière est maintenant remplacée par la branche "next".

La mise-à-jour peut prendre entre 30 min à 60 min.

Si tout se passe bien, vous serez invité à redémarrer votre Pi pour que les modification prennent place.

sudo reboot

Vous pouvez maintenant passer à la section "Configuration du système audio".

||== Type CM-Headphone ==

tapez dmesg pour voir les messages de boot. Vous devriez voir une série d'information concernant C-Media USB Headphone Set.

Pi-USB-Audio-CMHeadphone-01.jpg

Et si vous tapez lsusb vous devriez voir des références à C-Media Electronics Audio Adapter mais aucune mention de CM108 et le VID/PID est 0x0d8c:0x00c

Pi-USB-Audio-CMHeadphone-02.jpg

Hourra, rien de spécial à faire dans ce cas! Vous pouvez maintenant passer à la section "Configuration du système audio".

Type GeneralPlus

Saisir dmesg pour voir les messages de boot. Vous devriez voir plusieurs lignes concernant GeneralPlus.

Pi-USB-Audio-GeneralPlus-01.png

Et si vous tapez lsusb lsusb vous devriez voir une référence Generalplus Technology avec l'ID 1b3f:2008 .

Pi-USB-Audio-GeneralPlus-02.png

Rien de spécial doit être réaliser! Nous pouvons passer à la prochaine section :-)

Configuration du système audio

Raspbian Strech

Nous avons besoin d'informer Raspbian qu'il doit utiliser la "carte #1" (card 1) comme sortie audio par défaut.

La carte #0 (card 0') concerne la sortie audio intégrée à la carte.

Cette opération est assez simple.

Saississez 'sudo nano /usr/share/alsa/alsa.conf et cherchez les deux lignes suivantes:

defaults.ctl.card 0
defaults.pcm.card 0

et modifier des deux "0" par des "1".

Sauver la modification et redémarrer le système.

Raspbian Jessie

Les version précédentes de Raspbian stocke les informations de versions of Raspbian la configuration audio à un endroit différent (et utilise également une syntaxe différente).

Pour Raspbian Jessise, exécuter la commande sudo nano /etc/asound.conf et placez les lignes suivantes avant de sauver:

pcm.!default  {
 type hw card 1
}
ctl.!default {
 type hw card 1
}

Cela redirigera la sortie PCM (audio) par défaut vers la carte #1 (card 1) et le contrôle par défaut sur la carte #1 (card 1).

Pi-USB-Audio-Jessie-01.png

Puis redémarrer le Raspberry-Pi avec sudo reboot.

Raspbian Wheezy

Si vous utilisez Wheezy, il sera nécessaire d'éditer le fichier de configuration de alsa qui gère le système audio.

sudo nano /etc/modprobe.d/alsa-base.conf

Où il faut trouver la ligne contenant

#options snd-usb-audio index=0

Que nous allons modifier comme ceci (en retirant le caractère # qui se trouve en début de ligne)

options snd-usb-audio index=0

Pi-USB-Audio-03.jpg

Si vous disposez de la dernière version de Raspbian:

Cherchez la ligne:

options snd-usb-audio index=-2

Il n'y a pas de caractère en début de ligne mais vous devez modifier l'index de -2 à 0

options snd-usb-audio index=0

Voila! Maintenant nous allons rebooter avec la commande sudo reboot et nous logger à nouveau.

Tester le module audio

Nous pouvons tester le tout avec la commande speaker-test en tapant la commande:

speaker-test -c2 -D hw:0,0

Ce qui produit un bruit blanc sur la sortie 'speaker'/casque gauche et droite. Une vois que vous avez obtenu quelque-chose, essayez de reproduire un fichier audio avec aplay (pour les fichhier WAV, pas pour du MP3).

Test avec fichiers audio

aplay /usr/share/scratch/Media/Sounds/Animal/Bird.wav
aplay /usr/share/sounds/alsa/Front_Center.wav

Vous pouvez suivre ce tutoriel si vous voulez jouer un fichier MP3.

Sortie Audio Jack vs Carte Audio

N'oubliez pas que vous disposez toujours d'un prise jack sur la carte de votre Raspberry-Pi. Cette prise s'appelle maintenant card 1 (et non plus la carte par défaut card 0)

Pi-USB-Audio-04.jpg

Si vous voulez encore utiliser aplay sur la prise jack, spécifiez simplement la carte card 1 avec le paramètre -D hw:1,0 (à la place de -D hw:0,0).

speaker-test -c2 -D hw:1,0

Ressource

  • Ce fil de discussion (en bas de l'article) offre des informations intéressante.
    Il y est fait mention l'option "nrpacks" qui améliorerait la qualité audio.
    options snd-usb-audio nrpacks=1
  • Raspberry Pi Usb Audio fix

Où acheter


Source: USB Audio Cards with a Raspberry Pi created by LadyAda pour AdaFruit Industries.

Traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.