Penguin Synth 3.8D

@dreamer:
"Eh nee, SynthEdit compiled C/C++ code naar VST. "

Gezien het gebruik van librariers vanuit C/C++ noem ik dat scripting --> het is loodzwaar.

Een voorbeeld dat weliswaar weinig met muziek te maken heeft maar goed het probleem weergeeft:
C++ library routine om PWM motoren te sturen: een heel hoop gedoe om te declaren en bepaalde waarden uit te geven die begrijpbaar voor PWM motoren zijn. Als je zelf de variabelen aanmaakt en een simpele omrekenroutine , dan kan je die hele zaak (van hondereden regels) wegflikkeren en loopt het als een zonnetje.

Dat hele C++ met z'n idioot meegelinkte overhead is kut. Dat is wat programmeurs lui maakt: niet in staat om zelf basiscode te schrijven voor op zich simpele handelingen. Er onstaat een taaltje dat onbegrijpelijk is voor hen die meer rudimenteir denken omdat er een scala aan routines wordt aangeroepen die het systeem zwaar belasten met onzin (volstrekt overbodige programmeerregels).
 
Ook zijn er nog "Denormals" dat zijn berekeningen van 1.000000000 lang ofzo.
Normaal stopt de berekening bij 1.0000 voor bij dat getal is het geluids verschill niet hoorbaar

Daar heb jij tog niets mee te maken als SE gebruiker ?,
wat ze dan doen is een normal erbij optellen, als offset zegmaar van de kleinste waarde, of superzachte ruis erbij gooien.
Ik gooi gewoon een if statement erin, werkt goed, maar schijnt wat slomer te zijn vanwege de if statement, voor float (32 bit) :
if( f < 0.00000001f && f > -0.00000001f )f = 0.0f;
 
@Gezien het gebruik van librariers vanuit C/C++ noem ik dat scripting --> het is loodzwaar.
Geen programmeur die het gebruik van 'libraries' als 'scripting' omschrijft, maar goed. C/C++ libraries gebruiken is ook geen enkele indicatie dat code zwaar hoeft te zijn. In veel gevallen is het gebruiken van een efficiente library vele malen sneller dan je eigen code proberen te schrijven. Dit ligt geheel aan de implementatie of wat je wilt doen.

Een voorbeeld dat weliswaar weinig met muziek te maken heeft maar goed het probleem weergeeft:
C++ library routine om PWM motoren te sturen: een heel hoop gedoe om te declaren en bepaalde waarden uit te geven die begrijpbaar voor PWM motoren zijn. Als je zelf de variabelen aanmaakt en een simpele omrekenroutine , dan kan je die hele zaak (van hondereden regels) wegflikkeren en loopt het als een zonnetje.
Dat ligt dus 100% aan welke library en wat je wilt doen. Hier kun je niet op generaliseren.
Ook kunnen compilers zaken goed optimalizeren, waar een enkele compile-flag vele cpu-cycles zou kunnen schelen.

@ Designer: Zowel defensive coding (if statements) als exception handling (try; except) introduceren overhead, maar het gebruik moet in beide gevallen goed doordacht worden (reguliere of exceptionele uitzonderingen afvangen?).


Als ik zo meer over de opbouw van Penguin Synth hoor hoe minder het me verbaasd dat de performance zo slecht is ;)
Waarschijnlijk is er bovendien ontzettend veel code-duplication en onnodig geheugen-verbruik.
Natuurlijk super leuk om zo in elkaar ze zetten, maar kan waarschijnlijk zeker wat auditting en optimalizatie gebruiken (wat je zelf ook al aangeeft Sidx8580).
 
In sommige gevallen van de gecombineerde modules
Kan er een denormal probleem komen
Ik zou jou code kunnen vertalen naar een module maar is zinloos
Ik kan mijn plugin niet bewerken met c++

Zoals ik zij er zijn modules om het probleem er uit tehaalen
Bij een denormal schiet de cpu gebruik naar soms 4x/6x zoveel
Ook kan ik bij bepaalde secties een autosleeper gebruiken
Deze stopt het audio singaal waneer er geen input/activatie is
Dus als je de synth dan niet gebruikt kost die bijna geen cpu

Verder ben ik beniuewd hoe jullie em vinden klinken
En welke functies je leuk vind
Er zitten een aantal leuke dingen in
Zoals EG3 mod envolope daar kan je een modulatie singaal
Mee beivloeden. En lfo stepped die maakt een soort trappetje
van het singaal

De prefilters van osc1/2 lowpass en hihgpass vond ik wel handig
Om deklank goed te bewerken

En aan het eind bij de mix1/2 kan je het rechter audio singaal vertraagen
Voor een mooi stereo effect
 
Hoi.

Inimdels ben ik bezig geweest de penguinstynth uit te breiden
en het is bijna klaar.

Ook ben ik bezig geweest om de cpu load lager te krijgen.
Hier een voorbeeld track van de nieuwste versie,
Geen Eq of extra effecten gebruikt komt zo uit de synth

http://www.stardust-audio.com/mp3/PenguinSynth5.2-Testtune1.mp3

En au/vst mac versie zou ik niet weten hoe ik die moet maaken
ik heb deze in synthedit gemaakt en die onderstuennt nog niet mac.
eveneens zou voor mac andere modules moeten komen want de windows.dll kan daar niet op gebruiklt worden. dan zou ik veel moduels missen en de synth niet het zelfde kunnen krijgen.

Igg Gebruikt die nu minder cpu .
Het test nummer heeft 4synths teglijk op een 2.2ghz i5-2410m
:kroon:
 
Leuke demo, ik ga hem zeker testen in Reaper.
 
Back
Top