bei der Normalisierung per Massenbearbeitung erscheint bei mir ein Fehler beim Abspeichern – leider erst dann, denn die ganze Normalisierungsarbeit ist dann für die Katz.
[FireDAC][Phys][MySQL] Unknown column 'INF' in 'field list'.
Ist mir jetzt schon mehrfach untergekommen; offenbar liefert der R128-Scanner (ebur128.dll) vereinzelt eine Lautheit von “minus unendlich” zurück, die dann als Wert nicht in das vorgesehene Feld in der Datenbank “passt”.
Meinst du, du kannst das vorsichtig auf die betroffene(n) Datei(en) eingrenzen und mir eine solche zum Test zur Verfügung stellen?
So, einen Kandidaten habe ich gefunden (und hochgeladen). Ich gebe zu, daß die Datei ein wenig exotisch ist, aber wiederum doch nicht so, daß sie irgendwo anders nicht auch vorkommen könnte. Es handelt sich um ein Prüfsignal mit dem durchgängigen Pegel „digital Null“, was natürlich so einen Normalisator an seine Grenzen bringen kann. Die Ausgabe im Schaufenster lautet für dieses Audio
W:\Musik\Media.localized\hr\Meß- und Prüfsignale\99 Titel 99.aif: 998,0 dB
Wenn man die Normalisierung einzeln (in den Eigenschaften) anstößt, kommt bei der Berechnung des Durchschnittspegels halt -INF heraus. Das ist formal richtig, könnte aber vom Algorithmus auch anders gehandhabt werden. (Oder eben von mAirList abgefangen.)
Die andere Baustelle wäre halt die SQL-Transaktion. Auch hier müßte solch ein Fehler eigentlich abgefangen werden können. (Oder Du läßt auch alphanumerische Zeichen im betreffenden Feld zu.)
Ähm, sehe ich das korrekt, dass diese Datei nur aus Stille besteht (wie der Titel schon sagt)? Das würde “minus unendlich” als Lautheit durchaus rechtfertigen.
Und wo kommen diese 62,6 dB her? Das hat jetzt nichts mit R128 zu tun, oder?
Die machen Dein R128-Normalisator; sie wurden bei der Massenbearbeitung im Hab-ich-schon-alles-geschafft-Fenster bei der Normalisierung durch Massenbearbeitung angezeigt:
Sag ich ja (siehe oben). Aber mAirList sollte das abfangen können. Der Wert als solcher ist ja erstmal nicht schädlich, nur, daß er eben alphanumerisch ausgegeben wird.
Edit: Meine Editiererei und Torbens Beitrag haben sich überschnitten, daher das doppelte Bild. Ist aber gut, wenn beide zum selben Ergebnis kommen.
“Minus unendlich” ist eigentlich innerhalb einer Programmiersprache schlecht darstellbar. Daher wundert es mich nicht, dass die DLL dafür dann ersatzweise einen “sehr niedrigen” dB-Wert einsetzt. Ich selbst verwende für den Zweck den Wert -200 dB.
Diese INF-Werte waren mir ehrlich gesagt bisher gar nicht bekannt.
Der R128-Standard verlangt für eine korrekte Messung, dass das Signal mindestens 500ms lang über einem Pegel von -70 LUFS liegt. Das ist bei einer Stille-Datei natürlich nie der Fall. Damit ist der Pegel definiert als “minus unendlich”. Alles korrekt soweit.
Das macht bei uns aber ziemlich viel kaputt. Unter anderem das Abspeichern in der Datenbank. Oder auch die Normalisierung (die ja die Differenz aus Zielpegel und gemessenen Pegel als Verstärkung nimmt).
Also was tun? Einen sinnvollen Ersatzwert eintragen? Welchen?
Noch eine seltsame Datei gefunden. Hat eine Größe von 692 KB, läßt sich aber aus irgendeinem Grunde nicht abspielen und erscheint also mit Pegel Null. Andere Titel des Albums sind unverdächtig.
Es kommt also nicht nur bei Dateien vor, die per se Stille enthalten, sondern auch bei welchen, die aus irgendeinem Grunde defekt sind, was bei einem größeren Archiv ja immer mal vorkommen kann.
Zwei Audios hochgeladen. Take 12 ist der mißliche, Take 11 aus demselben Album problemlos.
Gerade Build 4412 hochgeladen. Bei solchen Dateien ohne gültige R128-Lautheit (zu leise, zu kurz) bleibt das entsprechende Feld nach dem Scannen nun einfach leer.