Forum: Digitale Signalverarbeitung / DSP / Machine Learning Wie laut ist meine Wav./Mp3 Datei?


von Jens (Gast)


Lesenswert?

Hi Leute,

vielleicht kann mir jemand helfen?

User spielt Audiodaten (Wav./Mp3) Dateien am PC ab. User kann die 
Lautstärke am PC (WindowsSystemLautstärke) einstellen so wie es ihm 
gefällt. Abgespielt wird über Lautsprecher in einem Raum.

Jetzt möchte die Lautstärke im Raum messen. Dazu nehme ich einen 
Schallpegelmesser und lass am selben PC mit den selben 
Audioeinstellungen eine Mp3-Datei mit weißem Rauschen abspielen und 
messe den Pegel.
So weit so gut.

Jetzt zu meinem Problem/Unsicherheit:

Das was der User abspielt sind Musik oder Sprachdateien, wenn ich das 
mit dem Schallpegelmesser messen will "zucken" die Werte rum.

Daher nehme ich ja das weiße Rauschsignal (konstanter Pegel), wie 
vergleiche ich nun das weiße Rauschsignal mit dem "echten" Musiksignal.

Meine Idee ist am PC die Audiodateien einzulesen und per RMS einen 
Mittelwert zu berechnen. Sowohl vom Rauschen als auch immer von den 
Musik/Sprach-Dateien.


FRAGE:
Was muss ich tun, damit die Pausen die in Sprache oder Musik Stücken 
vorkommen  nicht  das Ergebnis mit RMS/Mittelwert verfälschen?

von Zombie (Gast)


Lesenswert?

Zunächst mal:
Jens schrieb:
> Daher nehme ich ja das weiße Rauschsignal (konstanter Pegel), wie
> vergleiche ich nun das weiße Rauschsignal mit dem "echten" Musiksignal.

nimm rosa Rauschen, das entspricht vom Spektrum her eher Musik. Weisses 
Rauschen killt dir deine Hochtöner und/oder deine Ohren.

Jens schrieb:
> Das was der User abspielt sind Musik oder Sprachdateien, wenn ich das
> mit dem Schallpegelmesser messen will "zucken" die Werte rum.

logisch. Musik ist ja auch dynamisch. Wenn du den "Durchschnitt" messen 
willst, miss in dBLAeq. Das können aber billige Schätzeisen nicht.

Was genau möchtest du denn mit dere Messerei erreichen?

von Joe F. (easylife)


Lesenswert?

Jens schrieb:
> eine Mp3-Datei mit weißem Rauschen

Komprimierte Audioformate (insbesondere Mp3) sind für das Abspielen von 
Rauschen nicht wirklich ideal.
Nimm besser ein unkomprimiertes Format (z.B. wav).

von Rolf S. (audiorolf)


Lesenswert?

Zombie schrieb:
> nimm rosa Rauschen, das entspricht vom Spektrum her eher Musik. Weisses
> Rauschen killt dir deine Hochtöner und/oder deine Ohren.
Wenn Lautsprecher und Verstärker gut aufeinander abgestimmt sind, wird 
da gar nichts "gekillt". Und wenn, dann sind es in der Praxis schon eher 
die Tieftöner, die bei zu vielen Oberwellen defekt gehen. Das sollte 
aber ebenfalls verhinderbar sein mit einer gut dimensionierten Weiche.

Joe F. schrieb:
> Komprimierte Audioformate (insbesondere Mp3) sind für das Abspielen von
> Rauschen nicht wirklich ideal.
Diese gepressten Audioformate sind für gar nichts optimal, sondern eine 
Notlösung zur Transportation von Daten bei reduzierter Bandbreite. 
Erfunden worden sind die für das Internet und als das schnell geworden 
war, hätte man sich davon verabschieden müssen.

von Jens (Gast)


Lesenswert?

@ Joe okay ich nehme das .wav Format

@ alle Danke für die Antworten

Die Frage ist aber immer noch ziemlich offen.

"Wie sollte man die Mittlere Lautstärke einer Audio-Datei ermitteln bez. 
auf das menschliche Hören um die Dateien später in der Lautstärke zu 
vergleichen?"

Bei konstanten Signalen (Sinus oder Rauschen etc.) kann ich mir das 
vorstellen, wie sieht das aber bei Sprache oder Musik aus?

Sprache -> viele Pausen dann wieder laute Stellen etc. RMS ist da doch 
Mist.

Ich hab bei meiner Recherche folgendes gefunden
(ziemlich interessant; leider müsste ich mich da lange mit 
auseinandersetzen bis ich mein DSP Wissen IIR Filter etc. reaktiviert 
habe ;)  )

http://wiki.hydrogenaud.io/index.php?title=ReplayGain_1.0_specification#cite_ref-5

"Where the average energy level of a signal varies with time, the louder 
moments contribute most to perception of overall loudness. For example, 
in human speech, over half the time is silence, but the perceived 
loudness of speech is primarily determined by the levels between 
silences.

A good method to determine the overall perceived loudness is to sort the 
RMS values into numerical order, and then pick a value near the top of 
the list. For highly compressed pop music (e.g. Figure 5(c), where there 
are many values near the top), the choice makes little difference. For 
speech and classical music (Figures 5(a) and 5(b) respectively), the 
choice makes a huge difference. The value which most accurately matches 
human perception of perceived loudness is 95%,[5] so this value is used 
by ReplayGain."



Mein erster Versuch-> Wav-Dateien in Array schreiben, nach Größe 
sortieren und dann die ersten 5% des Array ignorieren und dann den einen 
Arrayeintrages als "Beurteilungs Lautstärke-dB-Wert" anzunehmen.
Ergebnis nicht so toll! Bei der Musik Datei kam irgendwas mit -15 dB 
raus und bei einer gefühlt gleichlauten Sprachdatei -25 dB.

Ideen wir man das leichter/besser umsetzen kann?

von J. S. (engineer) Benutzerseite


Lesenswert?

Für die Lautstärke anhand der RMS-Pegel gibt es genormte Verfahren und 
Messperioden für unterschiedlich lange Zeiten. Wie sich das nachher 
abbildet, hängt von der Analogverstärkung ab. Andere Lautstärken 
erzeugen andere relative Hörkurven.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.