Tonstudio, Folge 3 – Arpeggiatoren

Veröffentlicht am

Mit einem guten Synhesizer-Sound etwas Hall und einem Arpeggiator lassen sich ganz einfach tolle, meist atmosphärische Klänge erzeugen. In der dritten Folge meiner kleinen Tonstudio-Folge erkläre ich, wofür Arpeggiatoren benutzt werden und zeige, welche Programme dafür unter Linux zur Verfügung stehen.

Was ist ein Arpeggiator?

Erst einmal eine kurze Erklärung des Begriffs. Ein Arpeggiator ist eine Funktion (abrufbar z.B. über eine Taste bei Hardware-Synthesizern), die aus vorgegebenen Tönen eine kurze, zusammenhängende Tonfolge erzeugt. Die Vorgabe der Töne erfolgt i.d.R. über das gleichzeitige Drücken mehrerer Tasten auf dem MIDI-Keyboard. Siehe Wikipedia.

Der Software-Synthesizer Bristol emuliert beispielsweise den SID und bringt dabei eine Arpeggio-Funktion mit. Diese ist allerdings recht einfach gehalten. Die Töne werden einfach jeweils in gleicher Länge und mit gleichem Abstand zueinander gespielt. Die Geschwindigkeit kann allerdings vorgegeben werden.

Eine umfangreichere Arpeggio-Funktionalität erhält man durch den Einsatz von speziellen Arpeggiator-Programmen. Sie werden praktisch als MIDI-Controller vor den Synthesizer gehangen und erhalten ihren Input wiederum von einem anderen MIDI-Controller, wie z.B. einem MIDI-Keyboard (ggfs. ein virtuelles). Drei unter Linux verfügbare Programme möchte ich euch im Folgenden vorstellen.

Grundsätzlich sieht die Verbindungskette folgendermaßen aus:

  1. MIDI-Keyboard MIDI-OUT → Arpeggiator MIDI-IN
  2. Arpeggiator MIDI-OUT → Synthesizer MIDI-IN
  3. Synthesizer Audio-OUT → Soundkarte
Wird zusätzlich ein Chorder eingesetzt (z.B. siehe Tonspace, ganz unten), dann wird der zwischen MIDI-Keyboard und Arpeggiator gehangen, also:
  1. MIDI-Keyboard MIDI-OUT → Chorder MIDI-IN
  2. Chorder MIDI-OUT → Arpeggiator MIDI-IN
  3. Arpeggiator MIDI-OUT → Synthesizer MIDI-IN
  4. Synthesizer Audio-OUT → Soundkarte

Hypercyclic

Optisch ansprechend kommt Hypercyclic daher – ein kostenloses (free as in beer) Programm von mucoder. Dahinter steckt der Belgier Leo Olivers, auf dessen Soundcloud-Account verschiedene Demos angehört werden können. Hier ein Beispiel:

Hypercyclic in Aktion

Die Bedienung geht recht einfach und intuitiv von der Hand; das muss ich nicht näher beschreiben. Dafür hatte ich immer wieder mal Probleme in der Verbindung der Software mit einem externen Synthesizer und MIDI-Input. Jedoch nichts, was sich nicht innerhalb von ein paar Minuten hat beheben lassen. Hypercyclic bringt aber auch einen eingebauten Synthesizer mit und kann somit auch Standalone betrieben werden.

Das Programm wird als tar-Paket von der Homepage heruntergeladen und kann nach dem Entpacken einfach gestartet werden. Nebenbei bemerkt: es gibt auch eine Windows- und eine Mac-Version.

Die Tonfolgen können im Gegensatz zu QMidiArp nicht komplett frei gestaltet werden, wobei es schon die ein oder andere Möglichkeit gibt, in das Geschehen einzugreifen (Akzente setzen oder die Geschwindigkeit verändern beispielsweise).

QMidiArp

Etwas weniger Optik, dafür klasse Ergebnisse bietet das OpenSource-Projekt QMidiArp. Das Programm kann ganz einfach aus den universe-Paketquellen installiert werden:

sudo apt-get install qmidiarp

In QMidiArp können beliebig viele Arpeggiatoren mit verschiedenen Konfigurationen parallel betrieben werden. Die Bedienung bzw. die Konfiguration einer Arpeggiator-Moduls in QMidiArp ist zwar einerseits recht kompliziert, andererseits aber auch sehr flexibel. So wird jedes Arpeggiator-Modul mit einem Pattern-String gefüttert. Dabei sind die folgenden Eingaben möglich (Vgl. Dokumentation, englisch):

  • 0 bis 9 → Noten-Index
  • + bzw. - → Eine Oktave hoch/runter.
  • = → Zurück zur Standard-Oktave
  • > bzw. < → Doppeltes/halbes Tempo
  • . → Zurück zum Standard-Tempo
  • ( bzw. ) → Akkord-Anfang/-Ende
  • / bzw. \ → Lautstärke erhöhen/reduzieren um 20%
  • d bzw. h → Doppelte/halbe Länge
  • p → Pause

Zwei Arps in QMidiArp

Es ist zunächst schwer verständlich, welche Bedeutung dabei die Noten-Indizes (die Ziffern) haben. Wenn man es aber einmal verstanden hat, ist es ganz gut zu bedienen – und, wie gesagt, man ist damit sehr frei in der Gestaltung des Arpeggios.

Angenommen wir spielen die Noten C+D+E+F gleichzeitig auf der MIDI-Tastatur. Dann entsprechen die Indizes 0, 1, 2 und 3 zunächst den eingehenden Noten, also C, D, E und F. Der Arp also immer wieder CDEF/CDEF/CDEF/CDEF usw.

Interessant (und kompliziert) wird es, wenn der höchste Index im Pattern kleiner ist als die Anzahl der gespielten Noten – 1. Nehmen wir als Beispiel das Pattern 012 und spielen wieder die Noten C+D+E+F. Dann spielt der Arp im ersten Durchlauf zunächst, wie sicher erwartet die Noten CDE. Danach wird die erste Note gestrichen, so dass wir den zweiten Durchlauf dann gedanklich nur noch mit DEF durchspielen müssen. So wird also im zweiten durchlauf noch DEF gespielt. Danach fängt das Spiel wieder von vorne an.

Wer ein paar Beispielsounds von QMidiArp hören möchte, findet unterhalb der Projektseite ein paar Demos. Eines der Beispiele von LouigiVerona (Soundcloud) hier direkt im Player:

Arpage

Ein weiteres, interessantes Projekt ist Arpage. Ein Video zeigt ein Beispiel, in dem in Zusammenwirken mit Yoshimi und einem virtuellen MIDI-Keyboard ein schnelles Gitarren-Solo gespielt wird (ab ca. 1:13 fängt der Sound erst an; davor wird gezeigt, wie die Programme miteinander verbunden werden).

Leider muss man sagen, dass Arpage noch im Alpha-Stadium steht und die aktuelle Version Alpha 0.3.3 nun bereits fast zwei Jahre zurückliegt. Es bleibt also abzuwarten, ob es mit dem Projekt überhaupt noch weitergeht (zwischen den vorhandenen Version lagen bisher immer nur ein paar Monate).

Außerdem könnte die Installation des Programms ggfs. Probleme machen – und gleich vorweg: ich habe das Programm nicht zum Funktionieren gebracht. Zwar gibt es eine PPA eines gewissen Philip Johnsson über die Arpage einfach per Paketverwaltung installiert werden kann. Diese PPA führt das Projekt-Paket aber, passend zu den Release-Daten, nur in Lucid und Maverick.

Für Oneiric-User wie mich führt also kein Weg daran vorbei, den Code selbst zu kompilieren. Dazu müssen zunächst einmal die Abhängigkeiten installiert werden:

sudo apt-get install intltool libgtkmm-2.4-dev libxml++2.6-dev libjack-jackd2-dev

Danach folgt der übliche Vorgang: Quellen herunterladen, entpacken, ins Verzeichnis wechseln und nacheinander ./config und make und sudo make install aufrufen. Falls ihr ein 64bit-System installiert habt, bekommt ihr allerdings Fehler (zumindest bei der Alpha 0.3.3) beim Make. Um diesen Fehler zu beheben, müsst ihr die Datei src/scales.h ein bisschen modifizieren. Öffnet die Datei einfach in einem Editor und fügt vor dieser Zeile (ganz oben):

#ifndef __SCALES_H__

diesen Include ein:

#include <cstddef>

Danach sollte die Kompilation ohne Fehler funktionieren.

Schließlich konnte ich das Programm starten und bedienen. Ich habe es aber leider nicht hinbekommen, ein Arpeggio zu spielen. Stattdessen wurde die gespielte Note 1:1 an den Synthie weitergeschleift. So fiel der Test leider ins Wasser… :( Falls jemand hilfreiche Hinweise hat: bitte ein Kommentar hinterlassen. Danke!

Tonespace

Akkorde spielen mit Tonespace

Eine tolle Ergänzung zu den Arpeggiatoren ist der Chorder Tonespace (vom selben Hersteller wie Hypercyclic). Der hilft beim Erzeugen der verschiedensten Akkorde. So muss auf der Midi-Tastatur nur eine Taste bedient werden, um einen vollständigen Akkord zu spielen. Natürlich kann die verwendete Tonleiter usw. eingestellt werden.

Wie Hypercyclic ist auch Tonespace neben Linux auch für Windows und Mac verfügbar. Die Linux-Version muss einfach heruntergeladen und entpackt werden. Danach kann das Programm direkt gestartet werden.


Dieser Artikel wurde in der/den Kategorie(n) _Anwendungen, Planet-U veröffentlicht und mit den Tags , versehen.

9 Kommentare zu Tonstudio, Folge 3 – Arpeggiatoren

  1. Kommentar von Sator
    17. April 2012, 09:49 Uhr.

    Hallo Gerald!
    Eine schöne Serie, auf die ich für den eigenen Hausgebrauch sicher gerne zurückkommen werde.

    • Kommentar von Gerald
      17. April 2012, 09:51 Uhr.

      Vielen Dank für dein Feedback – freut mich!

  2. Kommentar von dercorn
    17. April 2012, 10:59 Uhr.

    Eine absolut geniale Serie, die mir den (Wieder-)Einstieg in die Musikproduktion mit Linux wesentlich erleichtert. Weiter so!

    • Kommentar von Gerald
      17. April 2012, 12:09 Uhr.

      Wow, da werd‘ ich ja rot. Danke dir vielmals!

  3. Kommentar von werner rödel
    15. März 2013, 11:23 Uhr.

    hallo

    startBristol -alsa
    geht nicht

    habe stattdessen mein midi keybord,virtuelleskeybord,midiproduktion mit rosgarden usw über diese anleitung
    http://tedfelix.com/linux/linux-midi.html in gang gebracht.

    bildschirmausgabe von startBristol -alsa
    checking availability of TCP port 25675
    using port 25675
    starting logging thread [@1363341811.181541]
    Copyright (c) by Nick Copeland 1996,2012
    This program comes with ABSOLUTELY NO WARRANTY; for details type ` w‘.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type ` g‘ for details of GPL terms.
    starting logging thread [@1363341811.187338]
    Mar 15 11:03:31 bristol [0.100168] starting console logging [@1363341811.181541]
    Mar 15 11:03:31 bristol [0.100911] bristol version 0.60.10
    Mar 15 11:03:31 bristol [0.100985] bristol
    Mar 15 11:03:31 bristol [0.101015] -rate 44100
    Mar 15 11:03:31 bristol [0.101040] -count 256
    Mar 15 11:03:31 bristol [0.101066] -alsa
    Mar 15 11:03:31 bristol [0.101093] -port 25675
    Mar 15 11:03:31 bristol [0.101119] jsm will use ‚startBristol -alsa‘
    Mar 15 11:03:31 bristol [0.101146] generate bandlimited waveforms(31, 12, 84, 1.50, 0.80, 44100)
    Mar 15 11:03:31 bristol [0.103134] Fixing samplerate at 44100
    Mar 15 11:03:31 brighton [0.100332] starting console logging [@1363341811.187338]
    Mar 15 11:03:31 brighton [0.100844] emulation defaults:
    Mar 15 11:03:31 brighton [0.100906] -voices 32
    Mar 15 11:03:31 brighton [0.100962] -detune 0
    Mar 15 11:03:31 brighton [0.101016] -gain 2
    Mar 15 11:03:31 brighton [0.101069] -pwd 2
    Mar 15 11:03:31 brighton [0.101121] -glide 5
    Mar 15 11:03:31 brighton [0.101173] -curve 175
    Mar 15 11:03:31 brighton [0.101227] brighton version 0.60.10
    Mar 15 11:03:31 bristol [0.107078] midi interface: bristol
    Mar 15 11:03:31 bristol [0.107132] Opened listening control socket: 25675
    Mar 15 11:03:31 bristol [0.107162] returning handle 0, flags 80000020, fd 4
    Mar 15 11:03:31 bristol [0.107190] opened control socket
    Mar 15 11:03:31 bristol [0.107216] midiOpen: 25675(100)
    Mar 15 11:03:31 bristol [0.107241] bristolMidiSeqOpen(bristol)
    Mar 15 11:03:31 bristol [0.107746] rescheduled thread: 40
    Mar 15 11:03:31 bristol [0.116362] Client ID = 128
    Mar 15 11:03:31 bristol [0.116475] Queue ID = 0
    Mar 15 11:03:31 bristol [0.116508] returning handle 1, flags 100, fd 6
    Mar 15 11:03:31 bristol [0.116537] opened midi device bristol
    Mar 15 11:03:32 brighton [1.100701] brighton
    Mar 15 11:03:32 brighton [1.100833] -alsa
    Mar 15 11:03:32 brighton [1.100862] -port 25675
    Mar 15 11:03:32 brighton [1.101245] starting event management thread
    Mar 15 11:03:32 brighton [1.104524] connected to :0.0
    Mar 15 11:03:32 brighton [1.104643] brighton 0x6db5c0 765 400
    Mar 15 11:03:32 brighton [1.104678] display is 1366 by 768 pixels (0, 0)
    Mar 15 11:03:32 brighton [1.105006] Window is w 1366, h 768, d 24, 0 0 0
    Mar 15 11:03:32 brighton [1.107259] Using DirectColor display
    Mar 15 11:03:32 brighton [1.128900] Initialise the hammondB3 link to bristol: 0x10f7d20
    Mar 15 11:03:32 brighton [1.129100] hostname is localhost, bristol
    Mar 15 11:03:32 brighton [1.129868] TCP port: 25675
    Mar 15 11:03:32 brighton [1.130079] Connected to the bristol control socket: 6 (dev=0)
    Mar 15 11:03:32 brighton [1.130137] returning handle 0, flags 20, fd 6
    Mar 15 11:03:32 bristol [1.135709] Accepted connection from 0 (4) onto 2 (7)
    Mar 15 11:03:32 brighton [1.130250] bristolengine already active (0)
    Mar 15 11:03:32 brighton [1.201685] opened GUI midi handles: 0, 0
    Mar 15 11:03:32 bristol [1.397366] rescheduled thread: 65
    Mar 15 11:03:32 bristol [1.397490] bristolAudioOpen(plughw:0,0, 44100, 256, 1a00004)
    Mar 15 11:03:32 bristol [1.397533] audioOpen(0x7fadf9bb60e0, 0, 1024): plughw:0,0
    Mar 15 11:03:32 bristol [1.397568] opening device plughw:0,0, flags 0000000d
    Mar 15 11:03:32 bristol [1.397602] init 5472 bytes of device structure
    Mar 15 11:03:32 bristol [1.397627] open playback on plughw:0,0, pre 4
    Mar 15 11:03:32 bristol [1.397652] Error opening PCM device plughw:0,0
    Mar 15 11:03:32 bristol [1.397677] Failed to open audio device plughw:0,0
    Mar 15 11:03:32 bristol [1.397703] If jack is running then use ‚startBristol -jack‘
    Mar 15 11:03:32 bristol [1.646898] audio thread failed: exiting.
    Mar 15 11:03:37 brighton [6.343682] closing down TCP sockets
    Mar 15 11:03:37 brighton [6.343804] unacknowledged request on 0
    Mar 15 11:03:38 bristol [7.660432] GUI id 4274 returned 13
    Mar 15 11:03:38 bristol [7.661041] audiothread exited
    Mar 15 11:03:38 bristol [7.661292] midithread exited
    Mar 15 11:03:38 bristol [7.662384] bristol parent exiting
    Mar 15 11:03:38 bristol [7.662664] terminating logging thread

    es ist ärgerlich daß man bei linux ständig mit nicht funktionierenden sachen konfrontiert wird .
    ich will trotzdem kein anderes betriebssystem und arbeite auch schon über 10 jahre mit linux.
    gruß werner

    • Kommentar von Gerald
      16. März 2013, 07:37 Uhr.

      Hallo Werner,

      du hast dich wohl im Beitrag vertan und wolltest deinen Kommentar eigentlich zu dem ersten Tonstudio-Artikel schreiben…

      Die Option -alsa ist richtig und funktionisert auch, sofern Jack nicht im Einsatz ist. Wenn man den Jackserver also ausschaltet, funktioniert der Aufruf.
      Für die Verwendung mit Jack verwende ich, wie du in meinem Startskript sehen kannst die Optionen -alsa -audio jack.

      Ja, man muss meist etwas Zeit investieren, dafür hat man aber auch sehr viel Möglichkeiten. Diesmal waren leider meine unklare Aussagen Grund für deinen Zeitaufwand. Sorry. :)

      Für deinen Beitrag vielen Dank. Gruß, Gerald

  4. Kommentar von Andreas
    7. April 2013, 11:06 Uhr.

    Hi Gerald,

    um Arpage Akkorde spielen zu lassen, brauchst du JackTransport, siehe hier und hier (Absatz Arpage). Einfach beispielsweise qTractor öffnen und »laufen lassen«.

    • Kommentar von Gerald
      10. April 2013, 09:31 Uhr.

      Danke, Andreas. Werde ich mir mal ansehen…

  5. Pingback: Tonstudio, Folge 6 - DIN is noise | ME and my U

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>