So messen Sie die Wiedergabezeit von MP3-Dateien mit Python

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.

Wie man Mutagen verwendet

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)))

Wie benutzt man Pysox?

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

So messen Sie die Wiedergabezeit von MP3-Dateien mit Python
So messen Sie die Ausführungszeit mit Python Teil 1
So messen Sie die Ausführungszeit mit Python Part 2
Lesen einer CSV-Datei mit Python 2/3
[Python] Wie man Excel-Dateien mit Pandas liest
So messen Sie die Verarbeitungszeit mit Python oder Java
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
[Python] Wie man MP3-Daten fFT
Python: So verwenden Sie Async mit
[Python] Mit Python in eine CSV-Datei schreiben
Ausgabe in eine CSV-Datei mit Python
MP3 → WAV-Konvertierung mit Python
Erste Schritte mit Python
Python: Verwendung von pydub (Wiedergabe)
So berechnen Sie das Datum mit Python
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
Lesen einer Excel-Datei (.xlsx) mit Pandas [Python]
[Python] So konvertieren Sie eine Datenbankdatei in CSV
So konvertieren Sie Python in eine exe-Datei
So arbeiten Sie mit BigQuery in Python
Wie man einen Taschentest mit Python macht
So zeigen Sie Python-Japanisch mit Lolipop an
Wie man mit Python-Flüchen Japanisch eingibt
So schreiben Sie offline in Echtzeit Lösen von F01-Problemen mit Python
[ROS2] So spielen Sie eine Bag-Datei mit Start im Python-Format ab
So installieren Sie Python3 mit Docker Centos
So berechnen Sie "xx time" in einem Schuss mit Python timedelta
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Wie man offline in Echtzeit schreibt Ich habe versucht, E12 mit Python zu lösen
Hochladen mit Heroku, Flask, Python, Git (4)
Wie man Spaß am Programmieren mit Minecraft hat (Ruby, Python)
[REAPER] Wie man Reascript mit Python spielt
So führen Sie eine Mehrkern-Parallelverarbeitung mit Python durch
Strategie zur Monetarisierung mit Python Java
So implementieren Sie die Time-Wait-Verarbeitung mit wxpython
So erstellen Sie eine JSON-Datei in Python
[Python] Zeichnen mehrerer Diagramme mit Matplotlib
Konvertieren Sie die SVG-Datei mit Python in png / ico
So beschneiden Sie ein Bild mit Python + OpenCV
So legen Sie Attribute mit Mock of Python fest
Wie man tkinter mit Python in Pyenv benutzt
[Python] Umgang mit japanischen Zeichen mit openCV
Ich möchte mit Python in eine Datei schreiben
[Python] Vergleichen von Datum und Uhrzeit mit der hinzugefügten Zeitzone
So installieren Sie Python
So installieren Sie Python
So legen Sie Google Text & Tabellen in einem Ordner zusammen in einer TXT-Datei mit Python ab
Hochauflösende akustische Signalverarbeitung (1) - Lesen einer 24-Bit-WAV-Datei mit Python
So konvertieren / wiederherstellen Sie einen String mit [] in Python
So fügen Sie HDA Hilfe hinzu (mit Python-Skriptbonus)
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
So kratzen Sie Bilddaten von Flickr mit Python
So führen Sie eine Hash-Berechnung mit Salt in Python durch
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Hochladen mit Heroku, Flask, Python, Git (Teil 3)
So führen Sie Tests zusammen mit Python unittest aus
[Python] So legen Sie den Download-Speicherort mit youtube-dl fest