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 +++++++++++++++++++++++++ about-effects.html | 20 ++++++++++++++++++++ style.css | 1 + 3 files changed, 46 insertions(+) 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 diff --git a/about-effects.html b/about-effects.html index 60ea6fb..9956eb3 100644 --- a/about-effects.html +++ b/about-effects.html @@ -7,5 +7,25 @@ +

Effects Component

+ Code written by Kyle Gunger +

+ A CEffects class is generated for each instrument tag in the XML score file.
+ It is then given the tag to parse all the effects and ordering before being
+ pushed into a vector within CSynthesizer. The index is saved and eventually
+ coupled with both the note and instrument created later down the line. Each
+ effect controller has a list of source nodes, which must be generated prior to
+ calling generate on the effect controller. These nodes are pulled from, added
+ together, and sent through the defined order of effects as in the XML. After
+ this is done, the audio is added in to the synthesizer's output. +

+ Supported grading elements: + \ No newline at end of file diff --git a/style.css b/style.css index 9d4297c..6f2d63f 100644 --- a/style.css +++ b/style.css @@ -2,6 +2,7 @@ body { background: #404040; color: white; min-height: 100vh; + font-size: large; } span { -- cgit v1.2.3