Ein Instrument für den Decent Sampler zu erstellen, ist im Grunde recht einfach. Man benötigt ein paar .WAV oder .AIFF Dateien und einen Text-Editor … das war’s. Dass es wirklich nicht schwer ist, werde ich hier in diesem ersten Tutorial einmal zeigen.

Ich werde ein (ganz) einfaches Instrument erstellen. Dazu will ich nur ein einziges Sample aufnehmen. Dann werde ich die Grundlagen des Scriptings darstellen, denn der Decent Sampler verfügt nicht über einen visuellen Editor, wie die meisten anderen Sampler, sondern er benötigt ein Script, dass man im Texteditor schreiben muss.
Das klingt gruseliger, als es eigentlich ist. Denn man muss kein Programmierer sein, um ein Instrument zu bauen. Wenn man erstmal ein oder zwei Skripte für den Sampler geschrieben hat, dann macht man es beim dritten mal im Schlaf.
Die Werkzeuge
Wir benötigen natürlich einige Tools, um ein gesampletes Instrument zu erstellen. An erster Stelle steht natürlich der Decent Sampler selber. Die Software ist kostenlos und kann hier heruntergeladen werden. Der Vorteil ist, dass man ihn für alle gängigen Betriebssysteme bekommt (Mac, Linux, Win, iOS).
Als nächstes brauchen wir einen Texteditor. Im Grunde kann man den mitgelieferten Editor vom Betriebssystem nutzen (MacOS: Textedit, Windows: Editor, Linux: je nach Distribution …), aber es gibt bessere Editoren, die speziell zum Programmieren entwickelt wurden und diese haben einige Vorteile. Am Anfang ist es erstmal egal, aber wenn man schon etwas mehr Routine im Scripting hat, lernt man diese Vorteile zu schätzen.
Da fällt mir ein, vielleicht schreibe ich in den nächsten Tagen mal einen Blogbeitrag über die gängigsten Texteditoren für Programmierer … auch wenn es dazu schon haufenweise Artikel gibt. Ich persönlich benutze seit einigen Jahren Visual Studio Code von Microsoft. Den gibt es für alle gängigen Betriebssysteme und hat alles, was man so braucht.

Dann braucht man noch irgendeine Möglichkeit zum Aufnehmen von Samples. Entweder man benutzt ein Mikrofon am Rechner – womit man allerdings nicht so mobil wäre, oder einen mobilen Recorder. Mit dem Smartphone kann man da schon echt gute Resultate erzielen.
Falls man etwas mehr Komfort wünscht, empfiehlt sich auch ein mobiler Digitalrecorder. Ich persönlich nutze seit einiger Zeit den Tascam DR-40x, ein nicht allzu teurer Mobilrecorder. Aber es gibt da etliche Modelle auf dem Markt. Wie gesagt, man kann auch das Smartphone benutzen.

Als nächstes empfiehlt sich ein Audio Editor auf dem Rechner oder eine DAW, um die aufgenommen Samples etwas zu bearbeiten. Falls man ein Neuling ist, muss man sich vielleicht erstmal im Dschungel der Audiosoftware zurechtfinden. Wenn man mich fragt, empfehle ich immer Waveform Free oder Reaper. Falls man kein Neuling ist, hat man eh schon seine Lieblings-DAW auf dem Rechner.
Jetzt hat man eigentlich schon alles, was notwendig ist um ein Instrument für den Decent Sampler zu erstellen.
Die Aufnahmen
Wie gesagt, soll es hier zunächst ganz einfach losgehen. Ich habe mich dafür entschieden ein einfaches Glas mit einem Löffel anzuschlagen und von dieser Aufnahme dann ein spielbares Glockenspiel-Instrument anzufertigen.

Das Ergebnis klingt dann so. Ich habe gleich ein paar mehr Aufnahmen gemacht, dann kann ich später die beste Aufnahme auswählen.
Die Datei ziehe ich nun von der SD-Karte des Recorder auf meinen Rechner und öffne sie in meiner DAW (Bitwig Studio). Ich achte darauf, dass die DAW diese Datei nicht an irgendein Tempo anpasst (Timestretching), sondern so roh wie sie aufgenommen wurde benutzt.

Hier suche ich mir nun die beste Aufnahme aus, schneide sie zurecht, passe die Lautstärke eventuell noch an und benutze hier und da vielleicht noch ein paar Effekte.

Ich habe hier nur einen EQ eingesetzt, um die unnötigen tiefen Frequenzen wegzunehmen und einen Convolution Reverb und ein wenig einen angenehmen Raumhall (ganz dezent) zu simulieren. Auf dem Masterkanal habe ich dann noch einen Limiter gelegt, um die Lautstärke noch etwas anzuheben, ohne dass das Signal clipped.
Da ich später das Instrument auf dem Keyboard spielen möchte ist noch wichtig zu wissen, welche Tonhöhe wir hier überhaupt haben. Entweder ich benutze hierfür ein Tuner-Plugin oder ich lese die Grundfrequenz im EQ ab. Ich habe den Tuner meiner Amp-Software benutzt und danach nochmal die Frequenz abgelesen.

Ok, der gespielte Ton des Glases liegt etwas 25% über F#. Die Frequenz sagt mir, dass es sich um ein F#5 handelt, dann weiß ich nachher, wo ich mich auf dem Keyboard ungefähr befinde. Ich würde dann jetzt den Ton etwas herunter stimmen, damit ich ein exaktes F#5 bekomme.
Bei Bitwig kann ich dann einfach den Clip editieren, das Timestretching einschalten und dann die Automationskurve der Tonhöhe mit der Maus ändern. In diesem Fall musste ich diese Kurve ca. einen Viertel Halbton herunter stimmen. Das Ergebnis ist ok. Ich weiß nicht, ob es noch elegantere Methoden gibt, aber ich mache das immer so.

Fertig, jetzt kann ich den Clip mit der geänderten Tonhöhe und samt den Effekten einfach exportieren. Das Ergebnis klingt dann so:
Um einmal zu verdeutlichen, was wir gleich mit dem Decent Sampler machen, will ich das Sample mal in den Renoise Redux Sampler ziehen. Dort kann man visuell ganz gut sehen, was dabei zu beachten ist.
Wenn ich das Sample in den Redux Sampler ziehe, dann wird automatisch angenommen, dass der Grundton (also der des Samples) ein C4 ist und das Sample wird über die komplette Keyboard Tastatur gelegt.

Als erstes muss ich mal die Tonhöhe unseres Samples angeben (F#5) und dann kann ich festlegen, in welchen Bereich das Keyboards ich das Instrument spielen will. Beim Spielen des Instruments merke ich, dass der Ton sofort nach dem Loslassen der Tasten abgeschnitten wird. Das finde ich nicht so gut. Ich würde ihn lieber ausklingen lassen. Das kann ich in Redux schnell erreichen, indem ich einfach sage, dass es sich um einen One-Shot handelt (ähnlich wie bei einem Schlagzeug).
Genauso soll das Instrument am Ende klingen:
Scripting im Decent Sampler
So, jetzt wird’s ernst. Wir wollen das Instrument ja nicht in irgendeinem langweiligen Sampler erstellen, sondern im Decent Sampler. Dazu brauchen wir jetzt unseren Texteditor. Aber vorher legen wir die Dateien ordnungsgemäß ab. Ich lege mir einen Ordner mit dem Namen Glasspiel
an, darin erstelle ich einen Ordner Samples
und Assets
. In den Samples
Ordner packe ich unsere Glas Sample. Den Assets
Ordner benötige ich erst später für das Wallpaper des Instruments.

Jetzt öffne ich den Texteditor und lege eine leere Datei an. Diese speichere ich gleich direkt in meinen Glasspiel
Ordner und benenne sie Glasspiel.dspreset
. Der Name ist eigentlich egal, wichtig ist nur die .dspreset
Endung.
Die .dspreset
Skriptdatei ist im Grunde eine XML Datei. Wenn man einen Texteditor benutzt der Syntax-Highlighting unterstützt, dann macht es Sinn diesen jetzt auf XML einzustellen.
Der Entwickler hat eine kurze Dokumentation des Dateiformats online gestellt, die man sich am besten gleich in die Lesezeichen seines Browsers legt. Oldschool User drucken sich das Dokument natürlich aus.
Ganz oben in den Kopf unserer Datei geben wir zunächst einmal an, dass es sich um ein XML Dokument handelt.
<xml version="1.0" encoding="UTF-8"?>
Dann kommt das oberste Element jeder Decent Sampler Datei. Dieses Element umschließt quasi alle anderen Elemente.
<?xml version="1.0" encoding="UTF-8"?> <DecentSampler minVersion="1.0.0"> <!-- More tags go here. :) --> </DecentSampler>
Das nächste Element ist das ui
Element. Dies Element muss immer vorhanden sein. Hier gibt man alle Informationen für das User Interface an. Der Entwickler empfiehlt eine Breite und Höhe des ui
von 812 x 375 Pixeln. Diese Größe merken wir uns auch gleich mal für unser Wallpaper 😉
Hier im ui
Element gebe ich nämlich auch den Pfad für ein optionales Hintergrundbild des Instruments an. Dieses sollte ich dann vorher nur in die oben angegebenen Dimensionen anlegen und im Assets Ordner speichern. Danach kann ich es mithilfe des bgImage
Attributs in das ui
Element einbinden.
Ein weiteres Element, dass immer angegeben werden muss ist das tab
Element. Es wird innerhalb des ui
Elements platziert. Momentan ist es wohl noch nicht möglich mehrere Tabs einzubauen, aber das Feature ist geplant und daher muss man zumindest ein tab
angeben. Nun sieht unsere Datei so aus.
<?xml version="1.0" encoding="UTF-8"?> <DecentSampler minVersion="1.0.0"> <ui width="812" height="375" bgImage="Assets/wallpaper.jpg"> <tab name="main"> </tab> </ui> </DecentSampler>
Ich könnte diese Datei jetzt schon im Decent Sampler aufrufen und auch wenn ich noch keinen Ton spielen kann, sieht man schon mal wie das Instrument nachher aussieht.

Schon irgendwie spannend, oder? Aber wir sollten uns konzentrieren, denn die eigentliche Arbeit kommt jetzt erst. Das Sample muss in den Code. Samples werden im Sampler in groups
angelegt. Hier haben wir jetzt nur eine Gruppe (sogar nur ein Sample), aber später werden wir dann auch mehrere Gruppen anlegen.
<?xml version="1.0" encoding="UTF-8"?> <DecentSampler minVersion="1.0.0"> <ui width="812" height="375" bgImage="Assets/wallpaper.jpg"> <tab name="main"> </tab> </ui> <groups> <group> <sample /> <!-- This is where --> <sample /> <!-- the samples --> <sample /> <!-- get defined --> </group> </groups> </DecentSampler>
Ich habe hier jetzt einfach das groups
Codebeispiel aus der Dokumentation genommen und in meinen Code hinein kopiert. Da wir aber ja nur ein Sample benutzen, kann ich die beiden zusätzlichen Zeilen gleich wieder löschen.
Das sample
Element muss einige Attribute enthalten. Als erstes hätten wir da die Note des Samples rootNote
. Allerdings kann ich nicht einfach F#5 eingeben, sondern muss die entsprechende Midi Note angeben. Hier findet man eine Tabelle mit den entsprechenden Nummern. F#5 entspricht der Midi Note 78.
Als nächstes benötige ich die tiefste und die höchste Note, die mein Instrument abdecken sollte. Genauso haben wir es im Redux Sampler ja auch gemacht. Dort hatte ich C3 bis B7 angegeben. Also 48 bis 107. Außerdem fehlt natürlich noch der Pfad zu unserem Sample.
<?xml version="1.0" encoding="UTF-8"?> <DecentSampler minVersion="1.0.0"> <ui width="812" height="375" bgImage="Assets/wallpaper.jpg"> <tab name="main"> </tab> </ui> <groups> <group> <sample rootNote="78" loNote="48" hiNote="107" path="Samples/Glas.wav" /> </group> </groups> </DecentSampler>
Was soll ich sagen? Das war’s. Ich kann das Instrument nun im Decent Sampler laden und spielen. Man hört zwar, dass der Ton beim Loslassen einer Taste nicht ganz ausklingt, aber er wird auch nicht sofort abgeschnitten. Das liegt an den Standard-ADSR Einstellungen des Samplers. Damit beschäftigen wir uns aber erst ein anderes mal.
Man kann natürlich noch viel mehr mit dem Sampler machen. Menüs anlegen, Effekte, Farben der Tasten ändern, etc… Aber dazu später mehr. Dies war eine erste kurze Einführung in den Decent Sampler … weitere Tutorials folgen…

1 Pingback