diff --git a/docs/_static/audio/synth_noise.wav b/docs/_static/audio/synth_noise.wav
new file mode 100644
index 0000000..9ad61aa
Binary files /dev/null and b/docs/_static/audio/synth_noise.wav differ
diff --git a/docs/_static/audio/synth_pulse.wav b/docs/_static/audio/synth_pulse.wav
new file mode 100644
index 0000000..90eab65
Binary files /dev/null and b/docs/_static/audio/synth_pulse.wav differ
diff --git a/docs/_static/audio/synth_pwm_fast.wav b/docs/_static/audio/synth_pwm_fast.wav
new file mode 100644
index 0000000..2dd7279
Binary files /dev/null and b/docs/_static/audio/synth_pwm_fast.wav differ
diff --git a/docs/_static/audio/synth_pwm_slow.wav b/docs/_static/audio/synth_pwm_slow.wav
new file mode 100644
index 0000000..4949a08
Binary files /dev/null and b/docs/_static/audio/synth_pwm_slow.wav differ
diff --git a/docs/generate_audio.py b/docs/generate_audio.py
index 84010b3..d667806 100644
--- a/docs/generate_audio.py
+++ b/docs/generate_audio.py
@@ -448,6 +448,22 @@ def gen_synth_acoustic_guitar():
p.strum(ch, Duration.WHOLE, velocity=75)
render("synth_acoustic_guitar", score)
+def gen_synth_pulse():
+ _synth_demo("pulse", "pulse")
+
+def gen_synth_noise():
+ score = Score("4/4", bpm=100)
+ p = score.part("demo", synth="noise", envelope="pad", volume=0.3,
+ lowpass=2000, reverb=0.3)
+ p.add("C4", Duration.WHOLE * 2, velocity=80)
+ render("synth_noise", score)
+
+def gen_synth_pwm_slow():
+ _synth_demo("pwm_slow", "pwm_slow", envelope="pad")
+
+def gen_synth_pwm_fast():
+ _synth_demo("pwm_fast", "pwm_fast")
+
def gen_synth_fm():
_synth_demo("fm", "fm", envelope="piano")
@@ -802,6 +818,10 @@ GENERATORS = [
gen_synth_saw,
gen_synth_triangle,
gen_synth_square,
+ gen_synth_pulse,
+ gen_synth_noise,
+ gen_synth_pwm_slow,
+ gen_synth_pwm_fast,
gen_synth_fm,
gen_synth_supersaw,
gen_synth_piano,
diff --git a/docs/guide/synths.rst b/docs/guide/synths.rst
index e585ce1..7a29a32 100644
--- a/docs/guide/synths.rst
+++ b/docs/guide/synths.rst
@@ -114,6 +114,10 @@ the classic NES-style buzzy tone.
lead = score.part("lead", synth="pulse", envelope="pluck")
+.. raw:: html
+
+
+
FM Synthesis
~~~~~~~~~~~~
@@ -162,6 +166,10 @@ Useful as a texture layer, a percussion source, or a wind/ocean effect.
lowpass=2000,
)
+.. raw:: html
+
+
+
Ensemble Waveforms
------------------
@@ -219,6 +227,10 @@ from Boards of Canada to Drake? PWM with a slow LFO.
reverb=0.4,
)
+.. raw:: html
+
+
+
PWM Fast
~~~~~~~~
@@ -231,6 +243,10 @@ produces a natural chorus/vibrato effect built into the waveform itself.
lead = score.part("lead", synth="pwm_fast", envelope="pluck", volume=0.5)
+.. raw:: html
+
+
+
ADSR Envelopes
--------------