From 9e6838f0b0743b16c2f4de0a1d72fe3229913f6a Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Thu, 31 Oct 2024 03:18:39 -0400 Subject: About pages --- about-additive.html | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'about-additive.html') diff --git a/about-additive.html b/about-additive.html index 7068b55..e6fa4ff 100644 --- a/about-additive.html +++ b/about-additive.html @@ -7,5 +7,30 @@ +

Additive Instrument Component

+ Code written by Kyle Gunger +

+ CAdditiveInstrument is first initialized by a pointer to the parameter xml node,
+ which it uses to populate the parameters such as sound definitions. Afterward it
+ is given the Note, from which it reads things like the starting and ending frequency
+ as well as the starting and ending sound definition. Internally it uses a vector of
+ CSoundDef classes to hold the sound definitions, each represents a summation of sin
+ waves. It also uses a CCrossFade and CADSR node to represent the fading between
+ CSoundDef and Envelope, respectively. It uses the proper CSoundDefs as sources for
+ the CCrossFade node and the CCrossFade node as source for the CADSR node. When
+ Generate is called on the CADSR node it is called recursivly on the child nodes and
+ then interpolated via the ADSR rules.

+ In generating the soundwave, it checks the envelope to see how far along we are, and uses
+ that percentage to interpolate both the frequency and cross-fading. +

+ Supported grading elements: + \ No newline at end of file -- cgit v1.2.3