Conversion MP3 → WAV avec Python

Préface

Ce sera le premier message. J'utilise généralement C # er [^ 1] pour développer une application de bureau robuste, mais je travaillerai sur python pour diffuser mes connaissances. l'extrémité avant? Pouvez-vous le manger? Python est assez frais car je vis dans le monde.

thème

Ma fille, qui est pleine de MMD [^ 2], se rend un par un sur le site de conversion pour convertir le format de fichier et télécharge le fichier, de sorte qu'il ne peut être complété qu'avec mon propre PC sans ce genre de problèmes. J'ai décidé de faire un convertisseur. Cette fois, ce sera la conversion MP3 → WAV à utiliser avec MMD.

Environnement de développement

Je l'ai cherché

Si vous google avec "python mp3 wav", il semble que vous puissiez le convertir en utilisant une bibliothèque appelée pydub, donc je l'ai présenté immédiatement.

> pip install pydub

Eh bien, avez-vous besoin de ffmpeg? Je vois, est-ce une bibliothèque de type wrapper de ffmpeg? Je pense que je devrais choisir et écrire moi-même la commande ffmpeg, mais c'est une bonne idée, je vais donc m'occuper de pydub.

code

mp32wav.py


import pydub
import os
import sys

if __name__ == "__main__":
    mp3 = sys.argv[1]
    print(f"IN:{mp3}")

    dirname = os.path.dirname(mp3)
    baseName = os.path.splitext(os.path.basename(mp3))[0]
    wav = os.path.join(dirname, f"{baseName}.wav")
    print(f"OUT:{wav}")

    audio = pydub.AudioSegment.from_mp3(mp3)
    audio.export(wav, format='wav')

Je voulais juste remplacer l'extension, mais il s'est avéré être un code désordonné. En substance ...

C'est juste ça. Je me demande pourquoi C # er devrait écrire ʻos.path ... même s'il est écrit comme ʻimport os.

Opération

Eh bien, j'ai pu confirmer que cela fonctionne comme prévu, mais même si je mets ce mp32wav.py sur le bureau, il n'est pas possible de D & D, alors préparez un fichier batch.

mp32wav.bat


@echo off
py mp32wav.py %1

Créez un raccourci pour ce fichier de commandes sur votre bureau et D & D le .mp3 que vous souhaitez convertir pour générer un .wav dans le même dossier que le fichier d'origine. Toutes nos félicitations.

Mais ...

Apparemment, c'est un problème connu, mais si vous lui donnez un nom de fichier qui comprend des espaces pleine largeur, il y sera coupé. Il n'y a pas de problème si vous citez également l'espace demi-largeur. Au moment de D & D, il semble que celui cité soit passé comme argument de ligne de commande, mais dans le cas de l'espace pleine largeur, cela ne fonctionne pas bien. J'écrirai le code de test en C #

argsTest.cs


static void Main(string[] args)
{
    Console.WriteLine($"len={args.Length}");
    foreach (var i in Enumerable.Range(0, args.Length))
    {
        Console.WriteLine(args[i]);
    }
    Console.ReadLine();
}

De plus, si vous appelez cela à partir d'un fichier batch et mangez "aaa bbb.txt" (espace demi-largeur) et "aaa bbb.txt" (espace pleine largeur)

Espace demi-largeur


len=1
C:\Tmp\aaa bbb.txt

Espace pleine largeur


len=1
C:\Tmp\aaa

Ce sera.

Normalement, les espaces pleine largeur ne sont pas utilisés pour les noms de dossier et les noms de fichier, mais le système d'exploitation autorise de tels noms, et certaines personnes peuvent ne pas être conscientes du tout des espaces demi-largeur et pleine largeur, donc certaines mesures sont nécessaires. Je pense. J'ai dit à ma fille que je ne pouvais utiliser que des espaces demi-largeur pour le nom du dossier et le nom du fichier, et je l'ai évité pour le moment (il n'y a aucun moyen qu'il n'y ait pas de solution de contournement ...) [^ 1]: VB.NET avec C # 7.5 et VB6 2.0 avec 0.5?

Recommended Posts

Conversion MP3 → WAV avec Python
Connectez-vous à BigQuery avec Python
Connectez-vous à Wikipedia avec Python
Publiez sur Slack avec Python 3
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Comment mesurer le temps de lecture d'un fichier mp3 avec python
[Python] Comment FFT des données mp3
Python: comment utiliser async avec
Lien pour commencer avec python
[Python] Ecrire dans un fichier csv avec Python
Ravi de vous rencontrer avec python
Essayez d'exploiter Facebook avec Python
Sortie vers un fichier csv avec Python
[Python] Fichiers wav POST avec requêtes [POST]
Convertir la liste en DataFrame avec python
Pour faire une récursion avec Python2
Comment démarrer avec Python
Que faire avec la sortie de PYTHON?
Comment calculer la date avec python
Publiez facilement sur Twitter avec Python 3
Je veux déboguer avec Python
Comment lire des fichiers musicaux (wav / mp3) sur Raspberry Pi python
Essayez de reproduire un film couleur avec Python
Essayez de vous connecter à qiita avec Python
Changer l'environnement Python 64 bits en environnement 32 bits avec Anaconda
Reconnaissance vocale en anglais avec python [speech to text]
Convertir un mémo à la fois avec Python 2to3
mail html avec image à envoyer avec python
Mémo pour demander des KPI avec python
python à retenir uniquement avec bonjour, mondes
Sortir les caractères de couleur en joli avec python
Introduction au remplissage d'image Python Remplissage d'image à l'aide d'ImageDataGenerator
Sortie du journal Python vers la console avec GAE
Convertir des données Excel en JSON avec python
Convertir Hiragana en Romaji avec Python (bêta)
Fractal pour faire et jouer avec Python
Je voulais résoudre ABC160 avec Python
Connectez-vous à MySQL avec Python dans Docker
Comment utiliser BigQuery en Python
[Introduction à Python] Utilisons foreach avec Python
Caméra à pixel unique à expérimenter avec Python
Convertissez des données FX 1 minute en données 5 minutes avec Python
Je veux analyser les journaux avec Python
Comment faire un test de sac avec python
Je veux jouer avec aws avec python
Comment afficher le japonais python avec lolipop
Essayer de gérer SQLite3 avec Python [Note]
[Part1] Scraping avec Python → Organisez jusqu'à csv!
Connectez-vous à s3 avec AWS Lambda Python
Ajouter du bruit gaussien aux images avec python2.7
Comment entrer le japonais avec les malédictions Python
Téléchargez facilement des mp3 / mp4 avec python et youtube-dl!
Convertir des nombres chinois en nombres arabes avec Python
Connectez-vous à Pepper avec l'interpréteur Python de PEPPER Mac