Jump to content
Annons

Hur tillverkar man en plugin?


KillwithSkill

Recommended Posts

Tja!

Jag kan zip nada programering. Jag vet bara att det är en massa alogorithmer och ett hästjobb men sen då?

Ponera att jag skulle vilja göra en plugin. Hur börjar jag? Vad behövs? Från ruta ett!!!

Det skulle vara kul om Studio tog upp detta och förklarade på lekmannaspråk och även sen hur man går vidare med mer avancerade kodning då man ex klonar från en gammal analog burk. Hur mäter dom? osv... ☺️

Link to comment
Dela på andra sajter

Annons

Kan dra det grundläggande iaf (Om nån ser en miss, så korrigera gärna):

Traditionellt gör man det i programmeringsspråket C++. Oftast behövs ett sk. SDK - Software Development Kit - ifrån det företag som skapat plugin-standarden du vill göra. Ska du göra plugin i VST-format, då knatar du till Steinberg och hämtar deras VST SDK.

Kitet innehåller bl.a. färdigprogrammerade moduler och bibliotek (kod-stycken) som du själv skriver C++ kod i förhållande till, och SDK innehåller ofta hjälpfiler och annat matnyttigt m.m. Man måste programmera precist för att det ska funka, och SDK är viktig nyckel till att förstå hur du måste göra koden.

Sist behöver du ett IDE, ett program som sammanställer din C++ kod till specifik fil eller program - typ Microsoft Visual Studio. Lite ingenjörs-tänk skadar inte heller.

En analog equalizer fungerar ju genom att skapa en intern rundgång inom ett avgränsat frekvensområde. Då förstärks volymen för detta frekvensområde i förhållande till omkringliggande frekvensområden. Genom att fasvända den processen, så blir det en utsläckning av frekvensområdet, så den utvalda frekvensen försvagas i volym i förhållande till omkringliggande frekvensområden.

Många gör på samma sätt för att skapa en plugin EQ: använder C++ till att skapa funktioner och rutter som orsakar intern rundgång för ett utvalt frekvensområde, välja fasriktning osv osv. Man skapar både rutiner, som ruttar signalen genom olika stadier, och sen även de funktioner och "miljöer" som varje stadium ska utöva på signalen osv.

Man gör det när man knattrar kod i IDEn. Man inkluderar oftast klasser och moduler från SDK, och kan lägga till grafik för plugin-interfacet osv, och sen kompilera ut resultatet på datorn. I fallet VST så måste en VST-plugin på Windows vara en DLL-fil, så då är det en sån fil du kompilerar ihop din kod till. Genom att lägga DLL-filen i en mapp som DAW/Ljudprogrammet genomsöker efter VST-plugins, så laddas den in i programmet automatiskt och blir tillgänglig. Andra plugin-format funkar på liknande eller andra sätt.

Ett virtuellt instrument som använder samplingar är typ samma sak: en plugin. Bara att man ofta hanterar ljud-datan som 'extern data'. Ljud-datan bakas ofta inte in i pluginen, utan sparas utanför pluggen och laddas/läses in av plugin-instrumentet efter behov. Även den funktionaliteten måste man själv skapa, kodmässigt. Ljud-datan är oftast PCM-format - som wav/aif - fast ofta i manipulerade fil-containrar - bl.a. för att skydda från direktkopiering.

När man gjort sin plugin så finns det verktyg för att "Porta" pluginen till nästan alla andra plugin-format. Annars skulle man ju tvingas skriva typ 10 plugins bara för att göra samma plugin tillgänglig för olika plattformar och plugin-standards.

Alltså: hämta SDK, förstå C++ programmering, fixa ett program att göra program i (IDE) och sen programmera och kompilera ut resultatet till avsett format.

Det här är det traditionella, men det finns simplare sätt. T.ex. Synthedit, som använder färdigprogrammerade detaljer som man sätter ihop likt mekano och sen sparar ut som plugin. Andra halvt liknande exempel är Synthmaker, Pluggo Max/Msp, Sonicbirth, Usine, Maize m.fl.

Tyvärr är det väldigt svårt att hitta grundläggande hjälp i hur man börjar. Men forumet på KVR Audio huserar en stor mängd folk som gör plugins själva, allt från nybörjare till de mest välkända namnen.

Redigerat av Signia
  • Gilla 3
Link to comment
Dela på andra sajter

pme (oregistrerad)

Studio tog upp detta och förklarade på lekmannaspråk och även sen hur man går vidare med mer avancerade kodning då man ex klonar från en gammal analog burk. Hur mäter dom? osv... ☺️

Kan man inte något om programmering så är det tungt att ge sig att försöka göra plugins. Men för att svara på frågan hur man göra analogt. Softube använder samma teknik som ett mycket klassiskt verktyg. Det är ett program som används för att simulera hårdvara vid elektronik konstruktion. Man simulerar komponent för komponent, transistor för transistor osv. http://en.wikipedia.org/wiki/SPICE

Softube har sedan gjort om det så att det fungerar i realtid och in miljö för audio.

Link to comment
Dela på andra sajter

drloop (oregistrerad)

Om man lämnar avancerade grejer som att klona en hårdvara pch tittar på en funktion som man skulle vilja ha men inte hittat en plugg för det så är Max, Reaktor och Synthedit med flera bra verktyg för att med väldigt lite kunskaper om kodning kunna skapa saker för sig själv. Modulära miljöer som där man kan styra signaler lite friare än i en vanlig DAW är kreativa miljöer som kan användas för att skapa intressanta grejer. Personligen gillar jag grejer som gör nåt som ingen annan pryl gjort innan, klona en gammal EQ känns inte så intressant men däremot att skapa devicer med helt nya funktioner är ball. Reason är semimodulär och med hjälp av Reason har jag byggt tex några varianter på dessers som jag har till speciella användningsområden där standard pluggar inte gjort som jag önskat.

Är man intresserad av att börja så börja i Max eller Reaktor (eller varför inte i Reason?). Man kan genom att titta på andras grejer en förståelse för hur man kan jobba med signalvägar, ljud och styrsignaler och på så sätt skapa nya coola grejer.

Redigerat av drloop
Link to comment
Dela på andra sajter

Flera bra inlägg!

Precis som Loopen skriver är Synth Edit, Reaktor och Max bra verktyg för att testa en egen idé utan några större programmeringsfärdigheter.

Personligen har jag inte kommit längre än så. Som tur är har vi flera riktigt duktiga utvecklare på jobbet. 🙂

Link to comment
Dela på andra sajter

Jag skrev en del plugins (och en halvfärdig daw) back in the days när det inte fanns så stort utbud. Numera är standardeffekterna så pass utvecklade att jag blir trött bara av att tänka på hur lång tid det skulle ta att hinna ikapp kvalitetsmässigt. 🙂

Jag kan nog säga att det som hindrade mig var min kunskap i matematik snarare än mina programmeringskunskaper (två skilda saker). Så det räcker inte med att lära sig programmera utan förbered dig på att plugga mycket matte med inriktning på signalbearbetning. Det gäller också att ha ett bra öra, helst två.

Men som drloop säger så finns det ju också miljöer där man kan leka med ljud och skapa nya effekter och instrument utan att behöva förstå allt från grunden.

Link to comment
Dela på andra sajter

Jag skrev en del plugins (och en halvfärdig daw) back in the days när det inte fanns så stort utbud. Numera är standardeffekterna så pass utvecklade att jag blir trött bara av att tänka på hur lång tid det skulle ta att hinna ikapp kvalitetsmässigt. 🙂

En halv DAW? 🙂 Tufft. Känner igen mig lite, men själv blev man hjärndöd bara av enkla plugins. Tröttnade fort. Trodde man kunde skräddarsy allt för helt egna ändamål, men fastnade i dagar på enkla ringmodulatorer ☺️.

Svårt att förstå hur dom stora namnen gör, men dom kan säkert ha team av utbildade yrkesmänniskor som jobbar på samma sak numera; och utgår från mallar dessutom. Svårt att se hur det skulle gå annars. Programmerarna behöver ju inte vara musikaliskt bevandrade alls, egentligen. Så länge dom får tydliga instruktioner så.

Apropå det, vad t.ex. Waves och andra gör när dom klonar analog apparatur, som TS nämnde, skulle spontant gissa att det är nån intrikat kombination av matematisk konvolution och fasta moduler som modulerar varandra sinsemellan.

Det där som PME nämnde ovan, med SPICE, det kände iaf inte jag till sen innan. Det kan ju ge en bild eller två om hur processerna under motorhuven kan utformas.

Själv kan jag inte reparera bilen när det under motorhuven krånglar, men det hindrar en inte från att köra bil helt okej ändå 😎

Redigerat av Signia
Link to comment
Dela på andra sajter

Det hade jag tyckt varit superintressant men kan tänka mig att det är nästintill omöjligt att göra det på ett kortfattat och informativt sätt.

Programmering, det behöver ju inte nödvändigtvis vara C++ på Win men det blir rätt mycket smidigare skulle jag tro. Hur ser det ut på Mac-sidan förresten?

Matematiken kan jag tänka mig blir svår för de flesta. Tycker själv det är klurigt. Bara att hantera samples in och ut (i effekter) kräver ju att man vet vad man gör med filter. Så redan där måste man ju ha koll på signalteorin även om det verkar finnas en hel del algoritmer publicerade numera. Och sen beroende på hur man vill manipulera ljudet då förstås blir det lite mer matematik.

Som tur är har vi flera riktigt duktiga utvecklare på jobbet. 🙂

En del har det bra ... 😉

Jag skrev en del plugins (och en halvfärdig daw) back in the days när det inte fanns så stort utbud.

Coolt! 🙂

Hade en ide för några år sen att skriva ihop nån midi-VST (i Delphi då) men kom aldrig till skott. Hade ju inte behövt matematiken på samma sätt till det.

  • Gilla 1
Link to comment
Dela på andra sajter

  • 2 månader senare...

Bli medlem (kostnadsfritt) eller logga in för att kommentera

Du behöver vara medlem för att delta i communityn

Bli medlem (kostnadsfritt)

Bli medlem kostnadsfritt i vår community genom att registrera dig. Det är enkelt och kostar inget!

Bli medlem nu (kostnadsfritt)

Logga in

Har du redan en inloggning?
Logga in här.

Logga in nu
×
×
  • Skapa ny...