Keine Ahnung. Das mit rekursiv ist nur eine Vermutung, weil es dazu passt, dass ich einen Headroom von locker 12 db hatte und beim Anspielen eines oder bestimmter Töne, hauptsächlich Palm Mutes dazu führte, dass auf einmal sämtlich Output LEDs auf Dauerrot gingen und es sich anhörte als würd der Amp grad abrauchen. Voll in die Begrenzung. Aber egal. -Bin gespannt, was hier jetzt die Lösung ist.
Ja, den Effekt kenne ich auch.
Ich habe mal vorhin unter der Dusche ein paar Gedanken gesammelt, die die Thematik mit der Rekursion nochmal aufgreifen.
Deine Überlegung ist ja nicht völlig aus der Luft gegriffen.
Rekursionen spielen in der DSP-Programmierung ja eine nicht unerhebliche Rolle.
Also;
Um meine Zweifel an der Theorie fehlerhafter Rekursionen mal noch etwas genauer zu umschreiben.
Fakten:
1. Wir haben einen Effekt vor uns, der in der analogen Welt in ähnlicher Form vorkommt;
bestimmte Wah-Pedalstellungen, normales Feedback zwischen Gitarre und Box/Amp, ggf. beeinflusst von unterschiedlichen
Tone-Regler Stellungen, unterschiedlichen Saiten etc..
2. Der Effekt endet idR. mit dem stoppen des Eingangssignals.
3. Es kann durchaus im Sinne einer realistischen Simulation gewünscht sein, solche Effekte beim Modeling zuzulassen.
Würde man sie bewusst limitieren (Limiter), bedeutete dies einen Eingriff in die quasi-realistische (quasi, weil es sich immer noch nur um eine
modellhafte Abbildung analoger Prozesse handelt) digitale Abbildung der Prozesse.
Hier besteht ja i.ü. seitens des Users später die Möglichkeit, dies mit Hilfe eines Limiter-Blocks oder entsprechender Parametereinstellungen
zu korrigieren.
Wichtig;
Punkt 2 ist auch bei der AxeFx-internen Verarbeitung und dem Auftreten dieses Effekts im digitalen Verarbeitungsbereich gültig.
Haiko hatte ja auf den Effekt auch schon hingewiesen.
Dem steht nun die sog. Rekursion als Ausgangspunkt der Ursache gegenüber.
Im "Normalfall" ist die Anzahl der Iterationen entweder Parameter-gesteuert, also variabel, oder fest eingestellt, also in Form einer Konstante.
Compressoren (Sustain, Release), Delay und Reverb (Feedback etc.) usw. sind hier Beispiele für Parameter-gesteuerte Iterationen.
Nun stünden 2 Fälle zur Disposition, die auf eine fehlerhafte Rekursionsroutine verweisen.
1. Die Funktion ruft sich aufgrund eines fehlerhaften (fehlerhaft codierten) Ausstiegszenarios unendlich oft selbst auf.
Ich bezeichne das immer als "Digitales Perpetuum Mobile in Form eines sich selbst reproduzierenden binären 1 zu ∞ - Baums".
In diesem Fall würde aber, auch unter dem Aspekt, dass das Eingangssignal gestoppt würde (Wichtig!), eine exponentiale Zunahme sowohl der
Instanzen der immer wieder neu rekursiv erzeugten Funktionen, als auch der Funktionsergebnisse, im Speicher stattfinden.
Die Funktions-Ergebnisse würden sich im Falle von DSP-Programmierung resp. Funktionen unentwegt zum Summensignal hinzuaddieren.
Dieser Prozess würde auch ohne Eingangssignal ständig weiterlaufen, bis das Betriebssystem des AxeFx einen Crash vermeldet (wenn es dann noch Gelegenheit haben sollte, ihn zu melden ;-)).
Und/oder uns würden ggf. bis dahin die Kalotten aus dem Kopfhörer fliegen, weil sich das Signal (die Amplitude) gewaltig aufgeschaukelt hat.
Letzteres ist aber eher unwahrscheinlich, weil die Technik der Ausgangsleistung ihre Grenzen aufzeigen würde ... hoffentlich
Diesen Fall habe ich noch nicht erlebt und kann ihn zumindest für mich ausschließen.
2. Die Steuerung der Anzahl der Iterationen ist fehlerhaft.
Mal abgesehen davon, dass wir eine letzte Gewissheit eh nur dann erlangen würden, wenn wir Einblick in den Code hätten,
wäre meine Einschätzung, dass diese falschen Iterationen (also die Anzahl der Durchläufe), die zu solchen Effekten führen,
häufiger und bei unterschiedlichsten Frequenzen auftreten müssten.
Man kommt also nach meiner Auffassung nicht umhin, genauer zu untersuchen, in welchen Kontexten dieser Effekt auftritt.
ZBsp. Eingangsignalfrequenz + zu hohe Parametereinstellungen bei Parametern, die unmittelbar in einer Wechselwirkung mit
bestimmten Frequenzen und ihrer Amplitude stehen.
Und auch da stellt sich mir die Frage: Wie würde sich ein analoges Szenario im Vergleich verhalten?
Hier greift dann wieder Punkt 3, Satz 1 der "Fakten".
Gibt es in meinen Überlegungen einen Denkfehler?
Dann lass' es mich wissen ;-)
Nobody's perfect ...