TRIO VST/AU SYNTHESIZER Teil 3

Ich habe munter am Trio Synthesizer weitercodiert. Im folgenden Bild gibt es die Effektansicht zu sehen.

fx_panel

Neu hinzugekommen ist ein kleiner 16-Step Sequenzer mit dem sich einfache Patterns programmieren lassen, die synchron zum Host laufen. Es gibt jetzt auch einen Verzerrer und wie man sehen kann, ist auf dem Panel noch ein wenig Platz, hier liegt noch viel Arbeit vor mir. Der Code wird allerdings langsam unübersichtlich. Ich muss langsam mal das Refactoring in Angriff nehmen.

Leider habe ich immer noch keinen Song damit gebastelt, die Entwicklung verschlingt fast meine ganze Zeit.

 


Virus B und die Patchnamen

Der gute alte Virus B - Das Elektronik Arbeitstier schlechthin. Er ist immer noch in sehr vielen Produktionen zu hören und klingt meines Erachtens immer noch viel fetter als die meisten virtuellen Synths.

virus_b

Neulich stand ich vor dem Problem, daß ich in Logic gerne die Namen aller meiner Patches zur Verfügung haben wollte. Das ist leichter gesagt als getan. Nachdem ich kein Werkzeug für diese Aufgabe gefunden habe, entschloss ich mich dazu, mal die MIDI Spezifikation von dem Burschen zu wälzen und bin zu einer einfachen Lösung gekommen:

Hierzu muss man Logic das Environment öffnen und ein neues Instrument anlegen und dann für jede Bank einen Sysex Dump durchführen (Handbuch!)

Dann folgendes Java Progamm anlegen:

package de.pueski.sysex;

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;

public class SysexNameDump {

   private static final String basePath = "/Library/Application Support/Mystery Islands Music/VirusHC Editor/Patches/MP Bank H.syx"; 
   
   public static void main(String[] args) throws Exception {

      Path path = Paths.get(basePath);
      byte[] data = Files.readAllBytes(path);

      for (int i = 0; i < data.length; i += 267) {

         byte[] patch = Arrays.copyOfRange(data, i, i + 267);
         byte[] patchNameData = Arrays.copyOfRange(patch, 249, 259);

         String patchName = new String(patchNameData);
         System.out.println(patchName);

      }

   }
}
  1. In den basePath den vollständigen Pfad zur jeweiligen Bank einsetzen
  2. Programm ausführen
  3. Die Konsolenausgabe dann in die Zwischenablage kopieren
  4. Im Environment Instrument doppelklicken
  5. Optionen anklicken
  6. Alle Namen einfügen
  7. Fertig!

So einfach kann das Leben sein!


TRIO VST/AU SYNTHESIZER

So, ich bin etwas weitergekommen. Die GUI wurde komplett überarbeitet, ausserdem ist eine Effektsektion dazugekommen.

trio_v0-1

 

Die Parameter lassen sich jetzt deutlich besser ablesen, wie ich finde.

Wie bereits angekündigt, habe ich nun folgende Baustellen abgeschlossen:

  •  Sinus und Rechteck Oszillator
  •  Die restlichen LFOS
  • Verdrahten der Modulationsmatrix

Ausserdem sind hinzugekommen in der Effektsektion:

  • Einfacher Hall
  • Stereo Delay

Als nächstes kommen:

  • Die fehlenden Wellenformen der LFOs
  • Distortion
  • Chorus
  • Flanger
  • Patch Browser

Es steckt doch wesentlich mehr Aufwand dahinter, als ich anfangs dachte. Klangbeispiele folgen.

 


Trio VST/AU Synthesizer

Softwaresynthesizer

Bald ist es soweit, ein lang ersehnter Wunsch von mir wird Wirklichkeit: Mein erster selbstgeschriebener Softwaresynthesizer.

Ich habe ihn "Trio" getauft, weil er mit drei Oszillatoren daherkommt. Im Moment gibt es den Synth nur als AU, geplant sind noch VST und evtl. LADSPA für Linux.

Ein paar technische Daten:

  • 3 Oszillatoren : Sägezahn, Sinus, Rechteck
  • 2 LFOs mit 3 Wellenformen
  • 12/24 dB Tiefpass Filter
  • 2 ADSR (Filter/Amp)
  • 2 Fach Modulatiosmatrix mit LFO->Osc Pitch, LFO->Filter Cutoff, LFO -> Filter Resonanz

Hier ein erstes Klangbeispiel:

Aktuell funktioniert schon fast alles:

- Parameter lassen sich alle voll automatisieren und per MIDI-Learn ansprechen
- Patches können gespeichert und geladen werden
- Mehrere Instanzen kommen sich nicht mehr ins Gehege

Als nächstes steht an:

- Sinus und Rechteck Oszillator
- Die restlichen LFOS
- Verdrahten der Modulationsmatrix

Als Schmankerl zum Schluss werde ich dann noch einen schönen Patch Browser bauen.

Ein paar Glitches habe ich auch noch:

- Tiefe Töne erzeugen noch Aliasing Artefakte
- Die Wertebereiche der Envelopes sind noch nicht handlich genug
- Memory leaks

Immerhin kann man damit schon spielen und Musik machen:

TRIO in der DAW

TRIO in der DAW

Innerhalb der nächsten zwei Wochen werde ich wohl zum Alpha Stadium kommen. Das UI ist auch noch nicht final, da werde ich noch die ein oder andere Stunde drüber hirnen müssen. 😉


Kalt

Der deutsche Hip-Hop Künstler TAPETE aus Berlin hat mir freundlicherweise die Vocals von seinem Stück "Kalt" zur Verfügung gestellt und das hier ist daraus geworden:

Vielen Dank nochmals für die Unterstützung! Schaut doch mal bei TAPETE vorbei und supportet ihn.

APETE (HipHop | RAuhfaser REcords)

Soundcloud: @tapeteberlin
YouTube: www.youtube.com/tapeteberlin
Spotify: open.spotify.com/artist/2mLGlQXPcSPMTrVbfP0OdF
Homepage: www.tapeteberlin.de

 


Von gestern

Keine Sorge, der Song ist nicht von gestern. Ja irgendwie schon, aber ihr wisst ja was ich meine.;)


Sprachlos

Ganz neu, frisch aus dem Ofen. Ganz so sprachlos ist es nicht, aber hört einfach mal vorbei.


Wir wissen nicht

Vielleicht kommt uns ja irgendwann mal die Erkenntnis, was meint Ihr? Danke für's Anhören!


Wir schaffen das

Es gibt Leute, die behaupten, daß wäre ein wenig im Fanta4 Stil. Kann schon sein, aber ich empfinde das als Lob. Hört mal rein. 😉


Moviestar


(c) 2016 Matthias Pueski