Creating Synthesizer Plug-Ins with C++ and JUCE

ProgHead

Gepokt en gemazeld
Lid sinds
26 februari 2019
Berichten
5.597
Locatie
Zeist


Was van plan geen boeken over synths, DSP, etc. meer te kopen. Heb er al zoveel, en de meeste nog niet eens gelezen. Maar nu begint het toch weer te kriebelen...

Zou dat boek wat zijn, iemand ideeën?
 
Bekijk dit 'ns. Dat is weliswaar geheel met C++, maar ik denk dat je in grote lijnen iets soortgelijks kunt verwachten?
 
Dank! Naar dat boek van Pirkle wordt inderdaad vaak verwezen, maar er wordt ook geregeld voor gewaarschuwd dat het te ingewikkeld is voor de beginner...
 
Probleem is dat ik enkel in C++ geïnteresseerd ben omdat dat veel in plugins gebruikt wordt. Voor de rest kan die programmeertaal me niet zoveel schelen...

Ik kan al wel een simpele synth in Faust schrijven en die dan ook als een C++ bestand exporteren. En ik weet dat je daar dan in JUCE een volwaardige plugin met fraaie GUI van moet kunnen maken. Maar daarvoor zal ik dan wat basis dingen van C++ en JUCE moeten weten. Dat is mijn bedoeling, niet om voluit in C++ te duiken (en daar dan waarschijnlijk in te verzuipen).
 
Met 'voor dummies' bedoel ik hoofdzakelijk informatie op beginners niveau, niet dat je een heel boekwerk door moet gaan werken.

Zal bekijken of ik daar iets mee kan. Is inderdaad geen gek idee. Misschien staat C++ me wel zo tegen dat ik er voorgoed vanaf zie. Dat zou ook een uitkomst kunnen zijn. En dan heeft het aanschaffen van het boek uit de openingspost sowieso geen zin.
 
Naar dat boek van Pirkle wordt inderdaad vaak verwezen, maar er wordt ook geregeld voor gewaarschuwd dat het te ingewikkeld is voor de beginner...

Heb het boek nog wat verder bekeken, ik krijg niet de indruk dat de moeilijkheid ligt bij de code, de gegeven voorbeelden lijken best goed leesbaar. Zoveel code bevat het ook niet, het boek gaat vooral over gebruikte methoden in het algemeen. En tegen die materie loop je altijd aan, ongeacht de taal waarin je iets wil schrijven.
 
Ik zal de pdf nog eens bekijken. Het heeft ook geen haast want ik wil eerst Patch&Tweak uitlezen, en wel liefst vandaag nog.
 
De gedachte die ik er verder bij heb, is het werkelijk zo interessant? Het zijn vooral traditionele onderwerpen. Voor sommigen leuk, maar wil je echt de zoveelste wavetable- of VA-synth bouwen? Er zijn vast nog genoeg minder traditionele manieren voor synthese te bedenken, met mathematische transformaties en technieken die op het eerste gezicht weinig met het maken van geluid van doen lijken te hebben, maar in een goede implementatie wellicht verrassende resultaten geven. Of lenen van voorbeelden in de natuur. Etcetera. Zaken als het voorkomen van bv. aliasing zijn dan eigenlijk van latere zorg, denk ik.
 
Dat is ook precies mijn bedoeling! Die synth met chaos die ik in Faust geschreven heb kan ik nu alleen in de online Faust IDE draaien. En dat maakt het voor anderen oninteressant of zelfs onmogelijk om dat progje uit te proberen. En daardoor kom ik er ook zelf niet verder mee.
 
Of toch maar een andere insteek nemen? Een plugin die iedereen in een DAW kan gebruiken is leuk, maar als dat lastig is te realiseren, iets anders proberen? Je kunt 'ns denken aan een app die op een Android-apparaat draait, bereik je veel mensen die het kunnen proberen. Iets ontwikkelen met bv. B4A is gemakkelijker dan in C++. En bv. SpiderBasic kan ook voor mobiele apparaten, maar een applicatie draait dan ook in een webbrowser onder Windows, Linux, en hoe dat mag heten op een Apple-ding.
 
Ja - ben er nog niet uit. De ontwikkelingen gaan ook zo snel. Als ik nu ergens in spring kan dat na een paar jaar al weer achterhaald zijn. Die gasten die Faust in de lucht houden zijn ook voortdurend met nieuwe dingen bezig, de kans is groot dat er op zeker moment in de online Faust IDE een deugdelijke optie beschikbaar komt om Faust progjes naar bruikbare plugins of apps te exporteren. Dat is mijn hoop. Dan hoef ik er ook geen nieuwe programmeertalen bij te leren.
 
Dat zou mooi zijn, maar zou me er niet door laten weerhouden om toch verder te gaan als die route via Faust doodloopt. Helemaal als een taal vrij eenvoudig is, mocht je die moeten bijleren, en je het op een ander platform gemakkelijk kunt gebruiken. Iets wat een variant is op het aloude Basic zal meestal nooit echt moeilijk zijn.

Wat betreft dingen die achterhaald dreigen te worden, valt misschien wel mee. Wat je maakt met B4A bijvoorbeeld draait in principe nog op Android-versie 4, dat is echt antiek (2011), jongste versie is 14. Code die je nu gaat schrijven gaat waarschijnlijk dan ook best wel een tijdje mee.
 
Back
Top