MP3 → WAV-Konvertierung mit Python

Vorwort

Es wird der erste Beitrag sein. Normalerweise verwende ich C # er [^ 1], um eine robuste Desktop-App zu entwickeln, aber ich werde an Python arbeiten, um mein Wissen zu verbreiten. Vorderes Ende? Kannst du es essen? Python ist ziemlich frisch, weil ich in der Welt lebe.

Thema

Meine Tochter, die voll mit MMD [^ 2] ist, geht nacheinander zur Konvertierungsseite, um das Dateiformat zu konvertieren, und lädt die Datei hoch, sodass sie nur mit meinem eigenen PC ohne solche Probleme ausgeführt werden kann. Ich entschied mich für einen Konverter. Diesmal handelt es sich um eine MP3 → WAV-Konvertierung zur Verwendung mit MMD.

Entwicklungsumgebung

Ich habe es nachgeschlagen

Wenn Sie mit "python mp3 wav" googeln, können Sie es anscheinend mit einer Bibliothek namens pydub konvertieren, daher habe ich es sofort eingeführt.

> pip install pydub

Benötigen Sie ffmpeg? Ich verstehe, ist es eine Wrapper-ähnliche Bibliothek von ffmpeg? Ich denke, ich sollte den Befehl ffmpeg selbst auswählen und schreiben, aber es ist eine gute Idee, also werde ich mich um pydub kümmern.

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

Ich wollte nur die Erweiterung ersetzen, aber es stellte sich heraus, dass es sich um einen unordentlichen Code handelte. Im Wesentlichen ...

Es ist nur so dass. Ich frage mich, warum C # er "os.path ..." schreiben sollte, obwohl es als "import os" geschrieben ist.

Operation

Nun, ich habe bestätigt, dass es wie erwartet funktioniert, aber selbst wenn ich diese mp32wav.py auf den Desktop lege, ist D & D nicht möglich. Bereiten Sie also eine Batch-Datei vor.

mp32wav.bat


@echo off
py mp32wav.py %1

Erstellen Sie eine Verknüpfung für diese Batchdatei auf Ihrem Desktop und D & D die MP3-Datei, die Sie konvertieren möchten, um eine WAV im selben Ordner wie die Originaldatei zu generieren. Herzliche Glückwünsche.

Aber ...

Anscheinend ist dies ein bekanntes Problem, aber wenn Sie ihm einen Dateinamen geben, der Leerzeichen in voller Breite enthält, wird er dort abgeschnitten. Es ist kein Problem, wenn Sie auch den Raum mit halber Breite zitieren, und es scheint, dass der zitierte zum Zeitpunkt von D & D als Befehlszeilenargument übergeben wird, aber er funktioniert im Fall mit Raum mit voller Breite nicht gut. Ich werde den Testcode in C # schreiben

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();
}

Wenn Sie dies aus einer Batch-Datei aufrufen und "aaa bbb.txt" (Speicherplatz halber Breite) und "aaa bbb.txt" (Speicherplatz voller Breite) essen,

Raum halber Breite


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

Raum in voller Breite


len=1
C:\Tmp\aaa

Es wird sein.

Normalerweise werden Leerzeichen in voller Breite nicht für Ordnernamen und Dateinamen verwendet, aber das Betriebssystem lässt solche Namen zu, und einige Benutzer kennen möglicherweise Leerzeichen in halber Breite und Leerzeichen in voller Breite überhaupt nicht. Daher sind einige Maßnahmen erforderlich. Ich denke. Ich sagte meiner Tochter, dass ich nur halb so breite Leerzeichen für den Ordnernamen und den Dateinamen verwenden könne, und ich habe dies vorerst vermieden (es gibt keine Möglichkeit, dass es keine Problemumgehung gibt ...). [^ 1]: Ist VB.NET mit C # 7.5 und VB6 2.0 mit 0.5?

Recommended Posts

MP3 → WAV-Konvertierung mit Python
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
So messen Sie die Wiedergabezeit von MP3-Dateien mit Python
[Python] Wie man MP3-Daten fFT
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
Schön dich mit Python zu treffen
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Konvertieren Sie die Liste mit Python in DataFrame
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Was tun mit PYTHON Release?
So berechnen Sie das Datum mit Python
Mit Python 3 einfach auf Twitter posten
Ich möchte mit Python debuggen
So spielen Sie Musikdateien (WAV / MP3) auf Raspberry Pi Python ab
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Englische Spracherkennung mit Python [Rede zu Text]
Konvertieren Sie Memos sofort mit Python 2to3
HTML-Mail mit Bild zum Senden mit Python
Memo, um nach KPI mit Python zu fragen
Python nur mit Hallo, Welten zu erinnern
Geben Sie Farbzeichen mit Python zu hübsch aus
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Python-Protokoll mit GAE an die Konsole ausgeben
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
Fraktal zum Erstellen und Spielen mit Python
Ich wollte ABC160 mit Python lösen
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
So arbeiten Sie mit BigQuery in Python
[Einführung in Python] Verwenden wir foreach mit Python
Einzelpixel-Kamera zum Erleben mit Python
Ich möchte Protokolle mit Python analysieren
Wie man einen Taschentest mit Python macht
Ich möchte mit aws mit Python spielen
So zeigen Sie Python-Japanisch mit Lolipop an
Versuch, SQLite3 mit Python zu handhaben [Hinweis]
[Teil1] Scraping mit Python → Organisieren Sie bis zu CSV!
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Fügen Sie Bildern mit Python2.7 Gaußsches Rauschen hinzu
Wie man mit Python-Flüchen Japanisch eingibt
Laden Sie einfach mp3 / mp4 mit Python und youtube-dl herunter!
Konvertieren Sie chinesische Zahlen mit Python in arabische Zahlen
Stellen Sie mit dem Python-Interpreter von PEPPER Mac eine Verbindung zu Pfeffer her