Es gibt zwei Möglichkeiten, die Dauer einer MP3-Datei abzurufen. Eine ist die Verwendung von Mutagen und die andere die Verwendung von Pysox. Jede Methode hat ihre Stärken und Schwächen.
Die Methode mit Mutagen ist leichter und schneller als die Methode mit Pysox.
Deshalb überprüft mutagen nur das ID3-Tag der MP3-Datei. Andererseits scheint pysox die Sox-CLI zu verwenden, um die Binärdatei der MP3-Datei zu überprüfen.
Die pysox-Methode kann die Dauer ohne Verwendung von ID3-Informationen bestimmen, dh sie kann Dateien mit ungültigen ID3-Informationen oder Dateien ohne ID3-Informationen erkennen. Mit pysox können Sie die Dauer überprüfen, ohne die ID3-Informationen zu verwenden. Das heißt, Sie können die Dauer der Datei mit ungültigen ID3-Informationen oder der Datei ohne ID3-Informationen ermitteln.
from mutagen.mp3 import MP3
def mutagen_length(path):
try:
audio = MP3(path)
length = audio.info.length
return length
except:
return None
length = mutagen_length(wav_path)
print("duration sec: " + str(length))
print("duration min: " + str(int(length/60)) + ':' + str(int(length%60)))
Note: pysox needs SOX cli.
import sox
def sox_length(path):
try:
length = sox.file_info.duration(path)
return length
except:
return None
length = sox_length(mp3_path)
print("duration sec: " + str(length))
print("duration min: " + str(int(length/60)) + ':' + str(int(length%60)))
Recommended Posts