2012-04-23 17 views
14

Я смотрел на pymedia (прекращено), pyglet (отличный, но без конвертера там) и audiotools (командной строки cd ripping), и никто не кажется подходящим.Python конвертировать wav в mp3

В Python 2.7, как вы это делаете

convert(wavFileLocation, 'mp3') 

Если нет питона пути, как бы вы сделали это таким образом, что питон может ссылаться? (Например, вызовите инструмент Cross командной строки платформы ... если существует обратный (имя, pythonCodeForInvocation))

+1

который OS? В Linux есть отличные утилиты командной строки, которые позволят вам сделать это без особых проблем. – g19fanatic

+0

Linux =) Но он должен работать на mac слишком – xxjjnn

+3

для Linux, это решение дает вам ответ http://stackoverflow.com/a/6578380/496405 Использование ffmpeg также должно работать под Mac :) – g19fanatic

ответ

11

с помощью lame (командной строки), вы можете кодировать WAV в MP3, как это:

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

который бы создать:

file.wav.mp3 

в Python, вы могли бы использовать subprocess назвать:

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

Я написал python library, pydub, что по сути делает то, что предлагает ответ Кори, хотя он использует ffmpeg для совершения конверсий, чтобы поддерживать больше форматов.

from pydub import AudioSegment 

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

Спасибо @Jiarro за этот модуль! Возможно ли MP3-кодирование в реальном времени? Я разрабатываю программное обеспечение с кнопкой «ЗАПИСЬ», и я хотел бы ЗАПИСЬ (пример: с микрофонного ввода) на диск в реальном времени в mp3. Это возможно ? – Basj

+1

@Basj В настоящее время нет, вам нужно сохранить данные wav в файл на диске, а затем преобразовать его в mp3 после этого. Проведена некоторая дискуссия о поддержке работы на парах/итераторах, но до сих пор ничего не произошло – Jiaaro

3

Вы должны пойти для pydub, это отличный модуль для операций, связанных с аудиофайлами.

ПРИМЕЧАНИЕ. Не забудьте установить ffmpeg перед использованием pydub.

Для справки относительно установки ffmpeg, вы можете использовать это link.

Затем установить pydub просто откройте командную строку и введите

pip install pydub 

Затем конвертировать любой файл из WAV в MP3 просто использовать pydub в

import pydub 
sound = pydub.AudioSegment.from_wav("D:/example/apple.wav") 
sound.export("D:/example/apple.mp3", format="mp3") 
Смежные вопросы