Laden...

Maximale Lautstärke einer AudioDatei ermitteln

Erstellt von tigersammy vor 15 Jahren Letzter Beitrag vor 15 Jahren 3.832 Views
T
tigersammy Themenstarter:in
62 Beiträge seit 2006
vor 15 Jahren
Maximale Lautstärke einer AudioDatei ermitteln

hallo

ich habe eine kleine frage
Wie ist es den Möglich zu erkennen was die Maximale lautstärke z.B. einer MP3 datei ist.
Es geht hierbei darum das es ja Leise und Laute datein gibt.
Gibt es hierfür eine Implementierung dies auszulessen?
Derzeit nuttze ich die Bass.dll für das abspiellen und regeln der Audiofiles.

danke für die Hilfe

Tigersammy

Wenn ich eine SuSE-DVD an ein Schwein binde und dieses trete, laufen KDE & Co. auch ohne RAM recht schnell.

S
119 Beiträge seit 2008
vor 15 Jahren

Hi

Die maximale Lautstärke in db wirst du so nie feststellen können, denn das hängt davon ab wie der Computer der es abspielt eingestellt ist. Soll heißen wenn du ne billige Sigmatel Onboard Soundkarte hast ist alles sicher ein bisschen leiser als wenn du ne Creative X-Fi Soundkarte hast 😉 (Seitdem ich die Creative Karte und mein Medusa Headset hab sind die Lautstärke Regler nur noch auf 5% weils mir sonst die Ohren wegbläst xD) Außerdem kann der Benutzer des PCs ja auch an den Lautstärkeregler an den Boxen rumspielen und diese Einstellung hat (im Normalfall) nichts mit irgendeiner Software oder dem Betriebssystem zu tun, lässt sich also auch nicht messen. Was du aber festellen kannst ist ob ein Soundfile leiser als ein anderes ist. Wenn die Amplitude größer ist dann ist der Ton auch lauter, soweit ich weiß kann man die Amplitudengröße mit der Bass.dll auslesen.

mfg
Sweet

"2 Dinge sind unendlich die Dummheit der Menschen und das Universum, aber beim Universum bin ich mir noch nicht so ganz sicher."

  • Albert Einstein
313 Beiträge seit 2006
vor 15 Jahren

ja aber eine relative maximale audioeinstellung,...

S
119 Beiträge seit 2008
vor 15 Jahren

ja aber eine relative maximale audioeinstellung,...

Alles ist relativ 😉 Deswegen wiegen die Elefanten seit neuestens auch 200g.

Tatsache ist das man programmatisch nie festellen kann wie laut der Sound wirklich ist der aus den Boxen kommt. Du kannst zwar sagen die Musik ist 1.2 mal lauter als diese aber mehr geht nicht. Wirklich messen könntest es nur mit Mikro, aber auch dann wärs noch ziemlich schwer...

"2 Dinge sind unendlich die Dummheit der Menschen und das Universum, aber beim Universum bin ich mir noch nicht so ganz sicher."

  • Albert Einstein
U
1.688 Beiträge seit 2007
vor 15 Jahren

Hallo,

Alles ist relativ 😉 Deswegen wiegen die Elefanten seit neuestens auch 200g.

200g sind allerdings nicht relativ, sondern absolut.

Davon abgesehen, ist es selbstverständlich möglich, einen Punkt maximaler Lautstärke eine Sounddatei zu bestimmen. Es können auch Dateien in ihrer Lautstärke verglichen werden, das hat nichts mit dem Regler an den Boxen zu tun.

Ein Stichwort dazu lautet "Replay Gain" (http://de.wikipedia.org/wiki/Replay_Gain)

S
119 Beiträge seit 2008
vor 15 Jahren

Hi

Replay Gain (aus dem Englischen: Wiedergabe-Verstärkung) ist ein Standard, der beschreibt, wie digitale
>
auf eine gemeinsame wahrgenommene
>
angehoben werden, ohne die in der Datei gespeicherten eigentlichen Audiodaten anzutasten.

Trotzdem kannst du nie programmatisch bestimmen wie laut sich das Soundfile wirklich aus deinen Boxen anhört. Das ist unmöglich. Replay Gain ist kurz gesagt nur ein Standard mit dem man die Lautstärke verändert ohne das das Sound File beeinflusst wird. Aber es geht darum festzustellen wie laut ein es ist und nicht die Lautstärke anzupassen.

mfg
Sweet

"2 Dinge sind unendlich die Dummheit der Menschen und das Universum, aber beim Universum bin ich mir noch nicht so ganz sicher."

  • Albert Einstein
363 Beiträge seit 2007
vor 15 Jahren

Jein,

bei CD's wird es ja gemacht, alle Titel werden "normalisiert", also der lauteste Moment im Lied ist relativ gleich.
Die Lautstärkeanzeige ist dann auch davon abhängig, weil alle Titel auf einer CD mit 0dB (Dämpfung!!!) gepresst sind. Also maximale Lautstärke, eine Stereoanlage etc. dämpft nun das Signal entsprechend nach unten. Damit es leiser wird.

Bei mp3-Dateien ist nun das Problem, sie stammen von unterschiedlichen CD's (Quellen) und wurden teilweise mit unterschiedlichen Codecs komprimiert, dass heißt die Lautstärkeinfo ist bei jeder Datei anders.

Was du jetzt als Lösung brauchst ist ein Referenzpunkt, an dem du die Dateien festmachst. Also eine Datei, wo du sagst das passt und dann normalisierst du alle anderen mp3' auf diese. Es empfiehlt sich da natürlich eine relativ laute. Hinterher dämpfen ist einfacher als im Nachhinein eine Datei lauter machen, das Rauschen spielt hier dann eine starke Rolle.

Es empfiehlt sich wahrscheinlich sowieso, für unterschiedliche Stilrichtungen jeweils eine eigene Referenz zu nutzen, da dir sonst viel Dynamik verloren geht.

Gruß Cookiie

"Hail to the King, Baby!"

T
tigersammy Themenstarter:in
62 Beiträge seit 2006
vor 15 Jahren

So nun noch die Frage wie bekomme ich die Amplitudengröße aus einer MP3?
Das ganze soll ja nicht so laufen das ich erst mir das ganze file anhören muss

Wenn ich eine SuSE-DVD an ein Schwein binde und dieses trete, laufen KDE & Co. auch ohne RAM recht schnell.

S
119 Beiträge seit 2008
vor 15 Jahren

Hi

Mit der Bass.dll sollte es gehen (glaub ich zumindest), denn mit Bass kann man auch Graphen machen die die Amplitude und Frequenz visualisieren. Wenn Bass nichts in diese Richtung bietet musst du selbst ran 😉 Soll heißen File als byte[] einlesen und selbst Amplitudengröße auslesen. Wenn du es so machst kannst du dich ja im Internet ein bisschen informieren wie das ganze z.B. bei mp3 im File gespeichert wird.

mfg
Sweet

"2 Dinge sind unendlich die Dummheit der Menschen und das Universum, aber beim Universum bin ich mir noch nicht so ganz sicher."

  • Albert Einstein
363 Beiträge seit 2007
vor 15 Jahren

Wäre auch meine Idee, allerdings wäre es sinnvoller wenn es direkt eine normalize()-Funktion gäbe. Schau mal vielleicht haste ja Glück, ein guter Wert sind dann 98%.

Gruß Cookiie

"Hail to the King, Baby!"