У меня есть определенная задача, которую я хочу выполнить... Я пытаюсь выяснить, существует ли способ сделать это. В основном для проекта я продолжаю работать, я хочу создать звуковые файлы для отдельных музыкальных примечаний.
Так, например, фортепьяно, играя единственный звук "A" было бы одним файлом. Фортепьяно, играя звук "B" было бы другим файлом.
Я хотел бы сделать это для большого количества инструментов. Я знаю, что Mac OS имеет встроенные инструменты midi. Я смогший для создания видов файлов я ищу вручную в Гаражной группе, играя на инструменте программного обеспечения, сохранив файл, затем изменяя подачу.
Это является трудоемким, однако, и я думаю, что процесс мог быть автоматизирован. Возможно, если я мог бы создать файл midi с командной строкой и затем преобразовать тот файл midi в звуковой файл, я мог сделать это со сценарием оболочки?
У кого-либо есть какие-либо рекомендации поместить меня на правильном пути?
Решение, что я использовал включенный 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
В той точке это в основном дало мне папку, полную файлов midi, что я мог затем использовать синтезатор для превращений в wav файлы. Здесь, я обрабатываю в пакетном режиме, обработал их с Amadeus Pro (который является коммерческим применением).
Я понимаю, что синтезатор командной строки как FluidSynth, возможно, также работал, но это было только одним (маленьким) шагом в моем проекте, и я пытался сделать это самым быстрым возможным способом, не делают самое изящное решение, таким образом, я не не торопился, чтобы получить то выполнение и добавить его к моему сценарию оболочки.