Re: Boss GT-1B
Geplaatst: 02 jul 2017, 10:49
Drive en synth zijn ook dan gelijk de moeilijkste effecten om goed te krijgen door alle karaktereigenschappen in zo'n geluid. Veel harmonischen betekent veel rekenwerk; even een leuk (en ingekort) rekenvoorbeeldje voor de gëinteresseerden:
Mijn punt hierbij is, dat een ongelofelijk simpel filtertje (de berekening is immers nog met de hand op 2 A4-tjes te doen) al behoorlijk wat rekenkracht kan vergen en daarvoor ook al een hoop nauwkeurigheid verliest in afrondingen e.d. om het behapbaar te houden. Moet je nagaan wat er nodig is voor signalen met enorm veel harmonischen die ook eigenlijk allemaal weer anders berekend moeten worden en filters en ga zo maar door Daarom zijn digitale overdrives e.d. dus zo lastig.
TLDR;Wat je hieronder ziet is een heel simpel filter met 2 kantelfrequenties, in een bepaald rekenkundig domein (Laplace):
Dat is nog te snappen, want er staan 2 tijden in (in millesconden) en die corresponderen met bepaalde frequenties waarop dingen gebeuren. Nu zou dat omgezet worden naar een digitaal filter, waarvoor je handmatig even langs een ander rekenkundig domein wandelt: het Z-domein.
Als je dit dan vertaalt naar getallen waar een microprocessor (of DSP-processor zoals in een effectenpedaal) iets mee kan, dan wil je de komma's eruit hebben. Dit betekent hele getallen zoeken die in de buurt komen. Ik doe alles maal 64.
Je ziet dat ik hier wel wat afrondingen doe en dat heeft al invloed op de werking! Als je hier dan nog een beetje mee goochelt, komt je uit op een discrete representatie die je in feite zo in een stuk code kunt zetten.
is dan weer
Waarbij dus op het eind van de eerste term weer 32 wordt opgeteld om afronding op 0.5 nauwkeurig in een heel getal te zetten als resultaat. Het hele proces heeft ook nog eens relatief veel vermenigvuldigingen en delingen, wat een processor relatief veel moeite kost en dus 'dure' bewerkingen zijn qua tijd.Code: Selecteer alles
si_LLfilterOut0 = ( 6 * si_XorOut - 5 * si_LLfilterIn1 + 63 * si_LLfilterOut1 + 32 ) / 64;
Mijn punt hierbij is, dat een ongelofelijk simpel filtertje (de berekening is immers nog met de hand op 2 A4-tjes te doen) al behoorlijk wat rekenkracht kan vergen en daarvoor ook al een hoop nauwkeurigheid verliest in afrondingen e.d. om het behapbaar te houden. Moet je nagaan wat er nodig is voor signalen met enorm veel harmonischen die ook eigenlijk allemaal weer anders berekend moeten worden en filters en ga zo maar door Daarom zijn digitale overdrives e.d. dus zo lastig.