From f11992a8fca36b7be77c7225a0007468bf6a29cb Mon Sep 17 00:00:00 2001 From: Anthony Wang Date: Sat, 17 Dec 2022 14:13:14 -0600 Subject: [PATCH] Implement saw wave --- main.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/main.scm b/main.scm index 75c78df..a3e3788 100644 --- a/main.scm +++ b/main.scm @@ -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)) ) ))