[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Paketinstallation_DEB:Ein Fremd-Paket installieren] [:Editor: Einen Editor öffnen] [:sudo:Root-Rechte benutzen] [:Rechte:Dateirechte verändern] }}} [[Inhaltsverzeichnis(1)]] Nicht alle Programme haben eine [:JACK:]-Schnittstelle. Dieser Artikel erklärt, wie sie trotzdem in JACK eingebunden werden können. Damit können dann zum Beispiel Programme zur [:Internet-Telefonie:] mit Audiobearbeitungsprogrammen wie [:Ardour:Ardour] und [:mhWaveEdit:] verbunden werden. = Cadence = Für aktuelle Versionen von Ubuntu ist das Programm Cadence aus dem vom Ubuntu Studio Projekt benutzten KXStudio Repository verfügbar. Cadence sorgt dafür, dass Eingaben und Ausgaben von Pulse Audio automatisch mit den Ein/Ausgängen eines laufenden Jack2 Servers verbunden werden. Dabei bleiben alle automatischen Annehmlichkeiten von Pulse Audio erhalten: Jack2 fungiert de facto als vrituelle Soundkarte. Beide Systeme können gleichzeitig genutzt werden, bei einem Neustart von Jack sorgt Cadence automatisch für die Wiederherstellung der Verbindung. In der Patchbay der Plugin Hostsoftware Carla lassen sich die Pulse Audio Ports auch mit Eingängen von jackfähiger Software verbinden, so lässt sich beispielsweise der Ton von Games oder Webbrowser in Ardour aufnehmen und mit Effektplugins bearbeiten. Cadence konfiguriert das System automatisch, nach der Installation empfiehlt sich ein Neustart, da Pulse Audio sehr tief mit dem System verbunden ist und daher eine erneute Intitialisierung eventuelle Konflikte mit noch laufenden Audioanwendungen vermeiden hilft. = Pulseaudio Modul = Mit einem Modul für [:PulseAudio:] können Programme ohne eigene JACK-Schnittstelle mit JACK verbunden werden. Ab Ubuntu 10.04 Lucid Lynx kann folgendes Paket installiert werden[1]: {{{#!vorlage Paketinstallation pulseaudio-module-jack }}} Mit dem Befehl[2] {{{#!vorlage Befehl pactl load-module module-jack-sink }}} kann die Audioausgabe (z.B. Lautsprecher) eingebunden werden und mit dem Befehl {{{#!vorlage Befehl pactl load-module module-jack-source }}} kann der Audioeingang (Mikrofon) in JACK eingebunden werden. = Jackplug = Mit Jackplug können Programme ohne Jack-Schnittstelle durch Änderung der Datei [:.asoundrc:/home/BENUTZERNAME/.asoundrc] (oder der Datei '''/etc/asound.conf''') in JACK eingebunden werden. == Installation == Jackplug benötigt das Modul '''libasound_module_pcm_jack.so'''. Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation libasound2-plugins, universe }}} == .asoundrc einstellen == {{{#!vorlage Warnung Mit der Änderung der Dateien '''~/.asoundrc''' oder '''/etc/asound.conf''' können einige Audioanwendungen nicht mehr richtig funktionieren. }}} Um Jackplug zu benutzen, wird die Datei '''~/.asoundrc''' (oder die Datei '''/etc/asound.conf''') folgendermaßen gefüllt[4]: {{{ ## Jackplug pcm.!default { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2 } } ctl.mixer0 { type hw } }}} Für die Benutzung von Internet-Telefonie mit der IDJC kann man statt Jackplug auch folgendes in die Datei '''~/.asoundrc''' (oder die Datei '''/etc/asound.conf''') schreiben: {{{ pcm.idjcvoip { type plug slave { pcm "idjcjack" } } pcm.idjcjack { type jack playback_ports { 0 idjc-mx:voip_recv_lt 1 idjc-mx:voip_recv_rt } capture_ports { 0 idjc-mx:voip_send_lt 1 idjc-mx:voip_send_rt } } }}} Nun muss ALSA mit dem Befehl {{{#!vorlage Befehl restart alsa-mixer-save }}} neu gestartet werden. Dann wird JACK gestartet und dann die entsprechenden Audioprogramme, die nur [:ALSA:]-Schnittstellen haben. Die Einbindung erfolgt dann z.B. in [:JACK/Grafische_Konfiguration#Qjackctl:QJackCtl] unter ''"Connect"''. == .asoundrc per Skript umstellen == Da durch die Änderung der Dateien '''~/.asoundrc''' oder '''/etc/asound.conf''' einige Audioanwendungen nicht mehr richtig funktionieren können, benötigt man für unterschiedliche Anwendungen eventuell unterschiedliche Einstellungen. Daher empfiehlt es sich, nur die '''~/.asoundrc''' lokal zu verändern. Das kann man sich durch das Skript [[Anhang(asoundconfsetter.sh)]] {dl} vereinfachen. [[Vorlage(Fremd, Software)]] Dieses kopiert man sich mit Root-Rechten[5] in den Ordner '''/usr/local/bin/''', passt auf, dass das Skript ausführbar und für alle lesbar ist[6]. Dann schreibt man die Datei '''/usr/share/applications/asoundconfsetter.desktop''' mit folgendem Inhalt: {{{[Desktop Entry] Name=Asoundconfsetter GenericName=Asoundconfsetter Comment=Change ~/.asoundrc between idjcvoip, jackplug and pulseplug. Type=Application Exec=asoundconfsetter.sh Icon=/usr/share/pixmaps/asoundconfsetter.xpm Terminal=false Categories=GTK;Settings;HardwareSettings; StartupNotify=true }}} und kopiert noch dieses [[Anhang(asoundconfsetter.xpm,Symbol)]] {dl} mit Root-Rechten[5] in den Ordner '''/usr/share/pixmaps/'''. Nun kann man das Skript bei Ubuntu-Varianten mit einem Anwendungsmenü über ''"System -> Einstellungen -> Asoundconfsetter"'' öffnen und damit verschiedene Einstellungen der '''~/.asoundrc''' wählen. Für das Skript '''asoundconfsetter.sh''' muss das Paket '''zenity''' installiert[1] sein. In der Praxis wird man die '''~/.asoundrc''' nur verändern wollen, wenn man JACK mit dem grafischen Programm Qjackctl starten möchte. Dazu kopiert man sich das Skript [[Anhang(qjackctl-start.sh)]] {dl} in den Ordner '''/usr/local/bin/''', passt auf, dass das Skript ausführbar und für alle lesbar ist[6] und ändert in der Datei '''/usr/share/applications/qjackctl.desktop''' die Zeile 'Exec' mit Root-Rechten in {{{Exec=/usr/local/bin/qjackctl-start.sh}}} Wird JACK nun gestartet, ändert das Skript die '''~/.asoundrc''' nach Jackplug und startet ALSA neu. Beim Schließen von JACK wird die '''~/.asoundrc''' wiederhergestellt und ALSA wird nochmal neu gestartet. == OSS == Manche Programme haben nur eine [wikipedia:Open_Sound_System:]-Schnittstelle. Um diese in JACK einzubinden, leitet man sozusagen erst OSS auf ALSA weiter, um das dann mit Jackplug in JACK einzubinden. Dazu muss folgendes Paket installiert sein: [1] {{{#!vorlage Paketinstallation alsa-oss, universe qjackctl, universe }}} JACK muss mit QJackCtl unter ''"Setup... -> Driver"'' auf ''alsa'' gestellt sein. Ist JACK gestartet, gibt man im Terminal [3] vor dem Startbefehl des einzubindenden Programmes 'aoss' ein. Z.B.: {{{#!vorlage Befehl aoss khdrecord }}} = Links = * [:JACK:JACK Audio Connection Kit] {Übersicht} Übersichtsartikel # tag: Multimedia, System, Tonstudio