Wäre es eigentlich möglich mit einem Update der Firmware beim Axe FX3 die Möglichkeit des Profiling eines Amps zu implementieren, so wie es Kemper und jetzt das Cortex können? Oder bedarf es doch einer neuen Hardware?
Sollte möglich sein.
Zumindest für die Cortex Version habe ich das vor ein paar Tagen mal formal konstruiert,
weil mich das Einbinden eines neuronalen Netzes interessierte.
Den Kemper-Algorithmus kenne ich nicht.
Anforderungen (wie beim Cortex):
- Effekt einschleifen, OK
- In den Einschleifweg verschieden Testsignale einspeisen und am Return abgreifen, OK
- Dieses Signal A/D-wandeln (hochwertig Sampeln und Quantisieren) und auswerten (Frequenzgang, ADSR, ...), OK
- Aus dieser Auswertung/Analyse eine Anzahl Parameter zum späteren A/B-Vergleich ableiten, OK
- Ein neuronales Netz mit einer gewissen Anzahl an Neuronen einrichten/codieren, OK (mindestens beim IIIer speichertechnisch)
- Bspw. ein 3-Schicht-Netz mit sagen wir 5-10 Neuronen je Schicht, OK (Rechenleistung sollte dafür allemal reichen)
- Ein virtuelles Gerät (sagen wir einen Zwitter aus Effektgerät und Amp) codieren, welches später das digitale Signal-Äquivalent zum gesampelten Originalsignal erzeugen kann, OK
- Grundlage dieses virtuellen Geräts sind wie sonst auch mathematische Funktionen, die die einzelnen Komponenten des Geräts für eine Signalverarbeitung abbilden, OK
Bestimmte Bestandteile dieser Funktionen korrelieren mit ganz bestimmten Parametern, welche die Signaleigenschaften (siehe oben) ausmachen.
Diese Variablen (Bestandteile) der Funktionen/Berechnungen werden jeweils bestimmten Neuronen (einer Neuronen-Ebene) im Netz zugeordnet.
Bei einem Berechnungsdurchlauf des Netzes ergeben sich an der Ausgabe-Schicht des Netzes für diese Variablen Ergebnis-Werte,
die man an die Funktionen übergibt und ein Signal generiert, das man auf die o.g. Signal-Parameter hin auswerten kann und mit
den zugehörigen Parametern des Originalsignal vergleicht.
Dazu wurden zuvor für die erste Berechnung des Netzes alle Gewichtungen der Neuronenverbindungen mit Standardwerten beschickt.
Nach jedem Netz-Berechnungsdurchlauf werden die Signal-Parameter Original<>Virtuell miteinander verglichen.
Bei den Signal-Parametern, bei denen ein bestimmtes Maß an Differenz auftritt, wird diese Differenz in einen Fehlerwert umgerechnet,
und an die Ausgabe-Schicht des Netzes, dort an das Neuron, dessen Variablenwert (in der mathem. Funktion) Einfluss auf den Signal-Parameter haben, übergeben und so werden bspw. mittels Backpropagation die Gewichtungen im Netz schrittweise angepasst.
Nach jeder Anpassung rechnet das Netz erneut und der Signalvergleich erfolgt ebenfalls wieder usw. wie zuvor beschrieben.
Auf diese Art und Weise kann das Netz sich Schritt für Schritt an gewünschte Werte für die einzelnen Neuronen der Ausgabe-Schicht
heranarbeiten, die ihrerseits als Variablen in die Berechnungen des virtuellen Effektsignals einfließen, welches sich in der Folge immer
mehr der Signalstruktur annähert, die ich anfangs vom Originalsignal gecaptured habe.
Da man irgendwann mal fertig werden möchte mit dem Capture-Vorgang, wird man ggf. die Annäherung an das Originalsignal,
sprich die Anzahl der Berechnungen im Netz und die Fehler/Abweichungen in den Ausgabewerten des Netzes, auf ein erträgliches
Maß anpassen müssen.
Das wäre zBsp. eine Variante, die mir vorschwebt.
Softwaretechnisch betrachtet nicht allzu schwierig.
Auf eine detailierte Beschreibung neuronaler Netze und deren Funktionsweise habe ich mal verzichtet.
Das kann man sich bei Interesse im Netz in vielen Doks mit unterschiedlicher Informationstiefe ansehen.
Was das Ergebnis des Capturings betrifft, steht und fällt hier alles wie beim restlichen Modeling mit der
Qualität und den rechnerischen Möglichkeiten des Geräts.
Da hätte ich beim Axe III keine großen Bedenken.
Beim Cortex weiß ich es natürlich nicht.
Dort ist mir aber aufgefallen, dass in allen Capture-Beispielvideos mindestens mal im Frequenzgang des
virtualisierten Signals schon noch Unterschiede gegenüber dem Original zu hören waren.
Ob das mit der generellen Modeling-Quali des Cortex zusammenhängt, oder Kompromissen beim Capturing
geschuldet ist, weiß ich ebenfalls nicht.
Das mal als eine Antwort im Schnelldurchgang ;-)