efectuarea pluginurilor Audio Partea 1: Introducere
Bine ați venit! În această serie de tutoriale vom învăța cum să creăm pluginuri audio care rulează ca VST, VST3, AU, RTAS, AAX sau ca aplicație independentă.
pluginurile Audio sunt programe care sunt încărcate într-un software gazdă (cum ar fi Ableton Live, Logic sau REAPER). Procesează date audio și / sau MIDI și pot avea o interfață grafică de utilizator. Iată trei exemple (U-He Zebra, Sonalksis FreeG și D16 Decimort):
după cum puteți vedea, GUI conține de obicei unele controale (butonul fiind cel mai comun) care schimbă modul în care pluginul procesează datele primite. Un plugin are presetări (în captura de ecran se numesc Combo și Emulator) care stochează toate pozițiile butonului și alte valori.
vom începe cu un plugin de distorsiune simplu. După aceea, vom crea acest plugin sintetizator substractiv pas cu pas:
vom folosi C++ și Biblioteca WDL-ol. Se bazează pe Cockos WDL (pronunțat whittle). Practic face o mulțime de muncă pentru noi, cel mai important:
- proiecte Xcode / Visual Studio gata făcute
- creați formate VST, AudioUnit, VST3 și RTAS dintr-o singură bază de cod: alegeți doar formatul pluginului și faceți clic pe executare!
- creați executabile pe 32/64 biți
- faceți ca pluginul să funcționeze ca o aplicație Win/Mac independentă
- cele mai multe controale GUI utilizate în pluginurile audio
de asemenea, vă oferă cele mai multe controale GUI utilizate în pluginurile audio și unele algoritmi audio utilizați în mod obișnuit, cum ar fi, de exemplu, reeșantionarea. Acest thread forum are capturi de ecran de o mulțime de plugin-uri care au fost realizate folosind WDL.
diferitele formate de plugin fac toate mai mult sau mai puțin la fel, deci în mod normal ar exista o mulțime de copy & paste în codul dvs. Ca programator doriți să rămâneți uscat, deci mai devreme sau mai târziu veți scrie un strat de abstractizare peste diferite formate. Această lucrare a fost deja făcută sub forma IPlug, care face parte din WDL. Acestea sunt părțile enervante ale dezvoltării pluginurilor audio, așa că acum ne putem concentra pe lucrurile distractive, cum ar fi:
- modul în care plugin-ul procesează intrare audio/MIDI
- cum arată plugin-ul
- cum se integrează cu gazda (automatizare, presetări, etc.)
un alt lucru bun despre WDL este licența permisivă: îl puteți folosi liber pentru aplicații comerciale. Consultați linkurile de mai sus pentru detalii.
cum vom face acest lucru
goana este mai bună decât captura.
în programare, rezultatul este satisfăcător, dar călătoria este locul în care învățăm. În această serie de tutoriale, nu vă voi oferi doar liste lungi de coduri cu soluția perfectă. Vom începe cu ceva care funcționează și îl vom îmbunătăți imediat ce ne confruntăm cu probleme.
dezavantajul este că veți scrie cod pe care îl veți înlocui ulterior cu ceva mai bun. Ca programator, probabil că ești obișnuit cu asta. Primul avantaj: nu va fi la fel de copleșitor, deoarece vom aborda soluția pas cu pas în loc să sărim acolo. Al doilea avantaj este că am putea învăța lecții de programare valoroase pe parcurs.
această serie nu este despre calcularea matematică complexă de mână. Este vorba despre crearea unui software minunat pe care îl puteți oferi prietenilor dvs. producători de muzică, astfel încât să poată face o linie de bas mai grasă.
de ce veți avea nevoie
- de un Mac care rulează Xcode 4 sau o versiune ulterioară sau de un sistem Windows cu Visual C++ 2010 sau o versiune ulterioară. Voi folosi un Mac, dar puteți utiliza aproape toate informațiile și pe Windows.
- o înțelegere a C++ (sintaxă, Pointeri, OOP de bază, Memorie). Este posibil să fi auzit că C++ este foarte greu, dar nu vom folosi prea mult din lucrurile avansate.
- unele cunoștințe despre audio (digital) în general: Ce amplitudine și frecvență înseamnă, ce face un filtru, modul în care sunetul este stocat la o rată de eșantionare și adâncime de biți. Dacă ați înregistrat sau produs muzică înainte, probabil că sunteți bine pregătiți.
- interes pentru procesarea semnalului Digital și programarea GUI: acestea vor fi cele două subiecte principale ale acestei serii. Dacă nu aveți cunoștințe DSP anterioare, este posibil să trebuiască să citiți câteva subiecte la un moment dat. Voi încerca să ofere mai multe link-uri de tip lectură ori de câte ori este cazul.
resurse utile
iată câteva link-uri care pot fi utile mai târziu:
- Stack Overflow: căutați lucruri precum avertismente obscure ale compilatorului și aflați ce înseamnă acestea.
- ghid DSP: carte gratuită foarte bună, acoperă probabil mai mult decât vom folosi. Consultați-l dacă undeva pe drum nu înțelegeți un concept DSP.
sună interesant? Data viitoare vom configura tot ce avem nevoie pentru a începe!