Ääniliitännäisten tekeminen Osa 1: Johdanto
Tervetuloa! Tässä opetusohjelmasarjassa opimme luomaan audio plugins, jotka toimivat VST, VST3, AU, RTAS, AAX tai itsenäisenä sovelluksena.
Ääniliitännäiset ovat ohjelmia, jotka ladataan isäntäohjelmistoon (kuten Ableton Live Live, Logic tai REAPER). Ne käsittelevät ääni-ja / tai MIDI-tietoja ja niissä voi olla graafinen käyttöliittymä. Tässä kolme esimerkkiä (U-He Zebra, Sonalksis FreeG ja D16 Decimort):
kuten näet, käyttöliittymässä on yleensä joitain säätöjä (nuppi on yleisin), jotka muuttavat liitännäisen tapaa käsitellä saapuvaa dataa. Plugin on esiasetukset (kuvakaappauksessa niitä kutsutaan Combo ja emulaattori), jotka tallentavat kaikki nuppi kantoja ja muita arvoja.
aloitetaan yksinkertaisella säröliitännäisellä. Sen jälkeen luomme tämän subtraktiivisen syntetisaattoriliitännäisen askel askeleelta:
käytämme C++: aa ja WDL-OL-kirjastoa. Se perustuu Cockos WDL (lausutaan whittle). Se periaatteessa tekee paljon työtä meille, mikä tärkeintä:
- valmiit Xcode / Visual Studio-projektit
- luo VST -, AudioUnit -, VST3-ja RTAS-formaatit yhdestä codebaasista: valitse vain liitännäisformaatti ja napsauta Suorita!
- luo 32/64-bittisiä suoritustiedostoja
- tee liitännäisestä itsenäinen Win/Mac-sovellus
- useimmat audioliitännäisissä käytettävät GUI-ohjaimet
se antaa sinulle myös useimmat AUDIOLIITÄNNÄISISSÄ käytetyt GUI-ohjaimet ja joitakin yleisesti käytettyjä äänialgoritmeja, kuten esimerkiksi resampling. Tämä foorumi lanka on kuvakaappauksia paljon plugins, jotka tehtiin WDL.
eri liitännäismuodot toimivat kaikki suurin piirtein samoin, joten normaalisti koodissasi olisi paljon kopiota & liitä. Ohjelmoijana haluat pysyä kuivana, joten ennemmin tai myöhemmin kirjoitat abstraktiokerroksen eri formaattien päälle. Tätä työtä on jo tehty Iplugin muodossa, joka on osa WDL: ää. Nämä ovat ärsyttäviä osia audio plugin kehitystä, joten voimme nyt keskittyä hauskaa tavaraa, kuten:
- miten liitännäinen käsittelee saapuvan äänen/MIDI
- miltä liitännäinen näyttää
- miten se integroituu isäntään (automaatio, esiasetukset jne.)
WDL: n toinen hyvä puoli on sen salliva lisenssi: sitä voi käyttää vapaasti kaupallisiin sovelluksiin. Katso lisätietoja yllä olevista linkeistä.
miten tämä onnistuu
takaa-ajo on parempi kuin saalis.
ohjelmoinnissa tulos on palkitseva, mutta matkalla opitaan. Tässä opetusohjelma sarja, en vain antaa sinulle pitkiä koodiluetteloita täydellinen ratkaisu. Aloitamme jostakin, joka toimii ja parannamme sitä heti, kun kohtaamme ongelmia.
haittapuolena on, että kirjoitat koodia, jonka myöhemmin korvaat jollain paremmalla. Ohjelmoijana olet luultavasti tottunut siihen. Ensimmäinen etu:se ei ole yhtä ylivoimainen, koska lähestymme ratkaisua askel askeleelta sen sijaan, että vain hyppäämme sinne. Toinen etu on se, että saatamme oppia matkan varrella arvokkaita ohjelmointitaitoja.
tässä sarjassa ei ole kyse kompleksimatematiikan laskemisesta käsin. Se on noin luoda mahtava ohjelmisto, että voit antaa musiikin tuottaja ystäviä, jotta he voivat tehdä lihavampi bassline.
mitä tarvitset
- Mac, jossa on Xcode 4 tai uudempi tai Windows-järjestelmä, jossa on Visual C++ 2010 tai uudempi. Käytän Mac, mutta voit käyttää lähes kaikki tiedot Windows samoin.
- jonkin verran ymmärrystä C++: sta (syntaksi, osoittimet, Perusop, muisti). Olet ehkä kuullut, että C++ on hyvin vaikea, mutta emme aio käyttää liikaa kehittyneitä juttuja.
- jonkin verran tietoa (digitaalisesta) äänestä yleensä: Mitä amplitudi ja taajuus tarkoittaa, mitä suodatin tekee, miten ääni tallennetaan näytteenottotaajuudella ja bittisyvyydellä. Jos olet levyttänyt tai tuottanut musiikkia aiemmin, olet todennäköisesti hyvin sijoittunut.
- kiinnostus digitaaliseen signaalinkäsittelyyn ja GUI-ohjelmointiin: nämä ovat tämän sarjan kaksi pääaihetta. Jos sinulla ei ole aiempaa DSP-tietoa lainkaan, saatat joutua lukemaan muutamia aiheita jossain vaiheessa. Yritän tarjota lisää lukemista tyyppi linkkejä aina, kun näin on.
hyödyllisiä resursseja
Tässä muutamia linkkejä, joista voi olla myöhemmin apua:
- Stack Overflow: Etsi esimerkiksi epämääräisiä kääntäjän varoituksia ja selvitä, mitä ne tarkoittavat.
- DSP-opas: erittäin hyvä ilmainen kirja, kannet varmaan enemmän kuin käytämme. Viittaa siihen, jos jossain matkan varrella et ymmärrä DSP-konseptia.
kuulostaa jännittävältä? Ensi kerralla järjestämme kaiken tarvittavan.