Конвертация 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
doout=`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
fidone
Чтобы это работало, Вам понадобиться 2 библиотеки:
- TiMidity++ - это софтверный синтезатор.
- lame - всем известный mp3 кодек.
Скрипт довольно простой и понятный. Сначала мы задаем абсолютный путь к папке, где будем конвертировать. Затем цикл, в котором указываем директорию в midi-файлами. После чего идет конвертация в WAV и далее сжатие в mp3 и сохранение файла в указанной выше директории $BASE.
Положите этот скрипт где-нибудь рядом, в туже папку например. Запустите в консоли и будет вам счастье и куча съэкономленного времени.
Дмитрий Честных (Jul 4th, 2007 @ 11:08 am)
А для тех, кто разбирается в сведении музыки — лучшее решение — GarageBand. Импортируем MIDI, программа автоматически разобьет инструменты на треки. Потом делаем всякие хорошие вещи с ними и экспортируем в iTunes.
Огромный плюс такого подхода — в GarageBand хорошие инструменты.
Slaff (Jul 4th, 2007 @ 11:11 am)
Я тут про batch-процессы и конвертацию вообще-то, а не про сведение сэмплов ;)
Влад (Jul 4th, 2007 @ 3:25 pm)
А какой смысл в конвертации midi в mp3? Батч - это хорошо и правильно, но я поддержу Дмитрия, ибо хорошие инструменты куда как важнее батч-процесса :)
А как быть если (как одно время было модно) - под каждый миди файл - свой soundbank (sf, sf2 например)?
Slaff (Jul 4th, 2007 @ 3:32 pm)
[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 ;)
Влад (Jul 4th, 2007 @ 3:55 pm)
А ну если задача такая, то конечно. Я просто, как музыкант видел в конвертации миди в мп3 только одно направление, и о такой массовости речь у меня, конечно же, не шла :)
44.2? нет уж, увольте! 48кГц :))
Slaff (Jul 4th, 2007 @ 4:03 pm)
[quote post="963"]44.2? нет уж, увольте! 48кГц :))[/quote]
Да пожалуйста! :)
lame -t -m stereo–resample 48 -b 16 “file_org.mp3″ “file_48.mp3″
Влад (Jul 4th, 2007 @ 5:35 pm)
Спасибо! :))))
19th (Jul 4th, 2007 @ 5:58 pm)
Желающим можно под виндой гонять этот скрипт из-под cygwin’а, либо сделать батник с for /r или что там в виндах. timidity есть под win32. Единственный недостаток - под win64 ни цигвина, ни тимидити нет.
Lisa (Jul 6th, 2007 @ 2:23 am)
of course they are my Transformers! The first generation. Awesome.
Also awesome: Russia getting the Olympics!