;;; -*- Syntax: Common-Lisp; Package: COMMON-MUSIC; Base: 10; Mode: Lisp -*- ;;; Wavetable database example that interpolates between 2 spectral envelopes. (in-package :stella) (in-syntax :mk t) (defparameter *header* (header "envelope marcato = [(0,0)(.1,1,2)(.2,.1)|(.3,0.0)]; envelope ramp01 = [(0,0)(.3,1)]; envelope smooth = [(0,0)(.1,1)|(.3,0.0)];" )) (open-cmd (concatenate 'string "test.score header \"" *header* "\"")) ;;; algorithm to demonstrate 5 notes with spectral interpolation (algorithm wave-interp DBWave2vi (length 5 duration .75 sVibAmp .01 waveform0 (quotify "SU") waveform1 (quotify "BE") waveformEnv "ramp01" rVibAmp .006 ) (setf rhythm (item (items 1 .25 .75 1)) freq (item (pitches d3 e f g a bf d5 e)) ampEnv (if (< rhythm .3) "marcato" "smooth") svibFreq (+ 4 (random 1.0))) ) (stella:stella)