Автоматизированная генерация звуковых файлов для отдельных музыкальных примечаний по Mac

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

Так, например, фортепьяно, играя единственный звук "A" было бы одним файлом. Фортепьяно, играя звук "B" было бы другим файлом.

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

Это является трудоемким, однако, и я думаю, что процесс мог быть автоматизирован. Возможно, если я мог бы создать файл midi с командной строкой и затем преобразовать тот файл midi в звуковой файл, я мог сделать это со сценарием оболочки?

У кого-либо есть какие-либо рекомендации поместить меня на правильном пути?

1
задан 14.05.2011, 13:06

0 ответов

Решение, что я использовал включенный 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, возможно, также работал, но это было только одним (маленьким) шагом в моем проекте, и я пытался сделать это самым быстрым возможным способом, не делают самое изящное решение, таким образом, я не не торопился, чтобы получить то выполнение и добавить его к моему сценарию оболочки.

1
ответ дан 17.12.2019, 00:19

Теги

Похожие вопросы