Dream Softly
Project
This piece, along with the synthesizer software used to produce it was created as part of a project for CSE 471
Project and piece created by Kyle Gunger.
Download the source for Dream Softly
An in depth look at the additive synth
An in depth look at the effects system
Source format
- XML format
- "score" tag: with bpm and beatspermeasure attributes
- "bpm" attribute: number
- "beatspermeasure" attribute: number
- "instrument" tag: defines a single instrument track
- "instrument" attribute: "ToneInstrument" or "AdditiveInstrument"
- "params" tag: where custom parameters unique to each instrument go
- In the additive synthesizer:
- "sounddef" tag: define an additive sound by adding harmonics
- "amp" attribute: amplitude of base frequency - number
- "harmonic" tag: define a harmonic to add in
- "harmonic" attribute: harmonic to add in - number
- "amp" attribute: amplitude of harmonic - number
- "effects" tag: control the effect on the instrument. All instruments share a common set of available effects.
- "effect" tag: define a new effect on the instrument (using the "effect" attribute). Only "NoiseGate" is supported.
- "effect" attribute: Only "NoiseGate" is supported.
- "param" tag: set a parameter for the effect
- "name" attribute: the name of the parameter to set ("attack", "hold", "release", or "threshold" for NoiseGates)
- "value" attribute: the value to set the parameter to - number
- "order" tag: control the order in which effects are applied.
- "effect" tag: a tag representing one of the effects
- "id" attribute: the effect to pass the last output's audio through
- "note" tag: play a note
- "measure" attribute: the measure in the song to play this note at
- "beat" attribute: the beat in the measure to play this note at
- "duration" attribute: the length (in beats) to hold this note for
- "note" attribute: the note's key
- In "AdditiveInstrument"s:
- "sd" attribute: set the sounddef to use - number
- "c_from" attribute: used with c_to (without "sd"). crossfade from this sounddef to the other one - number
- "c_to" attribute: used with c_from (without "sd"). crossfade to this sounddef from the other one - number
- "g_from" attribute: used with g_to (in place of "note"). glissando from this frequency to the other one - key
- "g_to" attribute: used with g_from (in place of "note"). glissando to this frequency from the other one - key
- "attack" attribute: modify the ADSR envelope's attack duration (seconds) - number
- "decay" attribute: modify the ADSR envelope's decay duration (seconds) - number
- "sustain" attribute: modify the ADSR envelope's sustain (multiply the sound's amplitude by this after decay) - number
- "release" attribute: modify the ADSR envelope's release duration (seconds) - number