Random DX erstellt zufällige DX7-Patches

Tonerzeuger
Tonerzeuger
Noerd
Hallo zusammen,

ich schraube schon länger an einem Zufalls-Patchgenerator für den DX7. Ganz zufällige Parameterwerte führen leider meist zu unbrauchbaren Klängen - falls überhaupt was rauskommt. Ein wenig FM Know-How musste also mit rein. Das hier kommt aus einer Session mit geschätzt 20 Versuchen, und ich habe kein einziges Ergebnis entfernt!




Natürlich klingt es nicht so ausgefeilt wie manuell programmierte Sounds, dafür aber oft überraschend. Und was das Modell noch NICHT kann, ist ein systematischer Umgang mit dem Operator Detune - damit werden gerne Chorus, Wahwah- und andere Effekte programmiert.

Gespielt und aufgenommen mit Hexter unter Linux - mangels Audiointerface :)
 
AAM
AAM
...
Hallo zusammen,

ich schraube schon länger an einem Zufalls-Patchgenerator für den DX7. Ganz zufällige Parameterwerte führen leider meist zu unbrauchbaren Klängen - falls überhaupt was rauskommt. Ein wenig FM Know-How musste also mit rein. Das hier kommt aus einer Session mit geschätzt 20 Versuchen, und ich habe kein einziges Ergebnis entfernt!




Natürlich klingt es nicht so ausgefeilt wie manuell programmierte Sounds, dafür aber oft überraschend. Und was das Modell noch NICHT kann, ist ein systematischer Umgang mit dem Operator Detune - damit werden gerne Chorus, Wahwah- und andere Effekte programmiert.

Gespielt und aufgenommen mit Hexter unter Linux - mangels Audiointerface :)

Hallo. Eine Frage: Was ist das für ein Zufalls-Patch Generator?
Danke.
 
einseinsnull
einseinsnull
[nur noch musik]
das prinzip "parameter nur einzeln oder gruppenweise verändern" ist dir bekannt?

ist meines erachtes der einzige weg, "zufallspatches" für synthesizer zu erzeugen, weil sonst 50% eine attackzeit über 3 sekunden haben, davon 50% eine gesamtlautstärke unter 50% und davon 50% zuviel LFO auf dem pitch usw. usf. :P
 
Jörg
Jörg
|||||||||||
Beim Nord Lead A1 gibt es einen Zufallsgenerator der erstaunlich gut funktioniert.
 
Crossinger
Crossinger
Dilettant™
Beim Nord Lead A1 gibt es einen Zufallsgenerator der erstaunlich gut funktioniert.
Ist bei FM halt aufgrund der Synthesestruktur ungleich komplexer (bezogen auf nutzbare Ergebnisse).

Damals Ende der 80er gab es von Yamaha Deutschland eine Zeitschrift rund um Yamaha Musikinstrumente und Studiogeräte. Da gab es einen Artikel zur „Zauberformel“, was letztlich der DX7 Selbsttest war, der am Ende den Speicher mit Zufallszahlen gefüllt hat, was (gelinde gesagt) „interessante“ Ergebnisse hatte. Für großes Echo sorgte die Entdeckung, dass die Algorithmus Nummer > 32 sein konnte, was zu wilden Spekulationen führte, aber am Ende blieb es bei 32 Algorithmen.
 
Crossinger
Crossinger
Dilettant™
Ist beim DX schwieriger, gutes Argument.
Die von mir verlinkte Seite nutzt Machine Learning.
Ja, ich hatte mir von denen mal den Quellcode heruntergeladen.

Ich versuche seit einiger Zeit den umgekehrten Weg und will mal „klar Schiff“ in meiner wuchernden Sammlung an DX-Patches machen. Dazu habe ich angefangen, Parametergruppen miteinander zu vergleichen, eine Abweichung (Distanz) zu errechnen und so Geschwister unter den Patches zu ermitteln. Alleine das md5 basierte Ausfiltern identischer Patches (die bloß einen anderen Namen haben) halbiert meine Patchsammlung nahezu. Und einige Sounds, zB E-Pianos, haben Geschwister ohne Ende, weil irgend jemand zB in E-Piano1 nur das Feedback +1 gesetzt und dann als E-Piano2 gespeichert hat.
 
Jörg
Jörg
|||||||||||
Das find ich ja mal cool!

Ich nutze auf meinem DX7 fast nur selbstgebaute Sounde, so bleibt es überschaubar. :mrgreen:
 
einseinsnull
einseinsnull
[nur noch musik]
Ja, ich hatte mir von denen mal den Quellcode heruntergeladen.

Ich versuche seit einiger Zeit den umgekehrten Weg und will mal „klar Schiff“ in meiner wuchernden Sammlung an DX-Patches machen. Dazu habe ich angefangen, Parametergruppen miteinander zu vergleichen, eine Abweichung (Distanz) zu errechnen und so Geschwister unter den Patches zu ermitteln. Alleine das md5 basierte Ausfiltern identischer Patches (die bloß einen anderen Namen haben) halbiert meine Patchsammlung nahezu.

das habe ich mit dem berühmten "50,000 DX7 patches.zip" aus dem jahr 2001 auch mal gemacht.

sehr spassig bei sowas ist auch immer nach ähnlichkeiten zu suchen.
 
einseinsnull
einseinsnull
[nur noch musik]
ich lade die .syx und .mid sachen in ein VST plug-in, was sie (halbwegs) interpretieren kann, konvertiere sie alle ins .fxp format (oder in ein eigenformat) und arbeite dann mit den werten der VST parameter.

zunächst vergleichst du parameter 1 von preset 1 gegen parameter 1 von preset 2 - 50,000.

bei allen presets, wo parameter 1 den gleichen wert hat, vergleichst du auch parameter 2-100.

sind die ersten 10 gleich (naja, vielleicht nicht die ersten, du musst schon schauen, welche das eigentlich sind), kannst du sie als "ähnlich dem 1." einsortieren.

sind alle werte gleich, markierst du die patches als "identisch mit patch 1"

im bereich zwischen "fast identisch" und "ähnlich" kann es dann sinn machen, das komplette preset zu visualisieren (balkengraphik mit float 0.-1.), so dass man leicht auf einen blick sieht welche parameter denn nicht gleich sind. entscheidungen über einordnungen trifft der user bei denen dann manuell.
 
Zuletzt bearbeitet:
einseinsnull
einseinsnull
[nur noch musik]
im regelfall wird einen sowas wie "attack", "release", "benutzt modwheel als modulationquelle in nenneswertem umfang" o.ä. am meisten interessieren.
 
M
Mr.Pink
||||
Wow. Das hört sich nach einer Heidenarbeit an. Ich hatte gehofft, daß es automatisch gehen könnte, also der Parameterabgleich. Und dann am besten nocmal mit Toleranzen berücksichtigt (wie beim obigen Beispiel, wo E Piano 1 und 2 praktisch identisch sind).
 
einseinsnull
einseinsnull
[nur noch musik]
natürlich geht das alles automatisch.

du musst es nur programmieren - aber laufen tut es dann alleine. :)

toleranzen, gruppierung, auswahl und das ganze zeugs ist auch kein problem.

wirklich arbeit macht eigentlich nur, die originaldateien alle auszupacken und in einen oder mehrere ordner auf der gleichen eben zu schieben. (weil wenn du das nicht machst, wird es dann an der stelle wieder kompliziert das zu programmieren, weil ja auch unlesbare oder welche mit falschen oder fehlenden endungen dabei sein könnten oder sowas.)
 
einseinsnull
einseinsnull
[nur noch musik]
ich habe damals unterordner a 2000 files per drag an drop geladen. nach mehreren gescheiterten versuchen wegen kaputten dateien oder programmfehlern haben die 50,000 dinger in meiner datenbank dann letztlich ungefähr 20 sekunden gedauert.

blöd ist nur wenn du das für den microwave machen willst, weil du dann kein plug-ins als konvertierer missbrauchen kannst um alle parameter in die gleiche range zu bekommen.
 
M
Mr.Pink
||||
Toll, wenn man so etwas kann. Ich habe so viele andere Baustellen, daß das erstmal warten muss. Ich habe es bisher nichtmal geschafft, eigene Samples in den SY99 zu laden. Die RAM Karten habe ich installiert, aber es fehlt an Zeit für alles - leider!
 
einseinsnull
einseinsnull
[nur noch musik]
*hust* ich hatte dich wohl mit dem threadstarter verwechselt (der so etwas zweifelfrei macht)

aber jetzt weißt du ja schon mal, wie es geht, das ist die halbe miete. :)
 
Crossinger
Crossinger
Dilettant™
Bevor wir uns jetzt alle in anderen Abzweigungen verlieren: Ich finde es cool, dass Forumskollegen wie @Tonerzeuger solche Initiativen starten - auch wenn das Dateiformat schon 40 Jahre alt ist. Aber irgendwie ist das DX7-Format schon "dankbar" für Programmier-Nerds. Habe mir sogar extra einen Volca FM als "XDK" gekauft, um einfacher mit Programmcode am Laptop rumprobieren zu können. :D
 
Tonerzeuger
Tonerzeuger
Noerd
@Crossinger et.al - vielen Dank!

Ja, die non-existent DX7-Cartridge ist mir bekannt, die hab ich aber noch nicht ausprobiert. Mein Ehrgeiz war einfach, das Rad mal wieder neu zu erfinden :cool:

Wie schon gesagt wurde besteht die Herausforderung darin, dass (besonders bei FM) der Zufall schon etwas strukturiert und eingegrenzt werden muss. Wenn z.B. ein Operator einen niedrigen Pegel, zugleich aber starkes Level-Scaling, Velocity und A-mod bekommt, dann hört man vermutlich nix von ihm.

Ich habe z.B. beim Output Level berücksichtigt, ob ein OP als Träger, als alleiniger Modulator, parallel oder in einer Kette benutzt wird.

Der nächste Schritt ist, zumindest fürs Operator Detune, manche Algorithmen in OP-Gruppen aufzuteilen, die dann gegeneinander verstimmt werden können.

Aber wie gesagt, für mich war das erstmal "Proof of Concept" - es ist weit von KI entfernt. Pure Data kann soweit ich weiß auch kein Neuronales Netzwerk einbinden - in Python ist das ja möglich.
 
 


News

Oben