1

У меня есть конкретная задача, которую я хочу выполнить ...Я пытаюсь выяснить, есть ли способ сделать это. По сути, для проекта, над которым я работаю, я хочу создать звуковые файлы для отдельных музыкальных нот.

Так, например, пианино, играющее один звук "А", будет одним файлом. Пианино, играющее звук "B", было бы другим файлом.

Я хотел бы сделать это для большого количества инструментов. Я знаю, что в Mac OS встроены миди-инструменты. Мне удалось вручную создать нужные файлы в Garage Band, сыграв на программном инструменте, сохранив файл и изменив высоту тона.

Однако это отнимает много времени, и я думаю, что этот процесс можно автоматизировать. Может быть, если бы я мог создать MIDI-файл с помощью командной строки, а затем преобразовать этот MIDI-файл в звуковой файл, я мог бы сделать это с помощью сценария оболочки?

Кто-нибудь есть какие-либо рекомендации, чтобы поставить меня на правильный путь?

1 ответ1

1

Решение, которое я использовал, включало abc2midi и Amadeus Pro, хотя кажется, что я мог бы использовать FluidSynth, если бы я хотел использовать полную командную строку. По сути, я сделал шаблон abc-файла, который выглядел так

X:1
M:4/4
K:C
%%MIDI program number
note z

затем я заменил "число" и "примечание" сценарием оболочки, который выглядел так

#/bin/sh

for i in {0..127}
do
    for j in C ^C D ^D E F ^F G ^F A ^A B c ^c d ^d e f ^f g ^g a ^a b c\'
    do
        sed "s/number/$i/g" template | sed "s/note/$j/g" > $i$j.abc
    done
done

for file in *.abc
do
    abc2midi $file
done

На этом этапе это дало мне папку, полную миди-файлов, которые я мог затем использовать синтезатор, чтобы превратить в файлы WAV. Здесь я обработал их с помощью Amadeus Pro (это коммерческое приложение).

Я понимаю, что синтезатор командной строки, такой как FluidSynth, мог бы также работать, но это был только один (маленький) шаг в моем проекте, и я пытался сделать это как можно быстрее, а не сделать самое элегантное решение, поэтому я не стал Не торопитесь, чтобы запустить это и добавить это к моему сценарию оболочки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .