Blofeld Wavetables selbst bauen - Tool f PC

Irgendwie klappt das mit dem Editor nicht so ganz. Wenn ich Wellenformen lade, kriegen die immer einen Offset und sie werden auch noch gestaucht. Eine reine Sinuswelle mit 128 Samples Länge wird ab der Mitte leicht gestaucht und bekommt dann auch noch in den ersten 20 Samples oder so irgendwelche sonderbaren Daten.
Desweiteren kann ich keinen Sound hören.

Ich arbeite unter Win7 64-bit. Funktioniert das Tool bzw. das laden von Waves und das Soundabspielen bei jemandem?
 
Das liegt u.a. daran, dass das Programm eine ziemlich dusselige Importfunktion hat. Nach neuster Spezifikation enthält eine PCM Datei den früher optionalen 'fact' Chunk im Header. Und genau der macht die Probleme, denn der Wavetable Creator setzt stumpf eine Headergröße von 44kb voraus und wertet die folgenden Bytes als Audiodaten.

Ich hab mein Tool jetzt schon relativ weit angepasst, aber bin noch nicht fertig. Immerhin gibt es keinen Offset, da ich den 'fact' chunk nicht verwende.

Zum Problem des fehlenden Sounds: Ich hatte das bei eineigen Usern meines Proggies auch. Der Sound wird vermutlich von der Standardsoundausgabe wiedergegeben, die Du in der Systemsteuerung ausgewählt hast. Die muss mit 44,1 kHz 16bit laufen. Hat jedenfalls einer 'meiner' User rausgefunden und das könnte auch bei Dir das Problem sein, wenn Du mehree Soundkarten und/oder eine abweichende Rate/Frequenz hast.
 
Wer einen Blofeld und ein wenig zeit hat, kann ja mal diese drei Dateien ausprobieren:

http://www.fileden.com/files/2007/11/26/1607754//bwc.zip

Das Zipfile enthält *.bwc Files. Blofeld Wavetable Creator starten, "Import Wave" drücken und in der Dateitypansicht "Alle Dateien" auswählen.

Die Dateien sind Interpolationen über die vollen 64 Wavetableeinträge (Sägezahn PWM, Sprachsample und eine Synth Glocke). Wenn jemand mehr Aliasing möchte, kein Problem. Weniger wird schwer. :D Bei den beispielen ist die FFT auf 32 Teiltöne begrenzt, kann man aber auch beim Erzeugen abschalten.

Warum *.bwc und nicht *.wav? Weil direkt nach den Wellenformdaten noch Daten für die Harmonischen kommen. Das ist zwingend nötig, um die Datei verlustfrei wieder in Audio-Term öffnen und bearbeiten zu können. Ansonsten müste man so eine File durch die Resynthese jagen, wenn man es noch mal ändern will. Da für den Blofeld aber 64 statt 33 Tableeinträge und vor allem nur 32 statt 64 Obertöne zum Einsatz kommen, gehen bei der Resynthese eine Menge Daten verloren.

Klar, man könnte das auch an eine normale WAV anhängen. Aber manche Menschen öffnen .wav Dateien gern im Audioeditor und wenn sie dann - warum auch immer - auf Speichern drücken, sind die Daten für die Harmonischen weg und futsch.
 
So, Mädels, genug gedöst. Man kann Audio - Term jetzt auch mit dem Böde..äh... Blofeld nutzen.

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

Es gibt nun in KTERM<> -> Disk<> einen weiteren FILE_TYPE namens BWC. Wie oben schon erläutert ist das einfach eine 32bit PCM signed Wavedatei, die vor allem noch um die Kontrollwerte für die Harmonischen erweitert wurde.

Es gibt drei Möglichkeiten, solche BWCs zu schreiben:

1-33 gefüllt und 34-64 leer (Button "33_RAW")
1-33 gefüllt und in 34-64 wird Wellenform 33 wiederholt (Button "33_SUS")
1-64 über eine Interpolation gefüllt (Button "64_IPOL")


Diese BWC - Dateien öffnet ihr mit dem "Blofeld Wavetable Creator" über die Funktion "Import Wave", wobei ihr da die Ansicht auf "Alle Dateien" stellen müsst. Dann fluppt das Ding da 1:1 rein und ihr könnt es entweder weiter bearbeietn oder ein Sysex/Midi/sonstwas draus machen... na ja, Blofelds Freunde werden schon wissen, was zu tun ist. Ein paar BWCs sind schon dabei, damit man das auch mal probieren kann, wenn man die "Audio - Term" Bedienung nicht blickt.

Resonanz wäre nett, da ich sonst Fehler mangels Blofeld nicht finden und korrigieren kann.

So, halb 2 in der Frühe - ich mach erst mal Mittag. :D
 
Na ja.. es ist erst mal ein erster Versuch - keine Ahnung, wie das jetzt auf dem Blofeld klingt. Zum Fuchs wurde ich aber, als ich die ganzen Importbugs des Wavetablecreators programmiertechnisch umgehen durfte. Zum Beispiel hat er da einen Fehler in der Berechnung der maximalen Amplitude, wenn er die Daten beim Import normalisiert, weshalb ich da immer einen minimalen DC - Offset in die Files einrechnen muss. Und dann diese sperrige Format, gepaart mit der recht liberalen Interpretation der restlichen Headerdaten...
 
mal ne andere Frage: die Wavetables, die man selbst erstellen und in den Blo schicken kann, werden auf eine bestimmte Position im Speicher gesetzt ... Userwavetables bis Speicherplatz 120
 
Der Blofeld kann User Wavetables? Das ist ja mal krass... Der XT konnte das ja auch aber das habe ich leider Reihe bekommen
 
DrFreq schrieb:
Der Blofeld kann User Wavetables? Das ist ja mal krass... Der XT konnte das ja auch aber das habe ich leider Reihe bekommen

die WTs muss man extern erstellen und dann importieren zu den entsprechenden Speicherplätzen, im Blofeld geht das nicht.
 
Mehrere Soundkarten / Ausgänge im System? Der WavetableCreator nutzt offenbar die Standardsoundkarte (bzw. die erste, die er findet) und das lässt sich auch nicht ändern. Die Einstellungen für das Format finden sich in der Datei "wavetable_creator.ini".

Ansonsten kann man auch mit Audio-Term Wavetables für den Blofeld bauen, allerdings ist der eigentlich für andere Produkte gedacht und deutlich umfangreicher als der WavetableCreator.



Im Gegensatz zu dem alten Video kann man mittlwerweile direkt Blofeld Sysex Dateien schreiben, so dass man den WavetableCreator nicht mehr zwingend braucht.
 
Also ich benutze ein Audio Interface, hab jetzt aber umgesteckt und den Audio Ausgang von Pc Benutzt aber auch da kein Ton zu hören vom creator.
 
Welches OS? Probiere hier auch gerade auf mehreren Systemen, aber bislang ohne Befund. Dumme Frage: Hast Du die Lautstärkeregelung überprüft, dass nicht eventuell der entsprechende Kanal gemutet ist? Was steht in Deiner wavetable_creator.ini? Bei mir läuft es mit folgendem Inhalt:

Code:
; wave channel 1(mono) or 2(stereo)
; Wave samples per sec 44100khz, (48000khz, 96000khz,192000khz not tested)
[AudioOutput]
WaveChannels=1
WaveSamplesPerSec=44100
WaveBlockAlign=4
WaveBitsPerSample=16
 
Also ich benutz Win7 habe es aber auch Kompatibilitätsmodus Xp probiert und in meiner ini steht folgendes:
; wave channel 1(mono) or 2(stereo)
; Wave samples per sec 44100khz, (48000khz, 96000khz,192000khz not tested)
[AudioOutput]
WaveChannels=1
WaveSamplesPerSec=44100
WaveBlockAlign=4
WaveBitsPerSample=16

Achso und gemutet ist auch nix...ich höre sonst auch alles, also Systemtöne u.s.w.
 
Ändere in der wavetable_creator.ini mal folgenden Eintrag:

Code:
WaveBitsPerSample=16
auf
Code:
WaveBitsPerSample=32

Dann geht es bei mir auch unter Win 7, sonst nicht.
 
1. Um ein Sample in den Blofeld Wavetable Creator zu laden muss es im Format 32 Bit PCM (NICHT 32 Bit float) und Mono gespeichert sein.

2. Audio-Term kann das Blofeld Sysex Format direkt schreiben, inklusive der Slotnummer und der Device ID. Es ist somit nicht zwingend nötig, eine Wavetable danach noch mal mit dem BWC zu laden. Das ist eigentlich nur sinnvoll, wenn man im BWC noch mal weiter editieren will. Derart veränderte Wavetables können aber nicht zurück in Audio-Term geladen werden, was mit der unterschiedlichen Struktur der Wavetables zu tun hat.

3. Wavetables sind nicht mit Samples vergleichbar - jedenfalls nicht diese klassichen Single Cycle Wavetables a la Waldorf/PPG. Der Blofeld hat 64 Slots a 128 Samples. BWC holt sich die ersten 64 x 128 = 8192 Samples eines Sounds und schreibt diese in die 128 Slots. Das geht zwar schnell und ohne viele Eingaben, führt aber zu hörbaren Artefakten, wenn die Ränder der Slots nicht die gleiche Amplitude haben.

Audio-Term macht eine Resynthese des gesamten Sounds, wobei die Software allerdings für den Komplexer geschrieben wurde und somit nur über 33 Slots verfügt. Der Sound wird demnach in 33 Durchschnittspektren zerlegt. Für den Blofeld wird das beim exportieren auf 64 Slots hochgerechnet. Wichtig bei der Sampleanalyse mit Audio-Term ist das Tuning des Analyzers auf den Grundton (ca. F3 +/- 1 Oktave). Dann kommen auch Ergebnisse raus, die zumindest an das Original erinnern. Teilweise sind sie sogar so nah dran, das man sie fast nicht vom Original unterscheiden kann (beispielsweise bestimmte FM Sounds oder Einzelnoten von Instrumenten). Aber je komplexer der zu analysierende Sound aufgebaut ist, desto "unbrauchbarer" das Ergebnis. Sprache mit ihren vielen Noiseanteilen klingt immer nach "Angriff der Cylonen". Sounds mit Vibrato oder Schwebungen kann man eigentlich ganz vergessen. Jedenfalls gilt das für den klassischen Wavetableansatz (gibt zwar mehr als den, aber mit Blofeld ist man da eben drauf festgelegt).

4. Zu Einstellungen im Blofeld und der Dauer eines Dumps kann ich leider nix sagen, da ich nie einen in Natura gesehen hab.
 
1. Welche DAW benutzt Du? 32 bit PCM ist ja nicht sooo ungewöhnlich.


2. Ich benutze für Sysex Transfers SyxLoader.


2A. Was genau meinst Du mit "mehrere"?

2B. Das sind einfach nicht überschreibbare Speicherplätze im Blofeld - vielleicht war mal angedacht, das später zu nutzen.


3. Wenn Du Samples mit dem Bofeld Wavetable Creator in Wavetables umrechnest, nimmt er in der Tat nur den Anfang (wie gesagt, die ersten 8192 Samples). Audio-Term "komprimiert" das ganze Sample. Allerdings musst Du im Blofeld auch die Wavetableposition modulieren, ansonsten hörst Du ja immer nur einen der 64 Slots. Da sollte es einen Parameter geben, gelegentlich wird hierfür der PWM - Parameter "misbraucht". Um Bewegung in die Wavetable zu bekommen, musst Du den modulieren.

Übermässig lang sollte ein Sample aber auch in Audio-Term nicht sein, optimal sind 33792 Samples. Je weiter das nach oben davon abweicht, desto mehr muss "zusammengefasst" werden. Das wiederum geht auf Kosten der Details.


3a. Drei Lösungsansätze? Meinst Du für das verteilen der 33 Slots auf die 64 des Blofeld? Das war vor ein paar Jahren in der Tat mal so, ist aber jetzt auf eine einzige Variante reduziert worden: Es werden 32 interpolierte Tables eingefügt und der letzte Slot wird verworfen. Anders ist es nicht möglich, sowohl eine volle Wavetable zu bekommen als auch beim "reload" in Audio-Term die komplette Wavetable zu rekonstruieren. Das hängt mit der Datenstruktur von Sysex zusammen - ich habe das so gelöst, dass die Daten im Audiomaterial encodiert sind bzw. extrapoliert werden. Das Verfahren ist aufwändig, funktioniert aber in Echtzeit, so dass Audio-Term die Daten sogar im Browser direkt aus dem Sysex abspielen kann ohne sie wirklich laden zu müssen. Na ja, Details... ;-)


3b. Audio-Term arbeitet mit einer Slotlänge von 256 Samples. 44100 kHz / 256 Samples macht 172,265625 Hz. Das ist ~F3, jedenfalls nach der von mir genutzten Festlegung. Es gibt da ja verschiedene Standards.

Wie bereits erklärt basiert die Wavetablesynthese auf fixen Frequenzen, die ganzzahlige Vielfache der Grundfrequenz sind. Das ist ein sehr grobmaschiges Raster und wenn der zu analysierende Sound davon abweicht, ist es eher Zufall, dass der Analyzer ein korrektes Ergebnis ausspuckt. Da trifft man dann nicht die Harmonischen eines Sounds, sondern irgendwelche schrägen Seitenbänder. Deshalb muss zum Beispiel in den ganzen Analysetools für den Kawai K5/K5000 die Tonhöhe angegeben werden.

Im Wavetable Creator ist das noch problematischer. Der arbeitet mit 128 Samples. Wenn Du einen Sinus analysierst, der eine Periodenlänge von beispielsweise 192 Samples hat, ist der Slot trotzdem nach 128 Samples voll. Der Rest wandert in den nächsten Slot.

Nun muss man aber einen Slot wie eine Single Cycle betrachten und da stellt sich dann heraus, dass aus Deiner Sinuswelle etwas "sinusähnliches" wird, was eine harte Sprungstelle am Ende aufweist. Das klingt dann nicht nach Sinus, sondern nach einer Mischung aus Sinus und Sägezahn. Ein komplexeres Sample kann dadurch völlig "versägezahnt" werden. Dieses Problem gibt es in Audio-Term zwar nicht, dafür bekommt der Klang aber eben eine unharmonische Färbung. Deshalb ist die Grundfrequnez wichtig, wenn das Original möglichst gut reproduziert werden soll.
 


Neueste Beiträge

News

Zurück
Oben