24 lines
375 B
Scheme
24 lines
375 B
Scheme
(use-modules (ice-9 binary-ports))
|
|
|
|
(define (note freq start len) (
|
|
lambda (t) (
|
|
if (or (< t start) (>= t (+ start len)))
|
|
0
|
|
freq
|
|
)
|
|
))
|
|
|
|
(define (music t) (
|
|
* t (logand 42 (ash t -10))
|
|
))
|
|
|
|
(define (play t) (
|
|
cons (modulo (music t) 256) (if (< t 100000)
|
|
(play (+ t 1))
|
|
'()
|
|
)
|
|
))
|
|
|
|
; (display (play 0))
|
|
(map (lambda (c) (put-u8 (current-output-port) c)) (play 0))
|