diff options
-rw-r--r-- | main.scm | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -2,11 +2,18 @@ (define bitrate 8000) +(define (saw t) ( + let ((m (floor-remainder (+ t (/ 1 4)) 1))) + (if (< m 1/2) + (- (* 4 m) 1) + (- 3 (* 4 m))) +)) + (define (note freq start len) ( lambda (t) ( if (or (< t start) (>= t (+ start len))) 0 - (sin (* 2 (acos -1) freq t)) + (saw (* freq t)) ) )) |