Tonstudio, Folge 1 – Synthesizer emulieren mit Bristol

Veröffentlicht am

Wie schon einmal erwähnt, bin ich gerade dabei, mein erstes, eigenes Computerspiel (das man auch so nennen kann) zu bauen. Und wie auch schon erwähnt, möchte ich dabei auch die Grafik und den Sound selbst herstellen.

Im Zuge dessen habe ich mir vor einigen Wochen parallel zu meiner „normalen“ Ubuntu-Installation noch ein Ubuntu Studio (Oneiric 64bit mit lowlatency-Kernel) eingerichtet. Die Vielfalt der Möglichkeiten hat mich geradezu umgehauen, weshalb ich mich nun dazu entschieden habe, eine kleine Serie darüber zu beginnen.

Starten soll diese Serie mit Bristol, dem Programm, das mich zunächst am meisten fasziniert hat. Welche weiteren Themen folgen steht dagegen noch nicht fest.

Bristol ist auch eine Stadt

Odyssey in Bristol

(… in Anlehnung an die bekannten Java-Bücher…) Natürlich. Aber Bristol ist erst einmal ein Emulator für vielerlei bekannte (und weniger bekannte) Synthesizer. So.

Absolut überzeugend ist die große Anzahl an Synthesizern, die implementiert sind. Auf der Projektseite wird man direkt mit einer Liste der emulierten Geräte empfangen. Und darunter finden sich allerlei Synthies von Moog, Korg, Fender, Roland, Yamaha – und auch ein Gerät das den Soundchip (SID) des guten, alten C64 nachahmt. Insgesamt rund 40 Emulationen. Dabei hat scheinbar alles mit einer Hammond B3 Orgel begonnen, denn das ist das Default-Gerät.

Was kann ich damit tun?

  • Zunächst einmal, wie schon gesagt: vieeeeeele Synthies emulieren.
  • Das Programm kann aus MIDI-Sequenzern als Soundquelle benutzt werden.
  • Mit einem MIDI-Keyboard kann die Steuerung vereinfacht bzw. natürlicher gemacht werden.
  • Da natürlich beliebige MIDI-Quellen benutzt werden können, ist auch ein Einsatz mit Arpeggiatoren denkbar. Darauf werde ich aber wohl später, in einem weiteren Artikel, noch zu sprechen kommen.
  • Sicher sind nicht alle Leser mit Jack vertraut, weshalb ich noch einmal betonen möchte: Bristol kann nicht nur von jedem beliebigen MIDI-Erzeuger Daten empfangen, sondern seine eigene Sound-Ausgabe über Jack auch an jedes beliebige (Jack-fähige) Programm weiterleiten. So ist z.B. auch denkbar die Ausgabe vor der Aufnahme in der Recording-Software noch durch eine Vielzahl von Effekten (Reverb, Chorus, Flanger, Phaser und was es nicht alles gibt) zu schleifen. Das ist aber natürlich nicht der Verdienst von Bristol, sondern der von Jack.

Hier ein paar Demo-Sounds von verschiedenen Synthies. Welcher jeweils zum Einsatz kommt könnt ihr jeweils an meinen Kommentaren sehen. Natürlich habe ich da nur ein paar wirre Klänge erzeugt, aber vielleicht geht es euch ja wie mir und ihr könnt euch für sowas begeistern.

Installation

Das Programm kann ganz einfach über die Paketverwaltung installiert werden. In den universe-Quellen findet sich dazu ein Paket namens bristol:

sudo apt-get install bristol

Start

Nun kann Bristol für einen ersten Test gestartet werden – allerdings nur über das Terminal (einen Starter im Menü sucht man vergeblich), per:

startBristol -alsa

Als kurze Erklärung dazu: Bristol ist zunächst ein Server-Programm, auf den mit verschiedenen GUIs (der UI-Teil von Bristol trägt den Namen Brighton) zugegriffen werden kann. Der o.g. Aufruf startet Bristol samt Brighton als Hammond-Emulation und Audio-Verbindung per ALSA. Dabei darf der Jackserver nicht laufen. Um direkt mit Jack zu testen ersetzt man -alsa jeweils durch -jack.

Um ein anderes Gerät zu emulieren gibt man ein entsprechendes Aufruf-Argument an, z.B. für den Fender Rhodes:

startBristol -rhodes -alsa

Eine Liste aller Synthies (und aller übrigen Argumente) bekommt man über:

startBristol -help

Startskript

Weil mir das Starten so einfach zu umständlich war, habe ich mir ein kleines Shellskript gebastelt, das per Zenity eine Auswahl der verfügbaren Geräte anzeigt. Hier das recht kurze Skript:

#!/bin/bash

dir=$(dirname $0)
devices_file=${dir}/bristol.devices

while read line; do
	devices="$devices $line"
done <$devices_file

zcmd="zenity --list --height=550 --width=400 --title=\"Start Bristol\" --column=\"Argument\" --column=\"Gerät\" $devices"
zresult=$(eval $zcmd)

if [ $? -eq 0 ]; then
	startBristol -${zresult} -alsa -audio jack -autoconn
fi

Bei Bedarf müssen die Optionen für den startBristol-Aufruf angepasst werden. Für mich passend wird hier Bristol mit ALSA-MIDI (hierüber binde ich mein MIDI-Keyboard an) und Jack-Audio gestartet. Außerdem wird per -autoconn veranlasst, dass die Ausgabe von Bristol über Jack direkt mit der System-Ausgabe verbunden wird.

Das Skript benötigt noch eine Liste der Geräte. Dazu die Datei bristol.devices mit folgendem Inhalt im gleichen Verzeichnis wie das Startskript abgelegt werden:

mini "moog mini"
explorer "moog voyager"
voyager "moog voyager electric blue"
memory "moog memory"
sonic6 "moog sonic 6"
mg1 "moog/realistic mg-1 concertmate"
hammond "hammond module (deprecated, use -b3)"
b3 "hammond B3 (default)"
prophet "sequential circuits prophet-5"
pro52 "sequential circuits prophet-5/fx"
pro10 "sequential circuits prophet-10"
pro1 "sequential circuits pro-one"
rhodes "fender rhodes mark-I stage 73"
rhodesbass "fender rhodes bass piano"
roadrunner "crumar roadrunner electric piano"
bitone "crumar bit 01"
bit99 "crumar bit 99"
bit100 "crumar bit + mods"
stratus "crumar stratus synth/organ combo"
trilogy "crumar trilogy synth/organ/string combo"
obx "oberheim OB-X"
obxa "oberheim OB-Xa"
axxe "arp axxe"
odyssey "arp odyssey"
arp2600 "arp 2600"
solina "arp/solina string ensemble"
polysix "korg polysix"
poly800 "korg poly-800"
monopoly "korg mono/poly"
ms20 "korg ms20 (unfinished: -libtest only)"
vox "vox continental"
voxM2 "vox continental super/300/II"
juno "roland juno-60"
jupiter "roland jupiter-8"
bme700 "baumann bme-700"
bm "bristol bassmaker sequencer"
dx "yamaha dx-7"
cs80 "yamaha cs-80 (unfinished)"
sidney "commodore-64 SID chip synth"
melbourne "commodore-64 SID polyphonic synth (unfinished)"
granular "granular synthesiser (unfinished)"
aks "ems synthi-a (unfinished)"
mixer "16 track mixer (unfinished: -libtest only)"

Einstellungen speichern

Das Handling der Einstellungen scheint mir angesichts der erschlagenden Anzahl von Reglern besonders wichtig zu sein.

In den verschiedenen Oberflächen sind jeweils ein paar Buttons angebracht – ein paar Speicherbänke und Load und Save zum Laden und Speichern der Einstellungen.

Wer seine Einstellungen dauerhaft sichern möchte, findet die entsprechenden Dateien unterhalb von:

~/.bristol/memory

Ggfs. könnte es auch sinnvoll sein, verschiedene Sicherungen für verschiedene Songs o.ä. anzulegen, so dass man zwischen diesen hin- und herswitchen kann (indem man die Dateien vor Programmstart jeweils austauscht).

Finally

Mehr gibt es zunächst nicht zu sagen schreiben. Probiert es einfach mal aus – ist ja schnell getan. Ich werde in der Zwischenzeit an das nächste Thema setzen… :)

… und nun bin ich mal so mutig und gebe euch mal Einblick in den momentanen Stand meiner Titel-Musik. Ein Entwicklungs-Stand, an dem noch viel erweitert und geändert werden wird. Aber ich bin mit dem vorläufigen Ergebnis schon sehr zufrieden. Und Bristol war natürlich mit von der Partie… Hier, bitte schön:

 


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

11 Kommentare zu Tonstudio, Folge 1 – Synthesizer emulieren mit Bristol

  1. Pingback: Tonstudio, Folge 3 - Arpeggiatoren | ME and my U

  2. Kommentar von ubik
    16. April 2012, 15:58 Uhr.

    Gibt es einen Midi-Editor, mit dem man Noten schreiben kann und als Soundausgabe Bristol für verschiedene Instrumente verwendet?

    • Kommentar von Gerald
      16. April 2012, 16:21 Uhr.

      Ja klar! Dafür solltest du jeden beliebigen Midi-Sequenzer benutzen können. Ein Beispiel wäre Rosegarden (http://www.rosegardenmusic.com). Weitere findest du auf http://wiki.ubuntuusers.de/Tonstudio.
      Gruß, Gerald
      P.S: wenn du wirklich Noten schreiben willst, dann ist m.W. Rosegarden sogar die einzige Möglichkeit.

      • Kommentar von Arndt
        9. Oktober 2012, 19:50 Uhr.

        Für das Schreiben von Noten würde ich aber eher mit dem freien MuseScore arbeiten. Über Jack kann anschließend die Soundausgabe weitergegeben werden. Midi-Files lassen sich in Musescore importieren. Grüße, Arndt

  3. Kommentar von userdemo
    31. Dezember 2012, 10:12 Uhr.

    guten tag gibt es die moeglichkeit, samples vorzuhoeren wenn man mit rosegarden und co arbeitet. kann keine samples, vorhoeren wenn ich die laden will in die dafuer vorgesehenen channels zum offnen der soundfiles thx

  4. Pingback: Tonstudio, Folge 5: Vocoder | ME and my U

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

  6. Pingback: Tonstudio, Folge 7: (MOD-)Tracker | ME and my U

  7. Kommentar von Janni
    4. Februar 2014, 13:40 Uhr.

    Leider läuft Bristol bekanntermassen sehr instabil,egal ob als Stand-Alone Anwendung,oder MIDI-Anwendung.Das Programm wird schon seit einigen Jahren auch nicht mehr weiter entwickelt,leider…

    Siehe hier : http://www.audio4linux.de/forum/viewtopic.php?f=8&t=1297&start=0

    Und hier : http://bristol.sourceforge.net/news.html

    Wenn Bristol richtig stabil laufen würde,wäre das bestimmt ein Super-Teil,ich habe schon so einige Stündchen damit verbracht,und zwar gute Stündchen,aber auch Stündchen mit Wutanfälle….:-)

    • Kommentar von Gerald
      4. Februar 2014, 13:51 Uhr.

      Hi Janni. Der Beitrag ist ja nun auch schon etwas älter. War mir aber trotzdem noch nicht bekannt. Daher: vielen Dank für die Info. :) Aber schade um das nette Progrämmchen…

  8. Kommentar von Janni
    4. Februar 2014, 19:44 Uhr.

    Vielleicht noch ein kleiner Tipp für jene,die Bristol etwas ausgiebiger testen wollen:
    Etwas „stabiler“ läuft das Teil,wenn man die Fingerchen von den Speicherbänken lässt.Zumindest bei meinen Spielereien (Mit Masterkeyboard) führte die Benutzung der Memory’s unweigerlich zu Freezes,und Ein-oder Zweimal hat es mir auch Alsa komplett zerschossen.
    Na,vielleicht,mit ganz viel Glück nimmt der Entwickler sich ja mal wieder etwas Zeit,und kümmert sich ein wenig darum!?Wäre schön…:-)

    Es wäre sehr sehr schade,wenn dieses Projekt in die ewigen Jagdgründe eingehen würde,wo es ja mittlerweile schon fast angekommen ist :-(

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>