apulse est un émulateur PulseAudio pour ALSA.
Site web officiel : https://github.com/i-rinat/apulse .
Version actuelle : 0.1.12 du 2018 05 19 .
Licence : MIT?.
Plateforme : GNU Linux.
Support : Alsa, PulseAudio.
Développeur(s) : Rinat Ibragimov.
Le programme fournit une implémentation partielle de l'API PulseAudio. Il se compose d'un script de chargement et d'un certain nombre de bibliothèques partagées portant les mêmes noms que PulseAudio. Les applications peuvent donc les charger de manière dynamique et penser pouvoir communiquer avec PulseAudio. En interne, aucun démon de mixage audio distinct n’est utilisé. Au lieu de cela, apulse s’appuie sur les greffons dmix, dsnoop et plug d’ALSA pour gérer plusieurs sources sonores et capturer des flux exécutés simultanément. Le greffon dmix mélange plusieurs flux de lecture; Le greffon dsnoop permet à plusieurs applications de capturer à partir d'un seul microphone; et le greffon plug convertit de manière transparente l'audio entre différents formats d'échantillons, fréquences d'échantillonnage et numéros de canaux. Depuis plus d'une décennie, ALSA est livré avec ces greffons activés et configurés par défaut.
apulse n'a pas été conçu pour remplacer immédiatement PulseAudio. C'est inutile, car il s'agira simplement de réimplémenter PulseAudio d'origine, avec la même architecture client-démon, requise par l'ensemble des fonctionnalités. Au lieu de cela, seules les parties de l'API qui sont cruciales pour des applications spécifiques sont implémentées. C'est pourquoi il existe un script de chargement, nommé apulse. Il met à jour la valeur de la variable d’environnement LD_LIBRARY_PATH pour pointer également vers le répertoire où sont installées les bibliothèques d’apulse, en les rendant disponibles pour l’application.
Le nom provient des noms d’ALSA et de PulseAudio. Comme aoss était une couche de compatibilité entre les programmes OSS et ALSA, apulse a été conçu pour être une couche de compatibilité entre les applications PulseAudio et ALSA.
L'utilisation avec un grand nombre d'application est très simple. Dans un terminal :
Le cas de Firefox est un peu différent car ce n'est pas le binaire "firefox" qui se charge du son mais sa bibliothèque libxul.
Il faut utiliser la commande "patchelf" :
Placez vous dans le répertoire où est libxul.so. Sur ma Debian Buster/Testing, c'est dans "/usr/lib/firefox-esr/libxul.so".
Puis pour lancer Firefox :
Seulement, vous devrez recommencer à chaque nouvelle mise à jour de Firefox. À moins que votre distribution ne repose sur systemd. Dans ce cas, il est possible de surveiller le fichier "libxul.so" et de lancer automatiquement "patchelf" si il change.
Créez un premier ficher avec votre éditeur de texte (remplacez "nano" par votre éditeur comme "gedit" par exemple) :
Puis un second fichier :
Maintenant, activez et démarrez ce service :
Pour finir, si vous ne souhaitez pas lancer Firefox depuis un terminal avec "apulse firefox-esr", vous pouvez modifier le fichier "desktop" correspondant :
Remplacez la ligne :
Par :
Désormais, vous pourrez lancez Firefox avec apulse d'un simple clic dans votre menu d'applications.
Certaines applications sont compatibles avec alsa, jackd et pulseaudio. Dans ce cas, privilégiez alsa ou jackd selon vos besoins dans les préférences de chacune d'elles. Vous évitez ainsi de passer par apulse.
Table des matières
Informations
Site web officiel : https://github.com/i-rinat/apulse .
Version actuelle : 0.1.12 du 2018 05 19 .
Licence : MIT?.
Plateforme : GNU Linux.
Support : Alsa, PulseAudio.
Développeur(s) : Rinat Ibragimov.
Description
Le programme fournit une implémentation partielle de l'API PulseAudio. Il se compose d'un script de chargement et d'un certain nombre de bibliothèques partagées portant les mêmes noms que PulseAudio. Les applications peuvent donc les charger de manière dynamique et penser pouvoir communiquer avec PulseAudio. En interne, aucun démon de mixage audio distinct n’est utilisé. Au lieu de cela, apulse s’appuie sur les greffons dmix, dsnoop et plug d’ALSA pour gérer plusieurs sources sonores et capturer des flux exécutés simultanément. Le greffon dmix mélange plusieurs flux de lecture; Le greffon dsnoop permet à plusieurs applications de capturer à partir d'un seul microphone; et le greffon plug convertit de manière transparente l'audio entre différents formats d'échantillons, fréquences d'échantillonnage et numéros de canaux. Depuis plus d'une décennie, ALSA est livré avec ces greffons activés et configurés par défaut.
apulse n'a pas été conçu pour remplacer immédiatement PulseAudio. C'est inutile, car il s'agira simplement de réimplémenter PulseAudio d'origine, avec la même architecture client-démon, requise par l'ensemble des fonctionnalités. Au lieu de cela, seules les parties de l'API qui sont cruciales pour des applications spécifiques sont implémentées. C'est pourquoi il existe un script de chargement, nommé apulse. Il met à jour la valeur de la variable d’environnement LD_LIBRARY_PATH pour pointer également vers le répertoire où sont installées les bibliothèques d’apulse, en les rendant disponibles pour l’application.
Le nom provient des noms d’ALSA et de PulseAudio. Comme aoss était une couche de compatibilité entre les programmes OSS et ALSA, apulse a été conçu pour être une couche de compatibilité entre les applications PulseAudio et ALSA.
Utilisation
L'utilisation avec un grand nombre d'application est très simple. Dans un terminal :
apulse application
Le cas de Firefox est un peu différent car ce n'est pas le binaire "firefox" qui se charge du son mais sa bibliothèque libxul.
Il faut utiliser la commande "patchelf" :
Placez vous dans le répertoire où est libxul.so. Sur ma Debian Buster/Testing, c'est dans "/usr/lib/firefox-esr/libxul.so".
cd /usr/lib/firefox-esr sudo patchelf --set-rpath /usr/lib/apulse libxul.so
Puis pour lancer Firefox :
apulse firefox-esr
Seulement, vous devrez recommencer à chaque nouvelle mise à jour de Firefox. À moins que votre distribution ne repose sur systemd. Dans ce cas, il est possible de surveiller le fichier "libxul.so" et de lancer automatiquement "patchelf" si il change.
note
Il est possible que vous ayez firefox au lieu de firefox-esr. Veuillez vérifier et modifier les occurrences de "firefox-esr" par "firefox".
Créez un premier ficher avec votre éditeur de texte (remplacez "nano" par votre éditeur comme "gedit" par exemple) :
sudo nano /etc/systemd/system/apulse-firefox-patch.path [Unit] Description=Patch libxul binary for replacing pulseaudio by apulse [Path] PathChanged=/usr/lib/firefox-esr/libxul.so [Install] WantedBy=multi-user.target WantedBy=system-update.target
Puis un second fichier :
sudo nano /etc/systemd/system/apulse-firefox-patch.service [Unit] Description=Patch libxul binary for replacing pulseaudio by apulse [Service] Type=oneshot ExecStart=/usr/bin/patchelf --set-rpath /usr/lib/apulse /usr/lib/firefox-esr/libxul.so
Maintenant, activez et démarrez ce service :
sudo systemd start apulse-firefox-patch.path sudo systemd enable apulse-firefox-patch.path
Pour finir, si vous ne souhaitez pas lancer Firefox depuis un terminal avec "apulse firefox-esr", vous pouvez modifier le fichier "desktop" correspondant :
sudo nano /usr/share/applications/firefox-esr.desktop
Remplacez la ligne :
Exec=/usr/lib/firefox-esr/firefox-esr %u
Par :
Exec=/usr/bin/apulse /usr/lib/firefox-esr/firefox-esr %u
Désormais, vous pourrez lancez Firefox avec apulse d'un simple clic dans votre menu d'applications.
Certaines applications sont compatibles avec alsa, jackd et pulseaudio. Dans ce cas, privilégiez alsa ou jackd selon vos besoins dans les préférences de chacune d'elles. Vous évitez ainsi de passer par apulse.