Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Moonbase

Pages: [1]
1
Feature-Requests / Re: Ausgabepegel verwalten
« on: November 18, 2008, 04:03:06 »
Jepps. Allerdings bitte nicht vergessen, die Tags aus ID3v2 auszulesen. Vernünftige Menschen haben nur eine Sorte Tags ;-) (Die Sache mit dem APE-Tag hat er damals wohl nur gemacht, weil noch kein Player die »konnte« …)

Heutzutage werden die ReplayGain-Tags in aller Regel in ID3v2 getagged (z.B. von foobar2000, Winamp, metamp3 usw.) Bei so Sachen wie OGG natürlich als Vorbis Comment.

2
General / Re: Titling the (untitled) Titlebar
« on: November 17, 2008, 09:34:42 »
My wish: Artist - Title currently playing.

Why? Because edcast v3 can read window titles and so we could have correct title streaming for those who need a »cheap streaming solution«.

3
Feature-Requests / Re: Ausgabepegel verwalten
« on: November 17, 2008, 07:34:48 »
Ich denke, einige verwechseln immer noch gern »MP3Gain« mit »Replay Gain« – zumal die Ausdrücke fälschlicherweise oft synonym gebraucht werden.

MP3Gain ist ein Tool, das die einzelnen Frames einer MP3-Datei anpackt und dort die Lautstärke in 1,5dB-Stufen variiert. Zusätzlich schreibt es ein APEv2-Tag, in dem Informationen zum Rückgängigmachen der Änderung sowie Replay Gain-Informationen für die Differenz zwischen Soll- und Ist-Korrektur abgelegt sind.

Damit sind von MP3Gain »behandelte« Dateien ohne weitere Tools auf nahezu jedem Gerätchen abspielbar – es war ja lange Zeit auch quasi »die einzige« Möglichkeit.

Replay Gain ist der Algorithmus zur Berechnung der Lautstärkenanpassung auf eine gegebene »Ziel-Lautstärke« (im Original von 2001 noch 83 dB, heute allgemein 89 dB, nur welche? Nehme mal an, dBFS … oder doch db SPL?).

Programme, die mit Replay Gain »umgehen« können, gibt es zweierlei:
  • Die Analyser, die die Korrekturwerte durch Decodieren der Audiodaten errechnen und dann in Tags abspeichern, jedoch ohne etwas an Audiodaten bzw. MP3-Audioframes zu verändern, und
  • Die Abspiel-Programme, die die Tags lesen und einfach die Lautstärke anpassen (bzw. BASS.dll die Korrekturwerte übergeben)
 
MP3Gain ist insoweit ein »Sonderfall«, als dass es die Werte mittels des Replay Gain-Algorithmus errechnet, aber zusätzlich Änderungen an den Audio-Frames selbst vornimmt. Was es dann selbst nicht korrigieren kann, speichert es als »Differenz-ReplayGain-Tags«. Somit werden quasi die Audiodaten geändert (ok ok, nur ein paar loudness bits, nicht der content), damit ist eine mit MP3Gain »behandelte« Datei quasi »lautstärkerichtig« auf allem abspielbar, was MP3 decodieren kann (natürlich auch BASS.dll). Der Grund für die zusätzlichen »Differenz-Tags« ist die technisch bedingte Begrenzung auf Lautstärken-Anpassung in 1,5 dB-Schritten – anders geht das nicht, wenn man »verlustfrei« in den Frames korrigiert.

Für ReplayGain-Unterstützung muss jedoch einer der Korrekturwerte aus den Tags gelesen und vom Player »angewandt« werden. Das erlaubt es, wahlweise im »audiophile mode« (Album Gain) oder im »radio mode« (Track Gain) zu lauschen (um z.B. bewusste Lautstärkeunterschiede innerhalb eines Albums so zu belassen und nicht alles »auf gleiche Lautstärke zu knüppeln«). Mit ReplayGain sind auch »feinere« Abstufungen möglich, theoretisch nur begrenzt durch die digitale Auflösung der Audiodatei (und des Players).

Ganz allgemein sind mir natürlich auch Dinge lieber, die nur einen Wert ermitteln, den irgendwo ablegen (Tag, Datenbank, Gehirn des Moderators zum Faden, …) anstatt jedes Audioframe einer Datei zu verändern. Ich gehe immer noch davon aus, dass der Originator der Datei sich dabei was gedacht hat, sie eben genau so zu machen wie sie ist … Was ich (oder mein mAirList, mein Compressor/Limiter, …) dann hinten draus mache – ohne das Original zu verändern – ist meine Sache.

Ich meine mich zu erinnern, dass man diesen »ReplayGain-Wert« auch an die BASS.dll übergeben kann und die dann »die Arbeit« übernimmt, habe das aber jetzt nicht überprüft. Ich vermute aber, das meinte Torben weiter oben auch.

EDIT: Für BASS würde ich wohl als ersten Ansatz sowas wie
Code: [Select]
BASS_SetConfig(BASS_CONFIG_CURVE_VOL, TRUE); // set dB scale 0..1 = 0..-100 dB
BASS_ChannelSetAttribute(handle, BASS_ATTRIB_VOL, replaygain_track_gain/100);
versuchen. BASS_FX kann das natürlich bestimmt viel »schöner«, aber wenn man das erstmal anfängt, schreien eh gleich alle nach Effekten, Pitch, Tempo und BPM …

EDIT 2: Das ist natürlich nur ein erster Ansatz … some thinking required … weil immerhin auch positive RG-Werte möglich sind (dann würde das so nicht direkt funktionieren).

4
Feature-Requests / Re: Ausgabepegel verwalten
« on: November 17, 2008, 05:28:31 »
Mal kurz weg von den Grundsatz-Diskussionen und hin zur Praxis der »Kleinsender«: Ich fände es durchaus wünschenswert, wenn mAirList eine (abschaltbare) Option »ReplayGain Tag auswerten« hätte.

Das würde es einigen etwas einfacher machen, MPEG-Audio nicht mit frameweise arbeitenden »Schrittchen-Gainern« wie MP3Gain zu misshandeln, sondern tatsächlich Replay Gain anzuwenden und dabei das Audiomaterial zwar zu analysieren, aber unverändert zu lassen und lediglich entsprechende Tags in die Datei zu setzen. Geeignete Tools dazu gibt es ja.

In der Alltagspraxis des »Kleinradios« ist es eben oft einfach so, dass MP3-Material verwendet wird und gerade dort oft mit wenig Kenntnis, aber dafür viel unmoderierte Strecke gefahren wird.

Was spräche also dagegen, eine (abschaltbare) Option à la Winamp zu haben, die ReplayGain-Tags »anwendet«? Sicher ist das nicht die »richtige« Lösung, aber für eine gute Ausspielsoftware wie mAirList m. E. eine sehr praxisgerechte – zudem vielleicht eine, die mehr »Klick-in-the-Box-User« zum Arbeiten mit mAirList bringt.

Zudem würde diese Lösung nicht der weiter oben propagierten »Datenbank-Variante« entgegenstehen, sondern sie im Gegenteil unterstützen, da man für den MP3-Teil des vorhandenen Audio-Materials die schon vorhandenen Werte ohne Neuberechnung übernehmen könnte. (Den Datenbank-Vorschlag finde ich übrigens recht sinnvoll, weil formatübergreifend. But why not have the best of both worlds?)



Für Torben: MP3Gain speichert (leider) ReplayGain-Tags nur als APEv2, es gibt aber Tools, die das auch in ID3v2 ablegen – das bevorzuge ich zum Beispiel: Nur eine wohldefinierte Sorte Tags und sonst nix. Falls Du in der Richtung aktiv werden möchtest, stehe ich gern mit weiteren Einzelheiten, Tests und ggf. Testdaten zur Verfügung.

Beispiel eines ID3v2-Tag-Sets (ID3v2.3/ISO 8859-1, alles TXXX Tags):
replaygain_track_gain -5.24 dB
replaygain_track_peak 0.839617
replaygain_album_gain -6.08 dB
replaygain_album_peak 1.003601


APEv2-Tags (von MP3Gain) sehen so aus (Beispiel):
REPLAYGAIN_TRACK_GAIN -0.725000 dB
REPLAYGAIN_TRACK_PEAK 0.499239
REPLAYGAIN_ALBUM_GAIN -0.725000 dB
REPLAYGAIN_ALBUM_PEAK 0.499239


Für Radio-Betrieb dürften »Track Gain« und »Track Peak« interessant sein, aber man könnte es natürlich auswählbar machen.

Für den Tag Reader würde ich vorschlagen, eine wählbare Priorisierung zu machen:
  • Erst APEv2, dann ID3v2, dann ID3v1 lesen (als Default, da leider noch sehr viele Leute MP3Gain benutzen)
  • Erst ID3v2, dann ID3v1, dann APEv2 lesen

Verbreitete Praxis ist außerdem eine (abschaltbare) Option, alle Dateien ohne ReplayGain-Tags um einen (einstellbaren, meist auf -6dB voreingestellten) festen Wert abzusenken.

5
Torben,

may I point yout at this thread over at the MP3Tag Forums?

Some mAirList user has problems accessing the mAirList ID3 tag to get at the XML and we found that apparently something is odd with mAirList’s tag writing.

Thanks!

Pages: [1]