Unter neuer Adresse

Das Blog ist umgezogen!

Das Blog hat eine neue Adresse bekommen und ist nun unter einer eigenen Domain erreichbar: www.gruentlich.de.
Der Domainname soll unterstreichen, worum es geht: zum einen um das gründliche ausleben meiner Hobbys, speziell eines: das Hobbybrauen.
Mein Gebräu, „Biergenuss im Zeichen der 8“, wird noch einen eigenen Beitrag bekommen, nur soviel: der Name bezieht sich auf den Grünten, der Berg in den Alpen, der als Leitmotiv sowohl des Bier und daher auch dieses Blogs ausgewählt wurde – nicht zuletzt deswegen, weil ich im Grüntenweg wohne und den Gipfel bei gutem Wetter in Sichtweite habe 🙂

Das Titelbild des Blogs ist, wer’s noch nicht bemerkt hat, ein Ausblick vom Gipfel des Grüntens.

Bitte aktualisiert daher die Bookmarks und/oder Feeds!

Gitarrenverstärker unter Linux mit Guitarix

GuitarixDas Spiel „Guitar Hero“ hatte mich damals motiviert, zur echten e-Gitarre zu greifen. Leider ist das autonome Erlernen eines Instrumentes sehr schwierig, die Lernkurve war entsprechend niedrig, so wie auch irgendwann die Motivation.

Dies hat sich mit dem Erscheinen des Computerspiels Rocksmith für PC aber schlagartig geändert. Dem Spiel liegt ein USB-Kabel zum Anschließen der eigenen, echten e-Gitarre an den PC bei. Diese wird damit zum Spielecontroller, Spielen mit der Gitarre wird dann praktisch wie Guitar Hero, nur in echt.

Leider kann man in dem Spiel aber nur die enthaltenen Songs spielen.
Mit Programmen wie dem quelloffenen Tuxguitar, das Tabulaturen anzeigt und auch vorspielen kann, ist das anders.
Einziger Nachteil: man kann die e-Gitarre nicht ohne weiteres über Kopfhörer hören, wie es unter Rocksmith der Fall ist.

Abhilfe muss also her, und zwar in der Form einer Gitarren-Emulator-Software, wie es Rocksmith ja auch ist.
Unter Linux erledigt das ganz hervorragend die ebenfalls quelloffene Software guitarix.

Selection_017Zum Glück hat es Ubisoft „richtig“ gemacht und ein Kabel gebaut, das eine einfache USB-Soundkarte mit einem Eingang darstellt und auch unter Linux funktioniert.

Interessanter Fakt am Rande: unter Linux ist die Soundwiedergabe absolut Latenzlos – ich zupfe und im gleichen Moment schallt es aus den Lautsprechern. Rocksmith dagegen hat eine deutliche Latenz vom 20-100ms. Das zeigt, daß nicht das Kabel minderwertig ist wie in manchen Blogs geschrieben, sondern das Spiel selbst – schade.

Das Zusammenspiel der benötigten Komponenten wie Treibern, Guitarix und JACK einzurichten ist nicht ganz trivial.

Ich beschreibe daher, wie ich es gemacht habe 🙂

Die benötigte Software

Treiber

Selection_018Das Kabel ist ein normales USB Audiodevice, dessen Treiber eigentlich allen Distributionen beiliegen sollte.
Unter Gentoo verwende ich selbstgebaute Kernel, dort muss es daher aktiviert sein.

Guitarix

Offensichtlich benötigen wir guitarix. Ist es nicht bei der eigenen Distribution dabei (so wie bei mir bei Gentoo) muss es von Hand installiert werden.
Dazu braucht man ggfs. ein paar Entwicklertools wie beispielsweise waf, deren Installation beschreibe ich hier aber nicht.

Die Installation ist einfach und auf Sourceforge näher beschrieben:

cd guitarix_source_directory
./waf configure
./waf build
./waf install

JACK

Guitarix benötigt zur Audioverarbeitung den Audiorouter JACK. Dieser sollte bei jeder Distribution erhältlich sein.

JACK Audio Connection Kit [(voreingestellt)] Steht._016Um Jack komfortabel zu starten und verwalten, verwenden wir das JACK Audio Connection Kit qjackctl. Dieses Tool stellt uns alle Möglichkeiten zur Verfügung, um JACK so zu konfigurieren, wie wir es brauchen.

Bevor wir JACK aber starten können, müssen wir das Gitarrenkabel verfügbar machen.

Das Gitarren-Kabel für JACK verfügbar machen

Ich hatte das Problem, dass JACK nicht alle Sounddevices sehen konnte, es waren nur die Geräte der internen Soundkarte verfügbar.
Mit dem Kommando alsa_in kann man aber zusätzliche Geräte an JACK anmelden.
Dazu muss man nur wissen, wie sie bei ALSA heißen, dies bekommt man mit den Kommandos aplay für Wiedergabegeräte und, in unserem Fall, mit arecord heraus:

~ # arecord -l
**** Liste der Hardware-Geräte (CAPTURE) ****
Karte 0: Intel [HDA Intel], Gerät 0: ALC269VB Analog [ALC269VB Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: Adapter [Rocksmith USB Guitar Adapter], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0

Hier sieht man: Karte 0 ist meine interne Soundkarte, Karte 1 das USB-Kabel – es meldet sich mit Rocksmith USB Guitar Adapter.

Nun machen wir das Gerät bei JACK bekannt mit dem Kommando alsa_in:

~ $ alsa_in -j Gitarre -d hw:1 -q 1

Die Option -j gibt dabei den Namen an, unter dem das Gerät bei JACK ansprechbar sein soll, -d gibt das Device an, das genutzt werden soll, hier ist das hw:1, also „Hardware 1“ (die 1 haben wir mit arecord -l ermittelt), und das -q 1 bestimmt die Qualität der Sample Rates; 1 ist dabei recht niedrig, verringert aber die Latenz. Wessen Rechner schnell genug ist, kann hier auch bis auf 4 erhöhen.

Bekommt man einen Fehler wie Capture open error: Device or resource busy muss man herausfinden, welche Programme das Device bereits belegen.
Nützliche Kommandos sind hier:

~ $ lsof +c 0 /dev/snd/pcm*

oder

~ $ lsof +c 0 /dev/snd/seq

Der tatsächliche Ort der Devices hängt aber ggfs. vom eigenen System ab.

Ein Fall bei mir:

~ $ lsof +c 0 /dev/snd/pcm*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
alsa_in 6568 thomas mem CHR 116,9 17506 /dev/snd/pcmC1D0c
alsa_in 6568 thomas 6u CHR 116,9 0t0 17506 /dev/snd/pcmC1D0c

Hier liefen schon alsa_in aus vorigen Versuchen.

Die kann man einfach abschiessen:

~ $ killall -9 alsa_in

Einstellungen - JACK Audio Connection Kit_014Für etwas Komfort kann man sich das Kommando von qjackctl direkt starten lassen. Dies erreicht man in den Einstellungen unter dem Tab Optionen.


Die Kommandos sind:

alsa_in -j Gitarre -dhw:1 -q 1 2>&1 1> /dev/null & echo $! > ~/.alsa_in.pid

Bei Erfolgreichem Start wird die versteckte Datei .alsa_in.pid im eigenen Homeverzeichnis erzeugt, die die PID des eben gestarteten Prozesses beinhaltet.

Zum Beenden nutzen wir folgendes Kommando:

kill `cat ~/.alsa_in.pid`; rm ~/.alsa_in.pid

Einrichtung der Verbindungen in Jack

Als nächstes müssen wir JACK sagen, wie die einzelnen Geräte ineinandergreifen sollen.
Dies können wir recht einfach mit dem Button Verbinden… erreichen – nur sind diese Angaben nicht von Dauer, beim nächsten Starten müsste man es nochmal machen. Etwas mehr Aufwand, aber persistent, sind die Einstellungen über das Steckfeld, zu erreichen über den gleichnamigen Button.
Öffnet man das Steckfeld, sieht man links die Ausgänge und rechts die Eingänge mit jeweils einer Leiste Buttons.

Anbindung Ausgang GitarreZuerst legen wir uns den Ausgang an, der den Ton der Gitarre wiedergibt. Als Name wählen wir etwas geeignetes, in meinem Beispiel wird der Ausgang „Gitarre Ausgang“ heißen. Dieser Name wird dann weiter von JACK referenziert. Im Feld Client sind alle Ausgänge wählbar, die JACK kennt. Hier können wir nun auch den Ausgang „Gitarre“ wählen – dies ist der Name, den wir vorhin mit dem Kommando alsa_in bestimmt haben. Ist der Client gewählt, kann man den gewünschten Ausgang wählen. Die Gitarre ist mono, also gibt es dort auch nur einen. Dann auf Anschluss hinzufügen und OK.

Anbindung Eingang VerstaerkerAuf die gleiche Weise gehen wir nun auf der rechten Seite des Steckfelds vor und erzeugen einen Eingang. Die Gitarrensounds sind noch unverstärkt, also stecken wir es in den Verstärker von Guitarix. Der Client heißt gx_head_amp, auch hier gibt es wieder nur einen Kanal.

Verbinden Gitarre mit VerstaerkerNun müssen wir den Ausgang mit dem eben erzeugten Eingang verbinden. Hierzu wird der gewünschte Ausgang in der linken Spalte gewählt, der Eingang in der rechten und der Button Verbinden geklickt (in meinem Beispielbild ist der Button grau, da die Verbindung schon steht). Es erscheint eine dünne schwarze Linie zwischen den Beiden, die die Verbindung signalisiert.

Anbindung Ausgang VerstaerkerAls nächstes muss der Verstärker mit dem verbinden, wofür wir das Ganze eigentlich veranstalten: das Effektgerät von Guitarix!
Also erzeugen wir einen Ausgang des Verstärkers, der Client heißt auch hier wieder gx_head_amp,

Anbindung Eingang Effekteeinen Eingang für die Effekte,

Verbinden Verstaerker mit Effektenund verbinden die Beiden.

Anbindung Ausgang EffekteAls Letztes muss das vom Effektgerät erzeugte Signal noch ausgegeben werden. Zu beachten ist hier nur, dass die Effekte in Stereo ausgegeben werden, also zwei Ausgänge existieren – es muss hier also der Anschuss hinzufügen Button zwei Mal geklickt werden.

Playback - Eingang Anbindung_010Für diese Ausgänge brauchen wir nun die passenden Eingänge, die die tatsächliche Wiedergabe übernehmen, der Client heißt wenig überraschend system und die Anschlüsse playback_*.

Verbinden Effekte mit PlaybackIst der Eingang erzeugt, können die beiden verbunden werden.

JACK VerbindungenWird das Fenster Verbindungen… aufgerufen, werden die eben erstellten Steckbrett-Verbindungen auch dargestellt.
Damit sind alle nötigen Verbindungen erstellt. Man sollte nicht vergessen, das Steckbrett noch zu speichern und natürlich auch zu aktivieren.

JACK Audio Connection Kit [(voreingestellt)] Läuft._015Ein Klick auf den Button Starten startet nun schliesslich JACK und sollte ohne Fehler ablaufen.

Guitarix starten

Guitarix im EinsatzIst JACK gestartet, können wir nun Guitarix aufrufen.
Spätestens jetzt sollte, wenn man an den Saiten zupft, etwas zu hören sein.

Gleich drei Sachen auf einmal

Hab meine Hohlkehle fertig bekommen und gleich mal ein paar Fotos probiert vom Handy und der neuen Autohalterung um zu abzuchecken wie das „passiv“-Freistellen funktioniert.

Ganz gut, wie ich sagen muss 🙂Handy_Halterung_freigestelltDa war keinerlei Nachbearbeitung notwendig 🙂

So sieht das aus:

Hohlkehle

Im Gewächshaus

120 Pflanzen umtopfen ist kein Spaziergang – soviel Töpfe muss man erstmal haben.

Zum Glück konnte ich den lokalen Supermarkt um ein paar Joghurt-Eimer anschnorren, die geben, mit einer Bohrung im Boden versehen, prima 2l-Töpfe ab 🙂

Alle Pflanzen sind nun im Gewächshaus untergebracht, wie letztes Jahr.

Hier ein paar Bilder:

Im Gewächshaus

Im Gewächshaus

Spitzpaprika

Spitzpaprika

Large Cayenne

Large Cayenne

Fertig mit Umtopfen

So, bin jetzt endlich fertig mit Umtopfen.

Habe jetzt hier schon bald einen Wald stehen, und beide Seiten vom Tisch sind nun schon ausgezogen um den rund 120 Pflänzchen Platz zu bieten:

20090314_alles_umgetopft

Die Laminierfolien vom Pearl sind noch nicht gekommen, ich hab mir daher damit beholfen, die Schildchen in eine A4-Folie zu legen, das einzulaminieren und dann passend auszuschneiden. Mit einer Schlagschere geht das schnell und einfach 😉

Um die Frage aus einem Kommentar zu beantworten: ich habe keinen Acker, dafür aber ein recht großes Gewächshaus:

gewaechshaus_2008

Das gehört einem Nachbarn von mir, der es aber aus Zeitgründen nicht mehr selbst nutzen wollte – wer genau hinschaut, sieht auf dem Bild die mannshohen Disteln, mit denen das Haus vollgewuchert war.

Letztes Jahr habe ich darin meine ersten Chili-Versuche unternommen:

gewaechshaus_2008_innen

Wie man sieht stehen die etwa 50 Pflanzen auf relativ verlorenem Posten.

Dieses Jahr will ich richtige Tische in’s Haus stellen, die den Platz auch optimal ausnutzen, daher die vielen Pflänzen in der Anzucht 🙂

Ich denke mal, die dürften da locker Platz haben.