Bei dieser Gelegenheit nochmals eine Warnung vor dem Dithering mit/bei Brutefir aus dem Jahr 2014 in die Runde:
daihedz hat geschrieben:Ich erlaube mir zwei Bemerkungen zu Deiner Brutefir Config. [safety_limit] ist ein neuer Parameter seit der Version 1.0m und würgt Brutefir sofort ab, sobald der Pegel am Ausgang den eingestellten Wert überschreitet. Ein Wert von 20 macht keinen Sinn, da damit grosszügig eine digitale Übersteuerung um 20dB zugelassen würde. Entweder kann dieser Parameter auskommentiert werden, oder aber man kann dessen Wert auf z.B. -0.01 einstellen, damit man sicher ist, dass der DAC nie übersteuert wird.
...
Ich empfehle beim aktuellen Stand des Codes, das Dithering (Im Modul [Output] ) !!! AUSZUSCHALTEN!!! Grund: Brutefir startet manchmal und gut reproduzierbar, aber völlig zufällig mit einem grauenvollen Kreischen auf, dies bei Angabe eines Ausganspegels von +80dB ... +1000dB. Das hat mich schon einen Hochtöner gekostet, welcher innerhalb von ca. 1 Sekunde abgeraucht ist. Zum Glück blieben wenigstens meine Ohren unbeschadet. Ich habe dies A.Torger gemeldet, was der Grund war, dass er zunächst einmal den oben abgehandelten Parameter [safety_limit] implementiert hat. Der fängt diesen Ausnahmezustand jedoch leider nicht ab, sondern funktioniert ausschliesslich beim regulärem Betrieb: D.h. auch bei [safety_limit = - 3dB] kann es munter kreischen, und dies darüber hinaus auch bei einem völlig zurückgestellten Eingangs- oder Ausgangspegel. Da hilft nichts, ausser das Dithering auszuschalten: Wenn [dither: false;] eingestellt ist, ist dieses Berserker-Verhalten nicht reproduzierbar. Ich vermute einen Fehler im entsprechenden Algorithmus für das Dithering, und A.Torger weiss von meiner Vermutung. Ich warte auf 1.0n ...
Deshalb läuft Brutefir bei mir seither ausschliesslich ohne Dithering, mit/bei 32Bit, resp. 64Bit . Die Bittiefe hinauf-, resp. heruntergerechnet wird mittels Sox.
Tweeterbesorgte Grüsse
Simon