Linuchs: Wie genau (Takte zu Ablaufzeit) sind mp3-Dateien?

Beitrag lesen

Das hat dann aber keine Taktwechsel, Ritardandos, Fermaten, ...

Ja, ich habe ein ungeklärtes Problem. Habe eine Ablaufgrafik hinzugefügt. Grün sind die aktiven Takte (keine Pause für diese Stimme):

Der Snapshot zeigt den Einsatz des Basses eine s zu früh. Takt 50 wäre richtig. Eine Sekunde (zähle ein-und-zwan-zig) zu früh in eine Pause reinsingen kann nicht akzeptiert werden.

Deshalb die rot-grauen Balken zum ausmessen. Oben korrekt 127 Takte in 12 10 Takt Einheiten +, darunter korrekt 4:03 min in 24 10s Einheiten +.

Die Gesamtdauer 4:03 der Masterspur (erste) ermittle ich mit

arr_ausgewaehlte_audios[0].addEventListener( 'canplaythrough', function () {
  durationSec = this.duration.toFixed(2);  // Sekunden mit 2 Nachkommastellen
  let arr     = durationSec.split(".");
  minuten     = ("00" + Math.floor( arr[0] / 60 )) . slice(-2);
  sekunden    = ("00" + ( arr[0] - minuten * 60 )) . slice(-2);
  if ( document.querySelector( "#duration" ) ) {
    document.querySelector( "#duration" ).innerHTML = minuten +":" +sekunden;
  }
});

und die laufende Zeit mit

var audioTimer = setInterval( getCurrentTime, 200 );
...
function getCurrentTime() {
  runningTime = arr_ausgewaehlte_audios[0].currentTime.toFixed(2);
  // #laufbalken weitersetzen, durationSec (Sekunden mit 2 Nachkommastellen)
  var arr     = runningTime.split(".");
  minuten     = ("00" + Math.floor( arr[0] / 60 )) . slice(-2);
  sekunden    = ("00" + ( arr[0] - minuten * 60 )) . slice(-2);
  if ( document.querySelector( "#laufbalken" ) ) {
    document.querySelector( "#laufbalken" ).style.left  = 100 / durationSec * runningTime +"%"; // hundertstel Sekunden
    document.querySelector( "#laufbalken" ).innerHTML   = " " +minuten +":" +sekunden;
}

Habe überlegt, ob da ein Rundungsfehler vorliegen kann, aber nicht gefunden. Eine andere Frage wäre, ob das Programm MuseScore genau gleiche Taktlängen beim mp3-Export erzeugt.

Als ich die Bass-mp3 als Master genommen habe, ist die duration 04:04