Author Topic: Ausgabepegel verwalten  (Read 7893 times)

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Re: Ausgabepegel verwalten
« Reply #75 on: September 28, 2010, 16:38:40 »
Der Dialog wird demnächst umgestaltet, dann werde ich den Vorschlag berücksichtigen.

Scrat

  • Regular
  • *
  • Posts: 545
  • Home-Studio-User
    • View Profile
    • RMNradio... Music, Fun & More!
Re: Ausgabepegel verwalten
« Reply #76 on: October 25, 2010, 14:36:49 »
Also, ich hol' das mal wieder nach oben:

Ich habe mit foobar bei einer einzelnen Datei testweise einmal mit 89db und einmal mit 98db gescannt. Aus unerfindlichen Gründen wird jedesmal ein Wert von -9 db ermittelt (Track-Gain, Prevent clipping). Bin ich nun zu doof?

Der Hintergrund ist für mich, das die Dateien viel zu leise sind, ich muss da bei voll ausgesteuerter Soundkarte am Pult (Behringer DX1000) den Gain-Poti auf ca. +10 db stellen, damit ich auf einen anständigen Arbeitspegel komme.

Die gleiche Datei habe ich dann mal als Kopie mit mp3trim (http://www.mptrim.com) auf 0db trimmen lassen und siehe da: Der Pegel ist normal bzw. für mich gut zu verwenden (Gain-Poti auf 0, Kanalfader auf 0 und das Levelmeter geht auch bis maximal 0).

Unterliege ich jetzt nun einem sehr fatalen Verständnisfehler, was ReplayGain angeht?
Lieber auf neuen Wegen stolpern als in alten Pfaden auf der Stelle treten!

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Re: Ausgabepegel verwalten
« Reply #77 on: October 25, 2010, 19:10:24 »
Ich glaube, ReplayGain pegelt generell etwas leiser, damit genug Headroom nach oben ist.

711andi

  • Newbie
  • *
  • Posts: 17
    • View Profile
    • Email
Re: Ausgabepegel verwalten
« Reply #78 on: January 22, 2011, 12:59:24 »
Das Script findet bei mir keinen Unterschied, obwohl ich für alle Dateien nun einen Gain Wert im Tag habe.

Beim Import in eine leere Datenbank wird dieser auch korrekt vom File übernommen.

Anhand des Logs kann ich erkennen, dass das Script sowohl die komplette bestehende Datenbank als auch die Files einliest aber nicht mehr in die if Verzweigung kommt. ('Amplification has changed')

Hat wer eine Idee warum IAmplifyable(pi2).GetAmplification immer 0 liefert  ???

711andi

  • Newbie
  • *
  • Posts: 17
    • View Profile
    • Email
Re: Ausgabepegel verwalten
« Reply #79 on: March 09, 2011, 15:22:57 »
Habe mein Problem zwischenzeitlich selbst lösen können.

Falls noch jemand die Lautstärke nachträglich vom "neuen" File Tag in die Datenbank übernehmen möchte, soll beim Skript nicht [fitTags] sondern [fitNativeTags] verwednen.
So hat es bei mir zumindest jetzt reibungslos funktioniert.

pi2 := IFilePlaylistItem(Factory.CreatePlaylistItemFromFile(pi1.GetFilename, [fitNativeTags]));

parn

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re: Ausgabepegel verwalten
« Reply #80 on: July 20, 2011, 19:34:51 »
Hallo miteinander

Kurze Rückfrage - und ich weiss, der Thread ist recht alt, aber dennoch:

Ich habe das Script von Torben mit Überarbeitung von 711andi zum Import der Gain-Tags in die bestehende Datenbank genutzt.
Das Script hat "nur" 86 Elemente von ca. 9'000 in der Datenbank verarbeitet, dauerte aber recht lange.

Hat jemand eine Idee, woran dies liegen könnte?


EDIT:
mAirList-Version
3.1.7, Build 958

Genutztes Script:
Quote
var
  stmt: IZPreparedStatement;
  rs: IZResultSet;
  ts: TStringList;
  i: integer;
  pi1, pi2: IFilePlaylistItem;

begin
  ts := TStringList.Create;
  try

    // Fetch all File item IDs - we need to lock the database in order to
    // protect the connection
    Database(0).BeginRead;
    try
      stmt := ImAirListDB(Database(0)).GetConnection.PrepareStatement(
        'SELECT idx FROM items WHERE xmltype=''File'''
      );
      rs := stmt.ExecuteQueryPrepared;
      while rs.Next do
        ts.Add(rs.GetString(1));
    finally
      Database(0).EndRead;
    end;
   
    SystemLog('Found ' + IntToStr(ts.Count) + ' files.');

    for i := 0 to ts.Count - 1 do begin
      // load first item from database
      pi1 := IFilePlaylistItem(Database(0).CreatePlaylistItem(ts));
      SystemLog(pi1.GetFilename);

      try
        // create second item directly from the file, read tags
        //pi2 := IFilePlaylistItem(Factory.CreatePlaylistItemFromFile(pi1.GetFilename, [fitTags]));
     pi2 := IFilePlaylistItem(Factory.CreatePlaylistItemFromFile(pi1.GetFilename, [fitNativeTags]));

        // Is the amplification different from the one stored in the database?
        if IAmplifyable(pi1).GetAmplification <> IAmplifyable(pi2).GetAmplification then begin
          SystemLog('Amplification has changed');

          // Copy amplification over to the database item
          IAmplifyable(pi1).SetAmplification(IAmplifyable(pi2).GetAmplification);

          // write changes back to the database
          Database(0).SavePlaylistItem(pi1);
        end;
      except
        SystemLog('Error');
      end;
    end;
     


  finally
    ts.Free;
  end;

end.
« Last Edit: July 20, 2011, 20:05:35 by parn »