blob: 6e3a41065d9ed0c65a68e4e7efa44df5dedaf5d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Synth - gungerky</title>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<h1>Dream Softly</h1>
<audio controls src="./music.wav"></audio>
<h2>Project</h2>
<span>This piece, along with the synthesizer software used to produce it was created as part of a project for CSE 471</span>
<span>Project and piece created by Kyle Gunger.</span>
<a href="./music.score">Download the source for Dream Softly</a>
<a href="./about-additive.html">An in depth look at the additive synth</a>
<a href="./about-effects.html">An in depth look at the effects system</a>
<h3>Source format</h3>
<ul>
<li class="attr">XML format</li>
<li><span class="attr">"score"</span> tag: with bpm and beatspermeasure attributes</li>
<ul>
<li><span class="attr">"bpm"</span> attribute: number</li>
<li><span class="attr">"beatspermeasure"</span> attribute: number</li>
<br>
<li><span class="attr">"instrument"</span> tag: defines a single instrument track</li>
<ul>
<li><span class="attr">"instrument"</span> attribute: "ToneInstrument" or "AdditiveInstrument"</li>
<br>
<li><span class="attr">"params"</span> tag: where custom parameters unique to each instrument go
<ul>
<li>In the additive synthesizer:</li>
<li><span class="attr">"sounddef"</span> tag: define an additive sound by adding harmonics</li>
<ul>
<li><span class="attr">"amp"</span> attribute: amplitude of base frequency - number</li>
<br>
<li><span class="attr">"harmonic"</span> tag: define a harmonic to add in</li>
<ul>
<li><span class="attr">"harmonic"</span> attribute: harmonic to add in - number</li>
<li><span class="attr">"amp"</span> attribute: amplitude of harmonic - number</li>
</ul>
</ul>
</ul>
<li><span class="attr">"effects"</span> tag: control the effect on the instrument. All instruments share a common set of available effects.</li>
<ul>
<li><span class="attr">"effect"</span> tag: define a new effect on the instrument (using the "effect" attribute). Only "NoiseGate" is supported.</li>
<ul>
<li><span class="attr">"effect"</span> attribute: Only "NoiseGate" is supported.</li>
<br>
<li><span class="attr">"param"</span> tag: set a parameter for the effect</li>
<ul>
<li><span class="attr">"name"</span> attribute: the name of the parameter to set ("attack", "hold", "release", or "threshold" for NoiseGates)</li>
<li><span class="attr">"value"</span> attribute: the value to set the parameter to - number</li>
</ul>
</ul>
<li><span class="attr">"order"</span> tag: control the order in which effects are applied.</li>
<ul>
<li><span class="attr">"effect"</span> tag: a tag representing one of the effects</li>
<ul>
<li><span class="attr">"id"</span> attribute: the effect to pass the last output's audio through</li>
</ul>
</ul>
</ul>
<li><span class="attr">"note"</span> tag: play a note</li>
<ul>
<li><span class="attr">"measure"</span> attribute: the measure in the song to play this note at</li>
<li><span class="attr">"beat"</span> attribute: the beat in the measure to play this note at</li>
<li><span class="attr">"duration"</span> attribute: the length (in beats) to hold this note for</li>
<li><span class="attr">"note"</span> attribute: the note's key</li>
<br>
<li class="attr">In "AdditiveInstrument"s:</li>
<li><span class="attr">"sd"</span> attribute: set the sounddef to use - number</li>
<li><span class="attr">"c_from"</span> attribute: used with c_to (without "sd"). crossfade from this sounddef to the other one - number</li>
<li><span class="attr">"c_to"</span> attribute: used with c_from (without "sd"). crossfade to this sounddef from the other one - number</li>
<li><span class="attr">"g_from"</span> attribute: used with g_to (in place of "note"). glissando from this frequency to the other one - key</li>
<li><span class="attr">"g_to"</span> attribute: used with g_from (in place of "note"). glissando to this frequency from the other one - key</li>
<li><span class="attr">"attack"</span> attribute: modify the ADSR envelope's attack duration (seconds) - number</li>
<li><span class="attr">"decay"</span> attribute: modify the ADSR envelope's decay duration (seconds) - number</li>
<li><span class="attr">"sustain"</span> attribute: modify the ADSR envelope's sustain (multiply the sound's amplitude by this after decay) - number</li>
<li><span class="attr">"release"</span> attribute: modify the ADSR envelope's release duration (seconds) - number</li>
</ul>
</ul>
</ul>
</ul>
</body>
</html>
|