Acoustic passion

Acoustic passion

I- Les API sonores sous Linux

Sous windows il existe plusieurs moyens pour transporter les signaux audios : MME, DirectSound, ASIO.... Linux n'échappe pas à cette règle. Il existe sous linux principalement :

 

- PULSEAUDIO : http://fr.wikipedia.org/wiki/PulseAudio

- ALSA : http://fr.wikipedia.org/wiki/Advanced_Linux_sound_architecture

- JACK : http://fr.wikipedia.org/wiki/JACK_Audio_Connection_Kit

- OSS : http://fr.wikipedia.org/wiki/Open_Sound_System (en disparition)

 

Les développeurs ont prit le soin de développer des plugins/softwares et autres composants pour essayer de pouvoir faire cohabiter ces différentes API audio. J'ai bien dit essayé, car il existe parfois des applications que vous ne parviendrez pas à faire fonctionner avec Jack. Et oui, on ne peut pas plaire à tout le monde !

 

Nous utiliserons pour notre PC DSP l'API JACK, car elle présente des avantages énormes comparées à toutes les autres API. C'est aussi pour cela que tout les home-studio ou pro-studio linux fonctionnent avec cette architecture audio. Parmi les avantages de cette api, on peut citer principalement :

 

- un faible temps de latence avec un fonctionnement temps réel et une communication directe avec les buffers de la carte audio (c'est en quelque sorte l'équivalent de ASIO sous windows).

- la possibilité de router le flux audio de n'importe quelle application vers n'importe quelle autre application ou entrée/sortie de la carte son, à condition que la carte son soit celle utilisée par JACK et que les applications sont connectées à JACK. En effet, une application fonctionnant en ALSA ne fonctionne pas sous JACK, et ne pourra donc pas être routé. Enfin, en réalité si, car il existe un composant permettant de faire communiquer ALSA avec JACK !

 

1- PulseAudio

 

Ubuntu, et par conséquent Ubuntu Studio, utilisent par défaut l'API PulseAudio. Ce n'est pas un problème : en effet, il existe un module PulseAudio permettant de transitter le flux audio de PulseAudio vers Jack. Ainsi, toute application fonctionannt sous PulseAudio pourra fonctionner sous Jack via les modules jack-sink et jack-source. Fort heureusement pour nous, Ubuntu Studio intègre nativement tout les scripts et configurations nécessaires pour utiliser ces modules ! Clé en main, hop ! Et croyez-moi, vous économisez des heures de galère !

 

2- ALSA

 

ALSA est un peu comme ASIO : il permet de se connecter directement à la carte son, comme JACK, mais sans présenter les avantages de Jack. Cette API a l'avantage en revanche d'être supportée par la plupart des applications. Nous avons la possibilité de rediriger ALSA vers PulseAudio, qui pourra à son tour être redirigé vers Jack, ou rediriger ALSA vers Jack directement, et je vous expliquerai comment dans les prochains articles de cette section.

 

3- Jack

 

Comme je l'ai déjà dis, Jack sera la principale API que nous utiliserons et ce sera elle qui permettra de diriger tout les flux audio des différentes applications de notre système DSP jusqu'aux sorties de la carte son. Par chance encore, Ubuntu Studio est livré avec Jack, QjackCtl, et tout les utilitaires déjà installés et configurés. Sans cela, vous auriez dû installer toutes les applications nécessaires, modifier les paramètres de sécurité a la main pour créer un groupe audio, ajouter l'utilisateur de linux a ce groupe, configurer la priorité de l'application et la quantité de mémoire allouée etc. etc..... Vous comprenez donc, j'espère, l'intérêt d'avoir choisi la version Ubuntu Studio !

 

3- OSS

 

OSS est abandonné depuis un moment déjà, et il n'existe quasiment pas une seule application OSS qui ne soit compatible avec ALSA, PulseAudio ou Jack. Je ne parlerai donc pas cette API et cet article se termine ici !



16/01/2014
0 Poster un commentaire

Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 20 autres membres