Взять, к примеру, VSTi Triforce , от Tweakbench.При загрузке на любом хосте VST на рынке он позволяет хосту посылать (предположительно MIDI) сигнал на VSTi.Затем VSTi будет обрабатывать этот сигнал и выводить синтезированный звук, созданный программным инструментом в VSTi.
Например, отправка A4 (я полагаю, MIDI-нота) в VSTi будетзаставить его синтезировать А выше среднего С. Он отправляет аудиоданные обратно на хост VST, который затем может либо воспроизвести их на моих динамиках, либо сохранить их в .wav или другом формате аудиофайлов.
Давайтескажем, у меня есть Triforce , и я пытаюсь написать программу на моем языке по выбору, которая могла бы взаимодействовать с VSTi, отправив записку А4 для синтеза и автоматически сохранив ее в файле в системе?
В конце концов, я хотел бы иметь возможность проанализировать весь MIDI-файл из одной дорожки (используя уже существующие стабильные библиотеки, уже доступные для этой цели) и отправить его в VSTi для «рендеринга» / синтеза его ваудиофайл.
Как мне поступить, и на на каком языке мне следует искать для создания базовой платформы?
В конечном счете, он будет использоваться в проекте на основе Ruby, поэтому любые указатели на конкретные ресурсы Ruby также подойдут.
Однако я просто пытаюсь понять в основном как работает API VSTi .(Я понял, что этот вопрос очень сильно связан с вопросом о создании хоста VST, хотя он может сохранять только выходные данные VST в файл, а не воспроизводить их, и со значительно меньшей областью действия)
Заранее спасибо за любую помощь =)