Prendere, ad esempio, il VSTi Triforce, da Tweakbench. Quando viene caricato in qualsiasi host VST sul mercato, consente all'host di inviare un segnale (presumibilmente MIDI) al VSTi. Il VSTi elaborerà quindi quel segnale e produrrà l'audio sintetizzato come creato da uno strumento software all'interno del VSTi.Come posso interagire programmaticamente con i plug-in VST (i) per sintetizzare l'audio?
Ad esempio, inviando un A4 (nota MIDI, credo) al VSTi, verrà generato il sintetizzatore A sopra Middle C. Esso invia i dati audio all'host VST, che quindi può essere riprodotto sul mio altoparlanti o salvarlo su .wav o qualche altro formato di file audio.
Diciamo che ho Triforce, e sto cercando di scrivere un programma in mia lingua di scelta che potrebbe interagire con il VSTi inviando una nota A4 da sintetizzare, e automaticamente il salvataggio in un file sul sistema ?
Eventualmente, mi piacerebbe essere in grado di analizzare un intero file MIDI a una traccia (usando le librerie stabili e già disponibili per questo scopo) e inviarlo al VSTi per "renderizzarlo"/sintetizzarlo in un audio file.
Come potrei andare su questo, e in quale lingua dovrei cercare di costruire il framework principale?
In definitiva, verrà utilizzato in un progetto basato su Ruby, quindi qualsiasi suggerimento per specifiche risorse Ruby sarebbe bello.
Tuttavia, sto solo cercando di capire in pratica come funziona l'API di un VSTi. (Mi sono reso conto che questa domanda è molto correlata alla questione della costruzione di un host VST in primo luogo, sebbene possa salvare solo le uscite VST in file e non riprodurle e con uno scope considerevolmente più piccolo)
Grazie in anticipo per qualsiasi aiuto =)
Per chi trova questa domanda in futuro, la libreria JUCE C++ (http://www.juce.com/) potrebbe essere un buon punto di partenza per costruire un sistema come questo; ha classi per MIDI, audio, hosting di plug-in e scrittura di plug-in, ed è ben collaudato e ampiamente utilizzato. – btown