2012-04-23 12 views
14

Ich habe mir pymedia (eingestellt), pyglet (groß, aber kein konverter in dort) und audiotools (cd ripping command line), und keine scheinen geeignet.Python konvertieren wav zu mp3

In Python 2.7, wie geht es Ihnen

convert(wavFileLocation, 'mp3') 

Wenn keine Python Art und Weise gibt, wie würden Sie es in einer Weise tun, die Python aufrufen kann? (ZB Anruf ein Cross-Plattform-Befehlszeilentool ... wenn Rückkehr vorhanden ist (Name, pythonCodeForInvocation))

+1

die OS verwenden eine beliebige Datei von WAV in MP3 zu konvertieren? Linux verfügt über einige großartige Befehlszeilen-Dienstprogramme, mit denen Sie dies ohne große Probleme tun können. – g19fanatic

+0

Linux =) Aber es muss auf dem Mac zu – xxjjnn

+3

für Linux laufen, diese Lösung gibt Ihnen eine Antwort http://StackOverflow.com/A/6578380/496405 Verwendung ffmpeg sollte auch unter Mac funktionieren :) – g19fanatic

Antwort

11

mit lame (Befehlszeile), Sie WAV in MP3 wie diese kodieren:

$ lame --preset insane /path/to/file.wav 

was würden erstellen:

file.wav.mp3 

in Python, Sie subprocess es nennen nutzen könnten:

wav = 'myfile.wav' 
cmd = 'lame --preset insane %s' % wav 
subprocess.call(cmd, shell=True) 
15

Ich schrieb eine python library, pydub, die im Wesentlichen das tut, was Coreys Antwort vorschlägt, obwohl sie ffmpeg verwendet, um die Umwandlungen durchzuführen, um mehr Formate zu unterstützen.

from pydub import AudioSegment 

AudioSegment.from_wav("/input/file.wav").export("/output/file.mp3", format="mp3") 
+0

Vielen Dank @Jiarro für dieses Modul! Kann ich in Echtzeit MP3-encodieren? Ich entwerfe eine Software mit einer "RECORD" -Taste, und ich möchte RECORD (Beispiel: von Mikrofon-Eingang) auf Festplatte in Echtzeit in MP3. Ist das möglich ? – Basj

+1

@Basj Derzeit nicht, nein - Sie müssen die WAV-Daten in einer Datei auf der Festplatte speichern und anschließend in mp3 konvertieren. Es gab einige Diskussionen über die Unterstützung von Steams/Iteratoren, aber bisher ist noch nichts erreicht worden – Jiaaro

3

Sie müssen für pydub gehen, es ist ein großartiges Modul für Operationen im Zusammenhang mit Audiodateien.

HINWEIS. Denken Sie daran, ffmpeg vor der Verwendung von pydub zu installieren.

Für Hilfe bei der Installation von ffmpeg können Sie diese link verwenden.

Dann installieren pydub nur Ihre Eingabeaufforderung öffnen und geben

pip install pydub 

Dann einfach pydub als

import pydub 
sound = pydub.AudioSegment.from_wav("D:/example/apple.wav") 
sound.export("D:/example/apple.mp3", format="mp3") 
Verwandte Themen