Ein "Waveterm" für den Terratec Komplexer

Cyclotron

Cyclotron

|||||||||||
..na ja, fast. ;-)

komplex-term.jpg


Läuft direkt unter Windows XP, Vista und Win 7 sollte auch kein Problem sein.

Eckdaten:

  • -lesen und schreiben von Komplexer – WT Dateien

  • -Resynthese von WAV – Dateien (mono/stereo, min. 0,2 s – max. 60 s, 16 Bit, 44,1 kHz), optimale Grundfrequenz für die Analyse von tonalem Material sind 172,265625 Hz bzw. 2,4,8,16,32,64,128 oder 256 Samples Periodendauer

  • -Dateibrowser u.a. mit Suchfunktion und Vorhörfunktion für WT - und WAV – Dateien

  • mehrere Visualisierungstools (Wavetable sowie Spektrum, Frequenzhüllkurven mit und ohne Phasenanteil)

  • -freie Editierung aller 33 Wellenformen einer Wavetable

  • -umfangreiche Spektralmanipulationen wie z.Bsp.

    • -Formantfilter mit freier Charakteristik variabler Phasenlage und Sweep - Funktion
    • -Umsortierung der Wavetableeinträge per Matrix
    • -Interpolation leerer Einträge
    • -usw.

  • -Undo der letzten 256 Bearbeitungsschritte für die meisten Funktionen

  • -variable Vorhörgeschwindigkeit (wird bei der WAV – Analyse automatisch auf den besten Wert eingestellt)

  • -Abspielen der gerade in Bearbeitung befindlichen Wavetable (muss nicht extra dafür in den Komplexer geladen werden)



Das Programm nebst Kurzanleitung gibbet hier:

http://www.fileden.com/files/2007/11/26/1607754//Komplex-Term.zip

Und hier hat jemand noch ein paar Third - Party - Wavetables geschraubt, die kann mein Proggie auch lesen:

http://synth.stromeko.net/sounds/KOMPLEXER-Wavetables.zip


Denn mal viel Spaß damit - auch wenn ihr ja alle dem bösen Largo huldigt. Und bitte immer schön weitersagen, wenn's gefallen sollte. ;-)
 
:supi:
kann man in zukunft auch als .wav oder .raw speichern? oder worin unterscheiden sich WT und raw daten? dann könnt ich mir wavetables für supercollider etc. erzeugen...
 
Möglich wäre das schon, wenn ich mal wieder einen Abend lang Zeit hab, kann ich das ja mal reinstopfen. Der Unterschied ist vor allem, das WT - Dateien einfach nur die Werte der Harmonischen sind.

Es gibt da aber einen Workaround, der deshalb funktioniert, weil ich vom Programmieren so gut wie gar keine Ahnung hab: Komplex - Term legt einen Unterordner namens "temp" an, in den er neben den UNDO - Dateien jeweils den Klang, der mit "Prelis" bzw "Audit" abgespielt werden kann, als "Audit.wav" rendert. Die Datei wird normalerweise beim Programmende gelöscht, aber solange sie nicht abgespielt wird, kann man sie sich auch kopieren.
 
Cyclotron schrieb:
Möglich wäre das schon, wenn ich mal wieder einen Abend lang Zeit hab, kann ich das ja mal reinstopfen. Der Unterschied ist vor allem, das WT - Dateien einfach nur die Werte der Harmonischen sind.

Es gibt da aber einen Workaround, der deshalb funktioniert, weil ich vom Programmieren so gut wie gar keine Ahnung hab: Komplex - Term legt einen Unterordner namens "temp" an, in den er neben den UNDO - Dateien jeweils den Klang, der mit "Prelis" bzw "Audit" abgespielt werden kann, als "Audit.wav" rendert. Die Datei wird normalerweise beim Programmende gelöscht, aber solange sie nicht abgespielt wird, kann man sie sich auch kopieren.

super, danke! hab's noch nicht ausprobiert, klingt aber nach einem handhabbaren workaround :)
 
Dazu noch ein Hinweis: Diese "Audit.wav" kann in der Länge verändert werden, und zwar über die [+/- PSTRTCH] - Buttons auf der Startseite. Damit wird der Parameter "Playback Stretch Factor" gesteuert.

Harte Übergänge sind hier (im Gegensatz zu der alten Transwave Term - Software) nicht möglich, das Ding emuliert ja den Wavetableoszillator vom Komplexer und der interpoliert grundsätzlich immer. Na ja, dafür läuft er ohne DOSBOX. :)
 
solange die einzelnen wellenformzyklen immer gleich lang sind, und immer gleich viele davon in der audit.wav sind, komme ich klar :)
 
Sehr cool, aller besten Dank :nihao:

Cyclotron schrieb:
Möglich wäre das schon, wenn ich mal wieder einen Abend lang Zeit hab, kann ich das ja mal reinstopfen.
Schön wäre es, wenn du dann gleich noch eine änderbare Fenstergrösse zulassen würdest.
Bei mir auf dem kleinen Display passt nicht alles drauf :?


Gruss

P.s. Klappt die Bedienung auch mit dem Grafiktablett, also rein technisch?
 
Änderbare Fenstergröße geht da leider nicht, das ist eine fest skalierte BGI Oberflache (nennt sich WINBGIM) und hat nix mit Windows selber zu tun. Scrollen o.ä. gibts da auch nicht. Da ich mich mit Windowsprogrammierung nicht auskenne, muss das Ding leider erst mal so in den Maßen 1024x768 bleiben. Bedienung mit einem Grafiktablett kann ich nicht testen - anders als beim Transwaveterm, der bei mir mit einem Lichtgriffel direkt unter DOS läuft, ist das hier keine hardwareorientierte Geschichte. Aber es sollte eigentlich gehen, Maus geht ja auch.
 
Version 1.1 ist fertig (Link ist der alte). Jetzt sollte er auch mit nonkonformen Dateiheadern klarkommen. Dazu gibt's noch ein paar Veränderungen in der Sortiermatrix, ein paar Importoptionen für die Resynthese und das ganze ist jetzt auch etwas schneller als vorher.
 
Ich hatte noch keine zeit, den Waschzettel auf die neue Version anzupassen, aber wer dennoch schon mal damit rumwürgen möchte:

http://www.fileden.com/files/2007/11/26/1607754//Komplex - Term 1.3.zip

Das Programm legt jetzt Unterordner an und sortiert ggf. alles, was sich bislang an kompatiblen Dateien im Programmordner befand, in die Unterordner ein.

Der Browser bietet jetzt getrennte Ansichten für WAV und WT Dateien. Wenn man sich WAV anzeigen lässt, kann man mittels "NEW" bzw. "REPLACE" die Wavetables rendern. Und zwar erst mal mit 128,256,512 oder 1024 Wellenformeinträgen (eigentlich sind es nur 33, der Rest wird interpoliert). Eine Loop wird direkt mit auf dem ersten Wavetableeintrag gespeichert. Wer also das Zeug mal in der Wusikstation, in Reaktor oder nach Konvertierung mittels Fremdsoftware in Ensoniqsamplern nutzen will, kann das jetzt tun. Sicher ginge da klanglich noch mehr, aber das Tool ist in erster Linie für den Komplexer und ich kann nur das rendern lassen, was auch der nackte Wavetableoszillator vom Komplexer wiedergeben kann. FM und so'n Quatsch is also nich, auch wenn das schön wäre. :D

Dann gibt es jetzt noch eine Assembling Page, da kann man sich Stück für Stück seine Wavetableeinträge aus bereits gespeicherten WTs zusammenbauen. Das Formantfilter hat jetzt eine ähnliche Funktion, mit der man ebenfalls einen Spektralsatz aus gespeicherten Wavetables als Fingerprint laden kann.

Ein paar Bugfixes gibt es auch, z.Bsp. fehlen jetzt einige Tippfehler und der Bug in der UNDO - Funktion usw. . Wenn mal wieder Zeit ist, schreib ich ein Buch drüber. Ansonsten probiert erst mal und postet Fragen ggf. hier im Thread (weil ich leider keine PN Benachrichtigung erhalte aus einem unerfindlichen Grund).
 
:) Schön, wenns gefällt.

Leider war die Zeit etwas knapp in den letzten Tagen. Seit meinem Post oben hab ich noch ein paar Bugfixes vorgenommen. Z.Bsp. hat er beim Rendern die Looplänge um ein Sample zu lang gesetzt (257 statt 256 Samples).

Manches könnte man natürlich noch komfortabler lösen, aber wenigstens gehen jetzt schon mal ein paar Dinge und man kann die Sounds nun auch in ein paar anderen Programmen nutzen und für ein paar Nicht - Komplexer - Besitzer könnte es dadurch auch interessant werden. Neben genannter Wusikstation oder Reaktor müsste eigentlich auch der VAZ Modular damit klarkommen (zumindest mit gerenderten Tables mit maximal 256 Einträgen). Jetzt muss ich mal sehen, dass ich ein anständiges Manual baue. Die Buttons sind ja nicht gerade selbsterklärend... geht aber auch nicht besser. Kleine Schriftarten gibt es zwar auch in der Library, aber die sind irgendwie völlig unleserlich, beim skalieren wird es sogar noch schlimmer.

Nervig ist jetzt eher, dass der Komplexer die Wavetables sehr umständlich verwaltet - nämlich gar nicht. Er kann sich nicht mal den Ordner merken, geschweige denn sowas wie einen Pool anlegen, durch den man bequem blättern könnte. Zu gern hätte ich sowas für den Largo gebaut, aber da iss ja nix mit Import. Wenn dessen Oszi auch mit 64 harmonischen und 33 Einträgen arbeitet, würde ja nur die Importfunktion fehlen. Ansonsten wäre es auch nur eine Frage der Anpassung an ein entsprechendes Format, aber leider scheint man da vom Sinn einer Schnittstelle nicht so recht überzeugt. :?
 
"Böse"nur dem Namen nach - und vielleicht noch deshalb, weil seit dem Largo manche über den halb verhungerten Komplexer lachen, und das meist auch nur wegen des "falschen" Firmennamens.

Wenn Waldorf "die Tür aufmacht" und vielleicht noch ein paar Worte zum Format verliert, lässt sich da bestimmt was anpassen.
 
Da der Filehoster seit Tagen down ist und eine neue Version 1.4 ansteht, mal ein neuer Link: http://home.arcor.de/blacktomcat666/Komplex-Term.zip

Der Code wurde etwas entrümpelt und optimiert, es sollte gerade auf langsameren PC jetzt etwas schneller laufen und insgesamt weniger Speicher verbraten. Zudem gibt es jetzt drei Modes, wie man aus der Assembling Page Wavetableeinträge bauen kann: Ersetzen, addieren oder multiplizieren. Somit ist es nun auch möglich, nicht nur neue Tables aus bereits gespeicherten zu bauen sondern deren Inhalt auch zu mischen.

Weil ich ein paar "negative" Rückmeldungen hinsichtlich der Resynthesequalität im Vergleich zu anderen Wavetablesynthesizern erhalten habe: Der Komplexer hat keine echten Wavetables und ist somit auch nicht mit einem echten WT - Synth vergleichbar. Er hat eine magere Sinusoszillatorbank mit 64 Amplituden, für die zwischen 33 möglichen Parametersets überblendet werden kann. Die originalgetreue Resynthese einer beliebigen Wellenform ist somit technisch nicht möglich, auch wenn ich sowas programmieren könnte. Unsymmetrische Wellenformen lassen sich so z.Bsp. gar nicht darsellen.

Man kann lediglich die Energie in den Frequenzbändern ermitteln, die filigranen Phasenlagen werden dagegen in eine ziemlich grobe +/- Polarität der Sinuswellen gepresst. Daher machen auch (bei kvr) angefragte Features wie Wellenformzeichnen keinen Sinn, denn das Gezeichnete muss zwingen durch die FFT und dahinter kommt meist was optisch und klanglich völlig anderes raus.

Diese begrenzte Technik ist gut, um aus z.Bsp. Sprache eine blechern labernde "Wavetable" zu machen, aber nicht für 1:1 Sample Playback. Mit dem Komplex-Term (und speziell dessen Formantfilter) hat der Komplexer eigentlich sogar mehr etwas mit dem KAWAI K5000 gemein als mit dem Microwave, zumindest wenn es um Wavetables geht.

Soviel zum Thema: Fragen, die hier noch keiner gestellt hat. :D
 
Nur mal so nebenbei... wer schon mal fummeln will: V1.5. Das Manual wird nachgereicht, momentan ist es noch auf dem Stand von V1.4, aber die Zeit is a bisserl knapp @the moment. Die wichtigsten Neurungen stehen im readme.

http://www.fileden.com/files/2007/11/26/1607754//Komplex-Term.zip

Ein paar lustige Screenshots aus den Wochen:

kt1.jpg


kt2.jpg


kt3.jpg


kt4.jpg


kt5.jpg


kt6.jpg


Das letztere ist ein Mode für meinen Lightpen, der mag blau noch etwas lieber als grün. ;-)

Denn erst mal frohes Fest, auch wenn es noch immer kein Ersatz für den Fairlight ist. :D
 
Mal ein Video von den neuen Funktionen, die ich neben einigen anderen Veränderungen gerade integriere:

Zuerst mal das "Synthesize Loop" Modul, das ähnlich wie die ebenso benannte Funktion in den alten Ensoniq - Maschinen arbeitet, jedoch mehr Optionen bietet und auch Stereofiles phasenstarr bearbeiten kann (bzw. Stereo draus machen kann wie im Video). Danach kommt der Sound zusammen mit einer Drumloop in das "Cross Synthesis" Modul, welches die Sounds per Resynthese faltet. Auch hier nur eine kurze und gewiss noch nicht repräsentative Demo, ich bin noch mitten in der Programmierung.



Die Verarbeitung dauert im Video recht lange, da ich hier an einem alten Athlon 1800 sitze und zudem die Capturing software für das Video sämtliche Ressourcen frisst. Zu sehen gibt es auch noch nicht viel - aber für die, die es sich gewünscht haben, schon mal ein Vorgeschmack.
 
Ich bin immernoch beeindruckt und finde es wirklich super, dass du weiterhin daran festhältst!
Grossen Respekt dafür! :supi:


Gruss
 
Cyclotron schrieb:
Mal ein Video von den neuen Funktionen, die ich neben einigen anderen Veränderungen gerade integriere:

Zuerst mal das "Synthesize Loop" Modul, das ähnlich wie die ebenso benannte Funktion in den alten Ensoniq - Maschinen arbeitet, jedoch mehr Optionen bietet und auch Stereofiles phasenstarr bearbeiten kann (bzw. Stereo draus machen kann wie im Video). Danach kommt der Sound zusammen mit einer Drumloop in das "Cross Synthesis" Modul, welches die Sounds per Resynthese faltet. Auch hier nur eine kurze und gewiss noch nicht repräsentative Demo, ich bin noch mitten in der Programmierung.



Die Verarbeitung dauert im Video recht lange, da ich hier an einem alten Athlon 1800 sitze und zudem die Capturing software für das Video sämtliche Ressourcen frisst. Zu sehen gibt es auch noch nicht viel - aber für die, die es sich gewünscht haben, schon mal ein Vorgeschmack.

Samplest Du hier eigentlich den Anfang von DM's Love in itself? Zumindest fiel mir dieser Track grad beim Hören ein. Oder hat DM die gleiche Quelle genutzt?
 
Ist gesamplet - aber ein gutes Beipsiel für einen Sound, der a) mono ist und b) sich verdammt mies mit normalen Loopfunktionen loopen, geschweige denn auf Stereo ziehen lässt.
 
sau cooles Tool :supi:

In wie weit kann es "universal" nutzen?
 
micromoog schrieb:
In wie weit kann es "universal" nutzen?

Frage ist: was ist "universal"?

Es ist ja nicht länger auf den Komplexer beschränkt, da es ja z.Bsp. auch die Wavetables rendern kann und auch ansonsten mit normalen Wavefiles arbeitet. Es ist - wie schon mal geschrieben - eine Lösung für Dinge, für die ich einfach kein Geld ausgeben will. Nur wegen der Synthesize - Loop Funktion z.Bsp. allein kauf ich mir keinen Ensoniq ASR.

Zudem hat das Tool den Vorteil, dass es absolut samplegenau und phasenstarr arbeitet, dass könnte man mit den Ensoniqs gar nicht in stereo und mit so großen Dateien machen. So kann ich z.Bsp. über das Studionetzwerk Blöcke aus Samplitude in den Audioterm - Rechner schieben und hinterher bearbeitet wieder in SAM einfügen und es passt.

Hier hab ich grad mal was rumprobiert: Das Ende von "Angels" erst mal geloopt und dann als Cluster in den nächsten Track crossyntheisiert. Und ein bisserl was drumrum an Synthies - vielleicht msuikalisch nicht grad sinnvoll, aber ich probier hier grad einfach mal planlos rum.


play:


Der hauptsächliche Sinn liegt für mich aber eher darin, mal ein paar weitere Werkzeuge für die Sampleverwurstung zu haben.

Nur:Ist alles eben auch kein High End - brauch ich persönlich aber auch nicht, wenn ich hier noch mit Frequenzgangkrücken wie WSA1 oder einem knarzenden Behringerpult arbeite.
 
Für jmd wie mich, der S330, Mirage, Emax und Emulator II super findet, wohl genau meine klangliche Wellenlänge.

Werde ich irgendwann mal intensiv ausprobieren.
 
Das Manual wird noch brauchen, aber wer schon mal unter der Benutzerführung leiden möchte:

http://home.arcor.de/blacktomcat666/Audio-Term.zip

Kleinere Bugs könnten noch drin sein, ich sehe insbesondere unter Win 7 immer wieder, das bestimmte Messages nicht angezeigt werden. Das ist für mich unter XP nicht reproduzierbar. Solltet ihr also gravierende Mängel finden, bitte ich um Nachricht.



Zum Programm (sozusagen die Kurzversion der Kurzversion der Parameterliste :D):

Einfach den Ordner im Zipfile entpacken und die exe darin starten. Sollte bei Vista/Win7 Usern das Fenster zu klein sein, versucht mal den Kompatibilitätsmodus für 32 bit oder den RESIZE Button (hab da noch keine bessere Löung, bin selber nur XP User). Das Programm hat drei Module: KTERM<> für Wavetables, SLOOP<> für die Loopsynthese und XMRPH<> für die Spektrale Multiplikation. Also auswählen, dann erst mal zu DISK durchhangeln und einen Sound laden. Dafür gibt es den Button LOAD.

Bei XMRPH<> müsst ihr zunächst zwei Sounds mit PLOAD_A und PLOAD_B vorladen und dann erst rechts auf LOAD<> klicken, schließlich braucht man dafür zwei Sounds. Ach ja, Endlosloops aus SLOOP<> werden automatisch auf die benötigte Länge gebracht.

Bei KTERM<> wiederum bekommt man zunächst nur die Komplexer Wavetables zu sehen, für WAV Files müsst ihr rechts auf FILE_TYPE klicken, um in den entsprechenden Ordner zu gelangen.

Die Sounds werden im Unterordner \data\wave bzw. \data\wt gespeichert. Lesen kann das Proggie Mono/Stereo Wav mit 44.1 khz in 16 oder 32 bit, von 8448 Samples Länge bis hin zu genau einer Minute.


Ok, wer gar nicht weiterkommt, kann sich ja mal hier melden, ansonsten müsst ihr auf das Manual warten.
 
Super cool, du hast die Programme tatsächlich unter eine Haupe gebracht :supi:
Danke vielmals :nihao:


Gruss

P.s. Der neue XMRPH ist wirklich spannend...ich muss das mal mit anderen Samples ausprobieren :D
 
Speziell bei XMRPH<> sind die besten Sounds eigentlich immer die Sources A*B oder B*A. Wenn besonders in der Mittelposition der Envelope die Artefakte zu groß sind, muss man die FFT Framesize und ggf. auch das Oversampling erhöhen. Ist halt "nur" FFT, das geht nie so ganz ohne Macken. Der voreingestellte Wert für das Oversampling ist meist ausreichend, wenn man allerdings recht starre Sounds einsetzt, sollte man den Wert auf 32 erhöhen (was dann aber länger in der Berechnung dauert). Gespeichert wird übrigens immer das, was man mit dem "AUD_OUT" Button abspielt, nur hier wird auch die Envelope mit eingerechnet. Wenn Du also die Source A*B speichern möchtest, drückst Du links so lange auf SET bis die Envelope auf der entsprechenden Source steht.

Ich hatte hier noch einen zweiten Algorithmus, wo er nicht zwei Produkte berechnet und die einfach fadet, sondern wirklich die Phasen und MAgnituden von A nach B stufenlos interpoliert. Allerdings müsste man da bei jeder Anderung der Envelope eine neue Resynthese durchführen (was dauert) und es kann da zu erheblichen Klangeinbrüchen führen, ähnlich einem extrem eingestellten Phaser. Die Zwischenstufen klingen dann auch sehr metallisch, man kann dabei aber z.Bsp. in gewissen Grenzen auch Tonhöhen morphen ohne dieses FFT Geflatter. Ich habe das mal mit zwei Pianosounds im Abstand von drei Halbtönen versucht, klang wirklich witzig wie der Sound erst verstimmte, dann glockig wurde und sich irgendwann wieder zu einem Piano auf einer anderen Note zusammenbaute. Aber wie gesagt, der Algorithmus kostet deutlich mehr Aufwand und hat auch seine Grenzen (z.Bsp: Wohin vechieben sich Teiltonphasen und damit die Frequenzen, die kein Pendant im zweiten Sound haben?).

Das Verfahren ist jedenfalls so "anders" dass ich das ggf. in einem neuen Modul umsetzen würde. Ebenso könnte man ja noch ein Modul bauen, wo man das Spektrum eines Sounds mal ein bisserl bearbeiten kann. Nur ist das eben auch speichertechnisch recht aufwändig und um eine gute Qualität zu erreichen, dauert die Berechnung ewig. Ich hab das gestern abend mal als VST Effekt Plugin probiert und da frisst er (weil keine SSE Ansprache) glatt 65% bei 32 fachem Oversampling auf meiner alten Kiste. Und dann isses auch nur Mono, zumindest als VST2. Wenn ich mir das dann so überlege, was für gute und leistungsfähige Plugins es schon gibt, werde ich diese VST Idee wohl nicht weiterverfolgen.
 


News

Zurück
Oben