(use numbers miscmacros specialized-io srfi-18) (define *pi* 3.1415926535897) (define *amp* 500) (define *freq* 100) (define *rate* 44100) (define *t* #f) (define *sample* values) (define (noise) (set! *t* (make-thread (lambda () (with-output-to-file "/dev/audio" (lambda () (let loop ((t 1)) (*sample* t) (loop (add1 1)))))))) (thread-start! *t*)) (define (stop) (when (thread? *t*) (thread-terminate! *t*))) (set! *sample* (lambda (t) (repeat 2 (write-flonum (random *amp*) ; (* *amp* (signum (sin (* t *freq*)))) ; (* *amp* (sin (* t *freq*))) (current-output-port)))))