Bibliothèque Python pour la conversion de fichiers MP3 et l'établissement de leurs qualité
J'essaie de trouver une bibliothèque Python qui prendrait un fichier audio (par exemple .ogg, .wav) et de le convertir en mp3 pour la lecture sur une page web.
Aussi, toute réflexion sur la définition de sa qualité pour la lecture serait génial.
from pydub importAudioSegmentAudioSegment.from_file("/input/file").export("/output/file", format="mp3")
Facile!
pour spécifier un débit, il suffit d'utiliser la bitrate kwarg...
from pydub importAudioSegment
sound =AudioSegment.from_file("/input/file")
sound.export("/output/file", format="mp3", bitrate="128k")
C'est très joli! Pouvez-vous préciser la qualité du MP3? J'aimerais l'utiliser dans un projet, mais ne pas être capable de définir la qualité d'un show-bouchon pour moi. est-il un moyen de configurer un débit de fichier de sortie? en effet, il y est! si cela peut vous aider. s'il vous plaît vous assurer d'installer ffmpeg à partir de ffmpeg.org/download.html et avoir dans votre chemin de l'exécutable. pydub l'exige. que voulez-vous dire quand vous dites chemin de l'exécutable? le python chemin de la racine? pouvez-vous veuillez donner des précisions? J'ai télécharger ffmpeg mais vous ne savez pas où l'extraire. Je suis habitué à la simple exécution d'une exe fichier. Ne ressemble pas à l'emballage en a un.
L'entrée filesrc location=... pourrait être n'importe quoi gstreamer peut jouer, pas seulement .wav. Vous pouvez ajouter quelque chose appelé un bouchons de filtre de ré-échantillonner à une fréquence spécifique avant l'encodage.
Dans votre programme en Python vous utilisez gst.parse_launch(...), obtenir le filesrc et filesink éléments, et appelez des poseurs de changer l'entrée et la sortie des noms de fichiers.
Aussi, le Python Outils Audio devrait être en mesure de faire le travail avec moins de besoin pour d'autres bibliothèques, qui pourrait être plus facile si vous êtes en train de faire cela sur un compte d'hébergement web partagé. (Mais certes je n'ai pas essayé, donc je ne peux pas confirmer l'utilisation de la il est.)
Vous pouvez utiliser le module ctypes d'appeler directement les fonctions de bibliothèques dynamiques. Il ne vous oblige pas à installer Python externe libs et il a de meilleures performances que les outils de ligne de commande, mais il est généralement plus difficile à mettre en œuvre (en plus des cours, vous devez fournir une bibliothèque externe).
wow, ne savais pas comment cela a été fait. Gros +1 pour comment appeler les bibliothèques dynamiques.
Une autre option pour éviter l'installation de modules Python pour cette simple tâche serait de simplement exec "boiteux" ou d'autres de la ligne de commande du codeur de script Python (avec le popen module.)
Ressemble PyMedia fait ceci:
http://pymedia.org/
et quelques infos ici sur la conversion de différents formats, tout en réglant le débit:
http://pymedia.org/tut/recode_audio.html
par exemple
OriginalL'auteur Jon
J'ai écrit une bibliothèque conçus pour le faire =D
Facile!
pour spécifier un débit, il suffit d'utiliser la
bitrate
kwarg...est-il un moyen de configurer un débit de fichier de sortie?
en effet, il y est!
si cela peut vous aider. s'il vous plaît vous assurer d'installer ffmpeg à partir de ffmpeg.org/download.html et avoir dans votre chemin de l'exécutable. pydub l'exige.
que voulez-vous dire quand vous dites chemin de l'exécutable? le python chemin de la racine? pouvez-vous veuillez donner des précisions? J'ai télécharger
ffmpeg
mais vous ne savez pas où l'extraire. Je suis habitué à la simple exécution d'uneexe
fichier. Ne ressemble pas à l'emballage en a un.OriginalL'auteur Jiaaro
- Je utiliser les liaisons Python pour gstreamer. C'est un peu dur à démarrer, mais une fois que vous allez à peu près tout est possible.
À partir de la ligne de commande (à partir de gstreamer de la documentation):
L'entrée
filesrc location=...
pourrait être n'importe quoi gstreamer peut jouer, pas seulement .wav. Vous pouvez ajouter quelque chose appelé un bouchons de filtre de ré-échantillonner à une fréquence spécifique avant l'encodage.Dans votre programme en Python vous utilisez
gst.parse_launch(...)
, obtenir le filesrc et filesink éléments, et appelez des poseurs de changer l'entrée et la sortie des noms de fichiers.OriginalL'auteur joeforker
Aussi, le Python Outils Audio devrait être en mesure de faire le travail avec moins de besoin pour d'autres bibliothèques, qui pourrait être plus facile si vous êtes en train de faire cela sur un compte d'hébergement web partagé. (Mais certes je n'ai pas essayé, donc je ne peux pas confirmer l'utilisation de la il est.)
OriginalL'auteur ewall
Vous pouvez utiliser le module ctypes d'appeler directement les fonctions de bibliothèques dynamiques. Il ne vous oblige pas à installer Python externe libs et il a de meilleures performances que les outils de ligne de commande, mais il est généralement plus difficile à mettre en œuvre (en plus des cours, vous devez fournir une bibliothèque externe).
OriginalL'auteur Tupteq
Une autre option pour éviter l'installation de modules Python pour cette simple tâche serait de simplement exec "boiteux" ou d'autres de la ligne de commande du codeur de script Python (avec le popen module.)
OriginalL'auteur juanjux