2012-04-23 29 views
14

Ben, pymedia (üretilmiyor), pyglet (büyük ama orada hiçbir dönüştürücü yok) ve audiotools (komut satırı cd ripping) baktım ve hiçbiri uygun görünmüyor.Python, mp3'e dönüştürebilir

Python 2.7 olarak

, nasıl piton çağırabileceği bir şekilde nasıl bunu yapacağını,

convert(wavFileLocation, 'mp3') 

hiçbir piton yolu varsa

yaparsınız? hangi olur

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

:, böyle mp3, wav kodlamak lame (komut satırı) kullanarak

+1

OS kullanmak

Ardından pydub sadece komut istemi açın ve

pip install pydub 

Sonra mp3 wav herhangi bir dosyayı dönüştürmek için yazın yüklemek için? Linux'un çok fazla sorun çıkarmadan yapmanıza izin veren bazı harika komut satırı yardımcı programları vardır. – g19fanatic

+0

Linux =) Ama Linux için de – xxjjnn

+3

mac üzerinde çalıştırmak gerekiyor, bu çözüm size bir cevap verir http://stackoverflow.com/a/6578380/496405 kullanımı ffmpeg de mac altında çalışmalıdır :) – g19fanatic

cevap

11

(dönüş (adını varsa mesela), ... pythonCodeForInvocation bir Çapraz platform komut satırı aracı Çağrı) oluşturun: Python

file.wav.mp3 

, onu aramak subprocess kullanabilirsiniz:

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

python library, pydub yazdım, aslında daha fazla formatı desteklemek için dönüşümleri yapmak için ffmpeg'i kullanmasına rağmen, Corey's Answer'ın önerdiği şeyi yapıyor.

from pydub import AudioSegment 

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

Teşekkür ederiz @Jiarro for bu modül! MP3-gerçek zamanlı olarak kodlamak mümkün mü? Bir "RECORD" tuşu ile bir yazılım tasarlıyorum ve gerçek zamanlı olarak mp3'e KAYIT (örn. Mikrofon girişinden) diskini kopyalamak istiyorum. Mümkün mü ? – Basj

+1

@Basj Şu anda, hayır - wav verilerini diskteki bir dosyaya kaydetmeniz ve daha sonra mp3'e dönüştürmeniz gerekiyor. Buharlar/iteratörler için destek konusunda bazı tartışmalar oldu, ancak bugüne kadar hiçbir şey gelmedi. – Jiaaro

3

Pydub için gitmelisiniz, ses dosyaları ile ilgili işlemler için harika bir modüldür.

NOT. Pydub kullanmadan önce ffmpeg'i yüklemeyi unutmayın.

ffmpeg yüklemesiyle ilgili yardım için, bu link'u kullanabilirsiniz. Sadece pydub

olarak
import pydub 
sound = pydub.AudioSegment.from_wav("D:/example/apple.wav") 
sound.export("D:/example/apple.mp3", format="mp3") 
İlgili konular