[Class]
chord

A specialized pattern that returns sub-pattern periods as lists of chord elements.

See generic pattern initializations for documentation on additional keyword initializations to the pattern.

Examples:

Example 1. Cycle of randomized chords.

(define pat1
  (new cycle 
       :of (list (new chord 
                      :of (new heap :notes '(c5 d ef f g af bf c6) 
                               :for (new random :of '(4 5))))
                 (new chord
                      :of (new heap :notes '(c4 d ef f g af bf c5) 
                               :for (new random :of '(4 5))))
                 (new chord
                      :of (new heap :notes '(c3 d ef f g af bf c) 
                               :for (new random :of '(4 5)))))))

(define (play-pat reps pat amp tempo)
  (let ((rhy (new cycle :of '(e e e s))))
    (process repeat reps
             for r = (rhythm (next rhy) tempo)
             each k in (next pat)
             output (new midi :time (now)
                         :keynum k
                         :amplitude amp
                         :duration (* r .75))
             wait r)))

(events (play-pat 40 pat1 .8 120) "test.mid")
 "test.mid"

See also: