example.rkt
#lang racket/base

(require "coremidi.rkt")

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; C scale

(define (play-each notes)
  (define midi (midi-open))
  (program-change midi 1 0)
  (let loop ((notes notes))
    (note-on midi 1 (car notes) 120)
    (sleep 1)
    (note-off midi 1 (car notes))
    (if (null? (cdr notes)) null (loop (cdr notes))))
  (midi-close midi) (void))

(play-each '(60 62 64 65 67 69 71 72 ))