summaryrefslogtreecommitdiff
path: root/demos/pmorales/b3.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'demos/pmorales/b3.lsp')
-rw-r--r--demos/pmorales/b3.lsp40
1 files changed, 40 insertions, 0 deletions
diff --git a/demos/pmorales/b3.lsp b/demos/pmorales/b3.lsp
new file mode 100644
index 0000000..c4c7b33
--- /dev/null
+++ b/demos/pmorales/b3.lsp
@@ -0,0 +1,40 @@
+;;; ADDITIVE SYNTHESIS
+;;; Risset Bell
+;;; coded by Pedro Jose Morales
+;;; pmorales@iele-ab.uclm.es
+
+(setf *pmorales-path* (current-path))
+(load (strcat *pmorales-path* "pjmg.lsp"))
+
+(defun bell-partial (amp dur frq)
+ (amosc (hz-to-step frq) (pwev amp dur (* amp 12e-5))))
+
+(defun risset-bell (amp dur frq)
+ (sim
+ (bell-partial amp dur (* frq .56))
+ (bell-partial (* amp .67) (* dur .9) (+ (* frq .56) 1))
+ (bell-partial (* amp 1.35) (* dur .65) (* frq .92))
+ (bell-partial (* amp 1.8) (* dur .55) (+ (* frq .92) 1.7))
+ (bell-partial (* amp 2.67) (* dur .325) (* frq 1.19))
+ (bell-partial (* amp 1.67) (* dur .35) (* frq 1.7))
+ (bell-partial (* amp 1.46) (* dur .25) (* frq 2.0))
+ (bell-partial (* amp 1.33) (* dur .2) (* frq 2.74))
+ (bell-partial (* amp 1.33) (* dur .15) (* frq 3.0))
+ (bell-partial amp (* dur .1) (* frq 3.76))
+ (bell-partial (* amp 1.33) (* dur .075) (* frq 4.07))))
+
+
+(defun risset-bell-sequence ()
+ (sim (at 0.0 (risset-bell 1.0 4.0 999.0))
+ (at 2.0 (risset-bell 1.0 4.0 633.0))
+ (at 4.0 (risset-bell 1.0 4.0 211.0))
+ (at 6.0 (risset-bell 1.0 4.0 999.0))
+ (at 8.0 (risset-bell 0.7 20.0 633.0))
+ (at 10.0 (risset-bell 0.7 20.0 211.0))
+ (at 12.0 (risset-bell 0.7 20.0 999.0))
+ (at 14.0 (risset-bell 0.7 20.0 80.0))))
+
+(defun risset-bell-demo () (ss (m)))
+
+
+