Comment mesurer le temps de lecture d'un fichier mp3 avec python

Il existe deux façons d'obtenir la durée d'un fichier mp3. L'un consiste à utiliser un mutagène et l'autre à utiliser du pysox. Chaque méthode a ses forces et ses faiblesses.

La méthode utilisant le mutagène est plus légère et plus rapide que la méthode utilisant le pysox.

C'est pourquoi mutagen ne vérifie que la balise ID3 du fichier mp3. D'autre part, pysox semble utiliser la CLI Sox pour vérifier le binaire du fichier mp3.

La méthode pysox peut déterminer la durée sans utiliser les informations ID3, c'est-à-dire qu'elle peut reconnaître des fichiers avec des informations ID3 invalides ou des fichiers sans informations ID3. En utilisant pysox, vous pouvez vérifier la durée sans utiliser les informations ID3, c'est-à-dire que vous pouvez détecter la durée du fichier avec des informations ID3 invalides ou du fichier sans informations ID3.

Comment utiliser le mutagène

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

Comment utiliser 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

Comment mesurer le temps de lecture d'un fichier mp3 avec python
Comment mesurer le temps d'exécution avec Python Partie 1
Comment mesurer le temps d'exécution avec Python, partie 2
Comment lire un fichier CSV avec Python 2/3
[Python] Comment lire des fichiers Excel avec des pandas
Comment mesurer le temps de traitement avec Python ou Java
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
[Python] Comment FFT des données mp3
Python: comment utiliser async avec
[Python] Ecrire dans un fichier csv avec Python
Sortie vers un fichier csv avec Python
Conversion MP3 → WAV avec Python
Comment démarrer avec Python
Python: Comment utiliser pydub (lecture)
Comment calculer la date avec python
[Python Kivy] Comment créer un fichier exe avec pyinstaller
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
[Python] Comment convertir un fichier db en csv
Comment convertir Python en fichier exe
Comment utiliser BigQuery en Python
Comment faire un test de sac avec python
Comment afficher le japonais python avec lolipop
Comment entrer le japonais avec les malédictions Python
Comment écrire hors ligne en temps réel Résolution des problèmes F01 avec Python
[ROS2] Comment lire un fichier bag avec le lancement au format python
Comment installer python3 avec docker centos
Comment calculer "xx time" en un seul coup avec Python Timedelta
Comment obtenir la différence de date et d'heure en secondes avec Python
Comment écrire en temps réel hors ligne J'ai essayé de résoudre E12 avec python
Comment télécharger avec Heroku, Flask, Python, Git (4)
Comment profiter de la programmation avec Minecraft (Ruby, Python)
[REAPER] Comment jouer à Reascript avec Python
Comment faire un traitement parallèle multicœur avec python
Stratégie sur la façon de monétiser avec Python Java
Comment implémenter le traitement du temps d'attente avec wxpython
Comment créer un fichier JSON en Python
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
Convertir un fichier svg en png / ico avec Python
Comment recadrer une image avec Python + OpenCV
Comment spécifier des attributs avec Mock of Python
Comment utiliser tkinter avec python dans pyenv
[Python] Comment gérer les caractères japonais avec openCV
Je veux écrire dans un fichier avec Python
[Python] Comment comparer la date / heure avec le fuseau horaire ajouté
Comment installer Python
Comment installer python
Comment déposer Google Docs dans un dossier dans un fichier .txt avec python
Traitement du signal acoustique haute résolution (1) - Comment lire un fichier wav 24 bits avec Python
Comment convertir / restaurer une chaîne avec [] en python
Comment ajouter de l'aide à HDA (avec bonus de script Python)
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Comment récupérer des données d'image de Flickr avec Python
Comment faire un calcul de hachage avec Salt en Python
[Introduction à Python] Comment itérer avec la fonction range?
Expliquez en détail comment créer un son avec python
J'ai essayé de toucher un fichier CSV avec Python
Comment télécharger avec Heroku, Flask, Python, Git (Partie 3)
Comment exécuter des tests avec Python unittest
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl