Manuel de LibraZiK-3 - LibraZiK-3 et ALSA
ALSA est la “couche basse” du système audio primaire utilisé par LibraZiK-3. Que vous utilisiez ALSA ou FFADO, il sera toujours utile de connaître quelques bases concernant ALSA, ce que nous allons voir dans cette page.
ALSA fournit principalement :
La hiérarchie de nommage d'ALSA est : interface / périphérique / sous-périphérique.
Une interface peut posséder plusieurs sorties et entrées (exemple : haut-parleurs, spdif, mic-in, line-in). Ceux ci sont des “périphériques”, et chacun de ces périphériques peut avoir un ou plusieurs sous-périphérique (habituellement, il n'y a qu'un seul sous-périphérique, s'il y en a davantage, alors l'interface est capable de faire du mixage matériel et ces sous-périphériques sont des entrées individuelles de ce mixeur matériel).
La commande aplay -l
affiche les sorties de toutes les interfaces/périphériques/sous-périphériques, et la commande arecord -l
toutes les entrées.
Les “hw” sont ce qu'ALSA appelle les “pcm” et sont des points-finaux auxquels les applications s'adressent pour réaliser une lecture d'audio. Il existe plusieurs “pcm”, pour supporter le mixage logiciel et les conversions de format. Le “hw” est pratiquement un accès direct au pilote/matériel. Sa syntaxe complète est : “hw:INTERFACE,PÉRIPHÉRIQUE,SOUS-PÉRIPHÉRIQUE” mais les arguments sont optionnels.
En utilisant le dorsal alsa avec jackd : quelle est la différence, dans Cadence ou QjackCtl par exemple, entre “hw:1” et “hw:1,0” ?
Par défaut, “hw:1” = “hw:1,0” aussi longtemps que le périphérique “0” est paramétré en tant que périphérique par défaut.
Il est souvent plus intelligent d'utiliser les noms (“hw:PCH”) des interfaces plutôt que les nombres (“hw:1”) car les nombres dépendent de l'ordre de détection au démarrage de la machine et peuvent changer lors de redémarrage ou de mise à jour de noyau, alors que les noms ne changent habituellement pas. Nous pouvons voir les noms des interfaces grâce aux commandes aplay -l
et cat /proc/asound/cards
.
ALSA fournit plusieurs protocoles qui sont décrit brièvement ci-dessous. Il s'agit de ALSA-audio et ALSA-MIDI.
C'est le protocole ALSA permettant aux applications et aux matériels de produire du son et d'en enregistrer.
C'est le protocole ALSA permettant aux applications et aux matériels d'échanger des données MIDI. Vous ferez vous-même les connexions entre les logiciels et/ou matériel suivant votre désir sur le principe de : “je veux que les informations MIDI qui viennent de mon clavier-piano aillent dans le logiciel A”. Pour faire ces connexions, vous pourrez utiliser une baie de brassage.
Pour un aperçu des logiciels compatible ALSA-MIDI, voir la page MIDI-ALSA.
Cadence est principalement utilisé pour contrôler et surveiller les divers systèmes audio de LibraZiK-3. Ceci inclut ALSA. L'interface principale de Cadence contient une section “Ponts JACK” qui contient elle-même des ponts ALSA/JACK : un pour l'audio ALSA, et un pour le MIDI ALSA. Vous n'entendrez pas l'audio produite par une application uniquement compatible ALSA lorsque JACK fonctionne, sauf si le pont audio ALSA est démarré. De la même façon, vous ne pourrez pas accéder aux périphériques MIDI ALSA lorsque JACK fonctionne sauf si le pont ALSA MIDI est démarré.
La popularité de JACK étant en augmentation, il est de plus en plus supporté, surtout par les applications de production audio. Cependant, plusieurs applications sont toujours uniquement compatibles avec ALSA. De telles applications auront leur audio envoyée à travers le même pont ALSA → JACK. Quelques exemples de telles applications :
D'autres applications ont un support partiel de JACK et fonctionneront directement avec JACK en ayant leurs propres connexions. Elles fonctionneront donc sans besoin d'un pont ALSA → JACK. Mais leurs connexions ne seront pas persistantes, c'est à dire qu'elles seront connectées temporairement, mais perdront leurs connexions dès que la lecture audio en sortant sera arrêtée. Quelques exemples de telles applications sont :
Du coup, aucune d'entre elles n'offre de fonctionnalité de routage de l'audio individuel, ou d'autres capacités offertes par un logiciel natif JACK.
Les commandes suivantes 2) peuvent être utiles pour résoudre des soucis avec ALSA :
alsamixer
: le mixeur ALSA originelcat /proc/asound/cards
: affiche les périphériques ALSA reconnus actuellement par votre systèmecat ~/.asoundrc
: affiche votre fichier de configuration ALSA actuelalsactl store 0
: sauvegarde la configuration actuelle pour le périphérique ALSA de numéro “0”alsactl restore
: recharge la configurationCe paquet fournit plusieurs micro-logiciels nécessaires pour faire fonctionner certaines interfaces audio.
Il est à noter qu'il ne s'agit pas de logiciels exécutables. Pour utiliser ces micro-logiciels, vous aurez besoin d'utiliser des logiciels fournis par le paquet alsa-firmware-loaders.
Les micro-logiciels fournis le sont pour :
Nom du micro-code | interface(s) prise(s) en compte |
---|---|
aica | Sega Dreamcast AICA |
asihpi | cartes AudioScience ASIHPI |
cs46xx | cartes Cirrus Logic CS46xx |
echoaudio | cartes basées sur Digigram Echo Audio |
emu | cartes basées sur E-Mu |
hdsploader | cartes RME Hammerfall DSP |
korg1212 | cartes Korg 1212 PCI/ISA |
maestro3 | cartes ESS Maestro3 PCI |
mixartloader | cartes Digigram miXart |
pcxhrloader | cartes compatibles Digigram pcxhr |
sb16 | cartes Sound Blaster 16 |
usx2yloader | cartes Tascam USX2Y USB |
vxloader | cartes Digigram VX |
wavefront | cartes Turtle Beach Wavefront |
ymfpci | cartes Yamaha DS-1 PCI |
L'installation de ce paquet est un peu spéciale :
Après installation du paquet, dans un terminal : most /usr/share/doc/alsa-firmware/README
Le paquet firmware-misc-nonfree fournit plusieurs micro-logiciels dont certains sont nécessaires pour faire fonctionner certaines interfaces audio et/ou MIDI.
Nom du micro-code | interface(s) prise(s) en compte |
---|---|
ca0132 | cartes Sound Blaster HDA CA0132 |
Ce paquet fournit des logiciels nécessaires pour charger les micro-logiciels du paquet alsa-firmware qui, quant à eux, pourront faire fonctionner (ou améliorer l'utilisation de) certaines interfaces audio.
L'installation de ce paquet est un peu spéciale :
Ce paquet fournit une collection d'utilitaires en terminal compatibles avec certaines interfaces audio ce qui vous permettra (suivant le matériel) de simplement le faire fonctionner, ou bien d'améliorer son fonctionnement.
Ce paquet fournit des utilitaires compatibles avec certaines interfaces audio ce qui vous permettra (suivant le matériel) de simplement le faire fonctionner, ou bien d'améliorer son fonctionnement.
Ce paquet fournit un chargeur de patch à utiliser avec le pilote ALSA emu10k1 qui supporte les interfaces : Sound Blaster Live!, Audigy, et Audigy 2. Il inclut :
Une fois le paquet installé, vous pouvez utiliser les commandes suivantes dans un terminal :
most /usr/share/doc/ld10k1/Audigy-mixer.txt.gz
most /usr/share/doc/ld10k1/AudigyTRAM.txt
most /usr/share/doc/ld10k1/README
most /usr/share/doc/ld10k1/dl10k1_usage
most /usr/share/doc/ld10k1/dump/README
most /usr/share/doc/ld10k1/examples/EMU10K1.conf
most /usr/share/doc/ld10k1/ld10k1_usage
most /usr/share/doc/ld10k1/lo10k1_usage.gz
most /usr/share/doc/ld10k1/patch/README