tworzenie wtyczek Audio Część 1: Wprowadzenie
Witamy! W tej serii samouczków nauczymy się, jak tworzyć Wtyczki audio, które działają jako VST, VST3, AU, RTAS, AAX lub jako samodzielna aplikacja.
Wtyczki Audio to programy, które są ładowane do oprogramowania hosta (takiego jak Ableton Live, Logic lub REAPER). Przetwarzają dane Audio i / lub MIDI i mogą mieć graficzny interfejs użytkownika. Oto trzy przykłady (u-He Zebra, Sonalksis FreeG i D16 Decimort):
jak widać, GUI zwykle zawiera pewne elementy sterujące (najczęściej gałka), które zmieniają sposób, w jaki wtyczka przetwarza przychodzące dane. Wtyczka ma presety (na zrzucie ekranu są nazywane Combo i Emulator), które przechowują wszystkie pozycje pokrętła i inne wartości.
zaczniemy od prostej wtyczki distortion. Następnie stworzymy tę subtraktywną wtyczkę syntezatora krok po kroku:
użyjemy C++ i biblioteki WDL-ol. Jest on oparty na Cockos WDL (wymawiane whittle). Zasadniczo wykonuje dla nas wiele pracy, co najważniejsze:
- gotowe projekty Xcode / Visual Studio
- twórz formaty VST, AudioUnit, VST3 i RTAS z jednego kodu: wystarczy wybrać format wtyczki i kliknąć Uruchom!
- twórz 32/64-bitowe pliki wykonywalne
- spraw, aby wtyczka działała jako samodzielna aplikacja Win/Mac
- Większość kontrolek GUI używanych w wtyczkach audio
zapewnia również większość kontrolek GUI używanych w wtyczkach audio i niektóre powszechnie używane algorytmy audio, takie jak na przykład resampling. Ten wątek na forum zawiera zrzuty ekranu wielu wtyczek, które zostały wykonane za pomocą WDL.
wszystkie różne formaty wtyczek robią mniej więcej to samo, więc normalnie byłoby dużo kopiowania &wklejania w kodzie. Jako programista chcesz pozostać suchy, więc prędzej czy później napiszesz warstwę abstrakcji na różnych formatach. Prace te zostały już wykonane w formie IPlug, który jest częścią WDL. Są to irytujące części rozwoju wtyczek audio, więc możemy teraz skupić się na zabawnych rzeczach, takich jak:
- jak wtyczka przetwarza przychodzące Audio/MIDI
- jak wygląda wtyczka
- jak integruje się z hostem (automatyzacja, presety itp.)
kolejną dobrą rzeczą w WDL jest jego licencja dozwolona: możesz go używać swobodnie do zastosowań komercyjnych. Szczegółowe informacje znajdują się w powyższych linkach.
Jak to zrobimy
pościg jest lepszy od połowu.
w programowaniu wynik jest satysfakcjonujący, ale w podróży uczymy się. W tej serii samouczków nie dam Ci tylko długich list kodów z doskonałym rozwiązaniem. Zaczniemy od czegoś, co działa i poprawimy to, gdy tylko napotkamy problemy.
wadą jest to, że napiszesz kod, który później zastąpisz czymś lepszym. Jako programista prawdopodobnie jesteś do tego przyzwyczajony. Pierwsza zaleta: nie będzie aż tak przytłaczająca, ponieważ będziemy podchodzić do rozwiązania krok po kroku, zamiast po prostu skakać. Drugą zaletą jest to, że po drodze możemy nauczyć się wartościowych lekcji programowania.
ta seria nie polega na ręcznym obliczaniu skomplikowanej matematyki. Chodzi o tworzenie niesamowitego oprogramowania, które możesz dać znajomym producentom muzycznym, aby mogli stworzyć grubszą linię basową.
czego potrzebujesz
- Maca z Xcode 4 lub nowszym lub systemu Windows z Visual C++ 2010 lub nowszym. Użyję Maca, ale możesz również korzystać z prawie wszystkich informacji w systemie Windows.
- trochę zrozumienia C++ (składnia, wskaźniki, Basic OOP, pamięć). Być może słyszałeś, że C++ jest bardzo trudny, ale nie będziemy używać zbyt wielu zaawansowanych rzeczy.
- trochę wiedzy o (cyfrowym) audio w ogóle: Co oznacza amplituda i częstotliwość, co robi filtr, jak dźwięk jest przechowywany z częstotliwością próbkowania i głębią bitową. Jeśli wcześniej nagrywałeś lub produkowałeś muzykę, prawdopodobnie jesteś dobrze ustawiony.
- zainteresowanie cyfrowym przetwarzaniem sygnałów i programowaniem GUI: to będą dwa główne tematy tej serii. Jeśli w ogóle nie masz wcześniejszej wiedzy na temat DSP, być może będziesz musiał przeczytać kilka tematów w pewnym momencie. Postaram się podać dalsze linki typu reading, kiedy tylko będzie to możliwe.
pomocne zasoby
oto kilka linków, które mogą być pomocne później:
- Stack Overflow: Szukaj takich rzeczy jak niejasne ostrzeżenia kompilatora i dowiedz się, co one oznaczają.
- poradnik DSP: Bardzo dobra darmowa książka, okładki pewnie więcej niż użyjemy. Odwołaj się do niego, jeśli gdzieś po drodze nie rozumiesz koncepcji DSP.
brzmi ekscytująco? Następnym razem przygotujemy wszystko, czego potrzebujemy, aby zacząć!