Быстрый ответ - посмотрите на 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. Извините за отсутствие ссылок, так как я новичок здесь, в моем ответе может быть только две ссылки.
Я видел так много таких вопросов, что я был вынужден написать об этом точном вопросе: http://is.gd/igp4m. Потратьте время, чтобы прочитать его, если вы планируете написать некоторую программную систему, которая должна сделай это. –