Я использую эту библиотеку (http://kenschutte.com/midi) для работы с midi-файлами, и функции здесь очень полезны. Однако метод midi2audio()
создает только искаженные .wav-файлы независимо от того, какой миди я вкладываю (хотя заметки распознаются и воспроизводится правильный миди). Кто-нибудь еще использовал эту библиотеку функций и столкнулся с этой проблемой, и если да, то как я могу это исправить? Или есть другая функция, которую я могу использовать в Интернете где-то, что делает то же самое?Конвертировать .mid в .wav используя MATLAB
Ниже приведен код, используемый для создания файла .wav (скопировать и вставить из ссылки выше)
[y,Fs] = midi2audio(midi); % save to file: % (normalize so as not clipped in writing to wav) y = .95.*y./max(abs(y)); wavwrite(y, Fs, 'out.wav');
Unforunately Я попытался изменить параметр «фм» до «синуса», и звук все еще не был очень высокого качества. Смогу ли я запустить FluidSynth внутри кода MATLAB, или мне просто нужно будет ввести команду, которую вы упомянули в терминале? – pdrum
@pdrum Я не знаком с matlab, но есть вероятность, что вы можете вызвать системную команду изнутри и захватить вывод. Но самый простой способ, в зависимости от вашего использования, вероятно, будет делать это прямо с терминала (osx, linux) или консоли (windows). – AkselA