2010-02-23 2 views
4

У меня около 80 композиций, написанных на MIDI, и я хочу конвертировать их в WAVE с использованием звуковой библиотеки. Таким образом, они могут воспроизводиться на всех компьютерах и звучать одинаково. Есть ли библиотека, которая может автоматизировать это?Нужна библиотека, которая генерирует WAVE из Midi

Предпочтительно в C#, но другие языки программирования тоже прекрасны.

+0

Я видел так много таких вопросов, что я был вынужден написать об этом точном вопросе: http://is.gd/igp4m. Потратьте время, чтобы прочитать его, если вы планируете написать некоторую программную систему, которая должна сделай это. –

ответ

3

Это то, что называется Soft Synth, вам также понадобится набор образцов инструмента, если вы хотите, чтобы звук был одинаковым на всех машинах.

Вы можете обнаружить, что вы сэкономите память, если вы просто преобразуете их все в волновые файлы один раз и отправите волновые файлы. Набор инструментов высокого качества может быть довольно большим, и большинство из них защищены авторским правом.

3

Я использовал Timidity для этого, но это было много лет назад и в Linux.

+1

Все еще работает - самый простой способ - использовать Timidity для преобразования MIDI -> WAV, затем, например. 'ffmpeg' или' lame' для преобразования WAV -> MP3. http://www.ehow.com/how_5114457_convert-midi-mp-ubuntu.html – Piskvor

0

Если они являются статическими миди устройства вы можете использовать DAW с некоторыми мягкими плагинов синтезаторов (например http://www.cockos.com/reaper/ Cubase, и т.д., и просто поставить WAVs \ mp3s с приложением? ...

0

PistonSofts Прямые MIDI в MP3 Converter. Я не думаю, что это библиотека сама по себе, но он имеет интерфейс командной строки.

0

Вы можете использовать FFMPEG обрабатывать преобразования обоих фильмов и аудио, в том числе я считаю, MIDI для Wave. http://ffmpeg.arrozcru.org/wiki/index.php?title=Links имеет некоторые основные информацию о процессе, но в основном после установки вы можете просто запустить процесс командной строки в фоновом потоке процесса и поднять событие один раз com plete.

http://code.google.com/p/ffmpeg-sharp/ - это оболочка, созданная для FFMPEG и .net. Я уверен, что есть, вероятно, больше

+0

http://www.ffmpeg-csharp.com/ Еще один пример обертки. Google-ing может найти несколько разных –

+0

ffmpeg может конвертировать много вещей, но не MIDI, извините - это совершенно другой способ представления музыки (как ноты, исполняемые инструментами), чем обычные звуковые форматы (в качестве звуковых волн - это что поддерживает ffmpeg). (Вы * можете * использовать программный MIDI-синтезатор (например, Timidity) для создания файла звуковой волны из файла MIDI и * затем * конвертировать этот промежуточный файл в MP3 с помощью ffmpeg) – Piskvor

2

Быстрый ответ - посмотрите на FluidSynth. Это программный синтезатор, который использует звуковые банки в формате SoundFont. Он также имеет свою библиотеку, которая может быть использована для «рендеринга» MIDI-файла.

Банк с общим набором звуков MIDI можно найти, например, на http://www.hammersound.com, например http://www.hammersound.com/cgi-bin/soundlink.pl?action=view_download_page;ID=407;SoundFont_Location_Selected=Download;SoundFont_Filename_Selected=http://www.jchyun.com/~sonic/sf2/hubbe/Hubbe64%20GM%20v2.50.zip.

Вы можете сделать это по-другому - вы можете просто воспроизводить их через свое устройство, запускать программное обеспечение для записи звука, вводить ввод в «то, что вы слышите», записывать его и затем разрезать.

Более длинный ответ - вопрос в том, каковы ваши потребности и цель этой процедуры?

Если вы предпочитаете такой же звук с MIDI-файлов на разных компьютерах, вы следующие параметры:

  • Используйте только MIDI. Звуки MIDI стандартизированы, хотя могут быть отличия от образцов с вашей звуковой карты. Есть ли у вас специальные звуки, которые вы хотите использовать?
  • Используйте карту, которая поддерживает SoundFonts - например, SoundBlaster AWE 32 и выше, задает вход записи для «того, что вы слышите» и записываете звуки.
  • Преобразование MIDI-файлов в формат трекера. Этот формат сохраняет ноты как midi, но позволяет также сохранять образцы звука в одном файле. Хотя преобразование займет определенную работу. Файлы модулей содержат так называемые шаблоны, которые можно воспроизводить в запрошенном порядке. Это было бы идеальным примером для игр, где вы могли бы легко соединить одну песню. Преимущество - это тот же звук на каждом компьютере и небольшой размер.Недостатком может быть потеря качества, потому что выборочные смолы смещаются вверх и вниз, чтобы создавать различные тона. Если вы используете многосэмплированные инструменты, это не будет вашей проблемой. Если вы предпочитаете этот путь, я предлагаю вам посмотреть на IT (ImpulseTracker) и mo3 форматы. В качестве редактора трекера можно использовать OpenMPT. Он также позволяет импортировать и экспортировать MIDI-файлы. Для воспроизведения этих файлов вы можете использовать библиотеку MikMod или библиотеку FMOD (коммерческую).
  • Используйте синтез синтезатора, который использует звуковые банки. Пример такого синтезатора - FluidSynth. Если эта музыка должна быть встроена в какую-то программу, это может быть хорошей альтернативой.
  • Используйте внешний звуковой модуль MIDI, такой как Roland SonicCell или любую хорошую звуковую клавиатуру в качестве моего любимого Korg M50, подключите выход этого модуля к вашей звуковой карте, установите плейлист в каком-либо MIDI-проигрывателе, выберите это устройство, начните записывать программное обеспечение из подключенного звук вход, запись и вырезать.

P.S. Извините за отсутствие ссылок, так как я новичок здесь, в моем ответе может быть только две ссылки.

Смежные вопросы