web-dev-qa-db-fra.com

Comment obtenir une configuration jackd parfaite qui fonctionne sans problème et en sortie de boîte?

Tout en travaillant sur PPA pour fournir des fichiers binaires pour Sonic Pi , les utilisateurs des fichiers binaires PPA continuent de trébucher sur jackd. Comment leur faciliter la tâche?

Sonic Pi est un outil musical éducatif combinant un synthétiseur électronique et un langage de programmation. Il vise les utilisateurs novices et les écoliers à apprendre à coder en s'amusant avec de la musique . La principale cible d'installation du logiciel est Raspbian, où il est préinstallé. Et le code contient quelques astuces intégrées, euh je veux dire, des solutions pragmatiques pour devenir vraiment opérationnel sur le Raspberry Pi. Mais ces hacks sont spécifiques à RPi et ne fonctionnent pas bien sur d’autres distributions.

Voici la situation:

  • Sonic-Pi est un IDE graphique
  • avec un serveur basé sur Ruby fonctionnant en arrière-plan et contrôlant la musique
  • pour jouer de la musique, il utilise scsynth (une partie de Supercollider) comme base de synthétiseur
  • scsynth nécessite actuellement d'utiliser jackd pour lire de l'audio sous Linux
  • le serveur Sonic Pi basé sur Ruby démarre jackd (s’il ne fonctionne pas déjà), puis scsynth

Maintenant, les problèmes commencent si vous êtes sur Ubuntu (et j'imagine sur Debian également):

  • la configuration par défaut de Jackd sur Ubuntu ne semble pas fonctionner pour tout le monde, donc sur certains systèmes, elle ne démarre pas et l'utilisateur doit utiliser qjackctl ou Dig dans les journaux et modifier les fichiers de configuration.
  • quand jackd démarre, il bloque PulseAudio , ainsi tout programme utilisant de l'audio en cours d'exécution cessera de fonctionner
  • jackd préfère la planification en temps réel, mais Ubuntu n'est pas préconfiguré pour le faire et nécessite modifications apportées à l'utilisateur pour le faire.

Donc dans l'ensemble, c'est un gâchis . Ce n'est pas l'expérience qu'un utilisateur novice souhaite après avoir installé Sonic Pi.

Il existe des guides sur la façon de faire fonctionner jackd avec Ubuntu, mais travailler à travers eux demande beaucoup trop à un utilisateur novice ou à un enseignant dans une salle de classe qui souhaite simplement utiliser ce logiciel.

Donc, ce que je recherche, c’est un moyen qui s’assurera qu’après l’installation de Sonic Pi à partir du .deb, les choses avec jackd sont prêtes à l'emploi, sans problème, aucune configuration manuelle n'est requise.

La liste de souhaits est la suivante:

  • une configuration pour jackd qui "fonctionne" tout de suite
  • pour tous les comptes d'utilisateur non privilégiés
  • cela ne bloque pas PulseAudio/ALSA sur le même système
  • sur une Ubuntu par défaut (et si possible sur une Debian et Raspbian par défaut également)
  • et le mélangeur audio par défaut de la distribution et les touches de raccourci pour le contrôle du volume continuent de fonctionner

Est-ce que cela existe même?

Existe-t-il un fichier .deb pour cela (ou un fichier .deb peut-il être créé) que les utilisateurs peuvent simplement installer pour le configurer de cette manière?

5
hez

J'ai lu les commentaires de Takkat et peut-être que ça ira pour vous:

  • A partir de ici , installez " pulseaudio-module-jack ", puis modifiez /etc/Pulse/default.pa (Sudo gedit /etc/Pulse/default.pa): Ajoutez les lignes suivantes, sous la ligne qui dit #load-module module-alsa-sink
    module de charge module-jack-sink
    module de charge module-jack-source
    Créez ou modifiez ensuite .jackrc dans votre maison contenant:
    /usr/bin/jackd --no-realtime -dalsa -dhw -r44100 -p1024 -n2

Redémarrez pulseaudio en cours d'exécution killall pulseaudio (arrêter également jackd si vous exécutez killall jackd): pulseaudio redémarrera automatiquement et jackd démarrera également, les deux étant correctement connectés afin que Jackd et Pulseaudio puissent être utilisés en même temps .
(cela fonctionne sur mon Ubuntu 14.04 pc).

  • Le temps réel n’est nécessaire que si vous voulez une latence faible pour un enregistrement multipiste. La configuration de jackd ci-dessus produira une latence de 21 ms, ce qui convient à la plupart des programmes audio (la latence peut être augmentée en réglant 2048 au lieu de 1024 en .jackrc, look jackd --help)
    Ainsi, vous n'avez pas à donner un accès en temps réel aux utilisateurs ,
    (Vous pouvez ignorer les avertissements éventuels ("Impossible d'utiliser la planification en temps réel")).
    Le paramètre -dhw devrait fonctionner sur la plupart des ordinateurs, mais il peut être interdit d'utiliser le périphérique audio par défaut ou être remplacé par -d hw:1,0 pour utiliser le deuxième périphérique audio
  • Cela peut être une étape supplémentaire si vous aviez besoin de connecter manuellement jackd à une entrée/sortie audio à l’aide de "Qjackctl connect manager" (la plupart des programmes se connectent automatiquement à jackd, dans ce cas inutile de le faire): installez "outils de jack" et utilisez "jack_connect "commandes de script de ces connexions (vous pouvez également utiliser aj-snapshot pour enregistrer et restaurer les connexions jack)
4
laugeo