Advertisement
triclops200

ChordRef.scm

Jan 4th, 2013
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.93 KB | None | 0 0
  1. (define A 1)
  2. (define B 2)
  3. (define C 3)
  4. (define D 4)
  5. (define E 5)
  6. (define F 6)
  7. (define G 7)
  8. (define sharp-wheel (list F C G D A E B))
  9. (define flat-wheel (list B E A D G C F))
  10. (define get-note-name
  11.   (lambda (note)
  12.     (case note
  13.       ((A) "A")
  14.       ((B) "B")
  15.       ((C) "C")
  16.       ((D) "D")
  17.       ((E) "E")
  18.       ((F) "F")
  19.       ((G) "G"))))
  20.  
  21. (define range
  22.   (lambda (n m)
  23.     (if (<= n m)
  24.     (range_h n (- m 1) '())
  25.     (reverse (range_h (+ m 1) n '())))))
  26.  
  27. (define range_h
  28.   (lambda (n m xs)
  29.     (if (= n m)
  30.     (cons m xs)
  31.     (range_h n (- m 1) (cons m xs)))))
  32.  
  33. (define get-accidents
  34.   (lambda (n xs)
  35.     (if (= n 0)
  36.     (list (car xs))
  37.     (cons (car xs) (get-accidents (- n 1) (cdr xs))))))
  38.  
  39. (define num-sharps
  40.   (lambda (key)
  41.     (modulo (+ (* key 2) 1) 7)))
  42.  
  43. (define num-flats
  44.   (lambda (key)
  45.     (case key
  46.       ((A) 4)
  47.       ((B) 2)
  48.       ((C) 0)
  49.       ((D) 5)
  50.       ((E) 3)
  51.       ((F) 1)
  52.       ((G) 6))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement