Конвертация Midi в MP3

Из личного опыта. Есть 2 основных способа конвертации midi файлов в формат mp3. В первом случае Вам не повезело — у Вас Microsoft Windows (не важно какой версии) и Вам нужно будет покупать специальный софт и использовать режим live для такой конвертации.

Почему live? Потому что весь софт под винду делает конвертацию midi в mp3 путем проигрывания файла и переписывания в wav, а потом сжимания в mp3. Это крайне не удобно, потому что:

1) Ваша звуковая карта может не иметь midi-маппера (например, встроенный звуковой чип в мат.плату) — это нужно, чтобы избежать сторонних звуков в wav файле
2) Если это batch сотни midi файлов, то это займет до фига времени

НО! Вам повезло, если у Вас есть линукс (или вообще любая *nix ОС). Делюсь опытом и предлагаю вам очень простой способ, который сделает батч из 300-350 файлов примерно за 10-15 минут (зависит от «железа»). BASH-скриптинг — это вообще необходимая вещь в консоли. Итак, создаем файл midi2mp3.sh и пишем в него следующее:

BASE=/home/slaff/converting

for file in $BASE/midi/*.mid
do

out=`basename $file .mid`
echo «$file $out»
MP3OUTPUT="$BASE/$out.mp3"

if [ ! -e "$MP3OUTPUT" ]
then
timidity $file -Ow -o"./$out.wav"
lame --scale 2 --resample 11.025 -b 16 «$out.wav» «$MP3OUTPUT»
rm -f $out.wav
fi

done

Чтобы это работало, Вам понадобиться 2 библиотеки:

  • TiMidity++ — это софтверный синтезатор.
  • lame — всем известный mp3 кодек.

Скрипт довольно простой и понятный. Сначала мы задаем абсолютный путь к папке, где будем конвертировать. Затем цикл, в котором указываем директорию в midi-файлами. После чего идет конвертация в WAV и далее сжатие в mp3 и сохранение файла в указанной выше директории $BASE.

Положите этот скрипт где-нибудь рядом, в туже папку например. Запустите в консоли и будет вам счастье и куча съэкономленного времени.

  • А для тех, кто разбирается в сведении музыки — лучшее решение — GarageBand. Импортируем MIDI, программа автоматически разобьет инструменты на треки. Потом делаем всякие хорошие вещи с ними и экспортируем в iTunes.

    Огромный плюс такого подхода — в GarageBand хорошие инструменты.

  • Я тут про batch-процессы и конвертацию вообще-то, а не про сведение сэмплов ;)

  • А какой смысл в конвертации midi в mp3? Батч — это хорошо и правильно, но я поддержу Дмитрия, ибо хорошие инструменты куда как важнее батч-процесса :)

    А как быть если (как одно время было модно) — под каждый миди файл — свой soundbank (sf, sf2 например)?

  • [quote post="963"]А какой смысл в конвертации midi в mp3? [/quote]

    Пример. У тебя 500 полифонических рингтонов примерно по 20-30 секунд каждый (примерно 3 часа 40 минут проигрывания через софт-конвертер) (ДА! В мире еще используют полифонию во всю ;) ) в midi формате. По закону (любой страны) контент-провайдер не имеет права предоставлять для прослушивания midi-файлы рингтонов, но разрешается для web-preview использовать mp3. Желательно избежать возможных скачиваний. Поэтому делается flash-плеер и воспроизводишь midi.

    Как ты будешь конвертировать эти midi? Через SF (GB, Sony Vegas и т.п.) или батч-скриптом?

    О потере качества через этот батч. Все зависит от конечных нужд. Если вам нужен mp3 в 320 kbits и 44.2 khz, то просто измените значение в строке с lame ;)

  • А ну если задача такая, то конечно. Я просто, как музыкант видел в конвертации миди в мп3 только одно направление, и о такой массовости речь у меня, конечно же, не шла :)

    44.2? нет уж, увольте! 48кГц :))

  • [quote post="963"]44.2? нет уж, увольте! 48кГц :))[/quote]

    Да пожалуйста! :)

    lame -t -m stereo--resample 48 -b 16 «file_org.mp3» «file_48.mp3»

  • Спасибо! :))))

  • Желающим можно под виндой гонять этот скрипт из-под cygwin'а, либо сделать батник с for /r или что там в виндах. timidity есть под win32. Единственный недостаток — под win64 ни цигвина, ни тимидити нет.

  • of course they are my Transformers! The first generation. Awesome.

    Also awesome: Russia getting the Olympics!

Ваш комментарий

XHTML: вы можете воспользоваться следующими тагами: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>