CM(165): (with-sound()
;; 10 seconds of this is way too long
;; we only control the onset time of each note
(loop for time from 0 by 0.2 below 10 do
(fm-violin time 0.1 440 0.1)))
"/zap/test.snd"
CM(166): (with-sound()
(loop
;; 2 seconds total may be tolerable
for time from 0 by 0.2 below 2
;; we add another controlling variable,
;; frequency starts at 230 Hz and steps by 10 Hz on each iteration
for freq from 230 by 10 do
(fm-violin time 0.1 freq 0.1)))
"/zap/test.snd"
CM(168): (with-sound()
(loop
for time from 0 by 0.2 below 2
;; frequency is randomly chosen between 200 and 250Hz
for freq = (+ 220 (random 50.0))
do (fm-violin time 0.1 freq 0.1)))
(with-sound()
(loop repeat 1
for time from 0 by 0.2 below 2
;; frequency is randomly chosen between 200 and 250Hz
for freq = (+ 220 (random 50.0)) while (< freq 260)
do (fm-violin time 0.1 freq 0.1)))
"/zap/test.snd"
CM(169): (with-sound()
(loop
for time from 0 by 0.2 below 2
;; intermediate binding, steps by 100 starting at 200
for j from 220 by 100
;; add a random component to the staircase
for freq = (+ j (random 50.0))
do (fm-violin time 0.1 freq 0.1)))
"/zap/test.snd"
CM(170): (with-sound()
(loop
for time from 0 by 0.2 below 2
for j from 220 by 100
for freq = (+ j (random 50.0))
;; add random amplitudes
for amp = (+ 0.05 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(171): (with-sound()
(loop
for time from 0 by 0.2 below 2
for j from 220 by 100
for freq = (+ j (random 50.0))
for amp = (+ 0.01 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(172): (with-sound()
(loop
for time from 0 by 0.2 below 2
for j from 220 by 100
for freq = (+ j (random 50.0))
for amp = (+ 0.001 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(173): (with-sound()
(loop
for time from 0 by 0.2 below 2
for j from 220 by 100
for freq = (+ j (random 50.0))
for amp = (+ 0.001 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(174): (expt 2 (/ 12))
1.0594631
CM(175): (with-sound()
(loop
;; this is the "spacing" of semitones in the
;; 12 tone tempered scale
with inc = (expt 2 (/ 12))
for time from 0 by 0.2 below 2
;; frequency starts at 220 and then is
;; multiplied by a constant each iteration
;; (note it is multiplied as opposed to the
;; addition we were doing before. Multiplying
;; by a constant gives us equally spaced
;; intervals in the perceptual space...
for freq = 220 then (* freq inc)
for amp = (+ 0.001 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(176): (with-sound()
(loop
;; this tempered scale splits a "octave"
;; where the upper note is 3 times the
;; lower note into 12 parts
with inc = (expt 3 (/ 12))
for time from 0 by 0.2 below 2
for freq = 220 then (* freq inc)
for amp = (+ 0.001 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(177): (with-sound()
(loop with inc = (expt 3 (/ 12))
for time from 0 by 0.2 below 2
for freq = 220 then (* freq inc)
for amp = (+ 0.001 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(178): (with-sound()
(loop
;; this one is the spacing between notes
;; in clusters in Stockhausen's Studio I
with inc = (expt 5 (/ 25))
for time from 0 by 0.2 below 2
for freq = 220 then (* freq inc)
for amp = (+ 0.001 (random 0.5))
do (fm-violin time 0.1 freq amp)))
"/zap/test.snd"
CM(179):