# Get a range of notes

``

    note_range  low_note (note), high_note (note)

Produces a ring of all the notes between a low note and a high note. By default this is chromatic (all the notes) but can be filtered with a :pitches argument. This opens the door to arpeggiator style sequences and other useful patterns. If you try to specify only pitches which aren’t in the range it will raise an error - you have been warned!

Introduced in v2.6

## Options

pitches: | An array of notes (symbols or ints) to filter on. Octave information is ignored.

## Examples

# Example 1
``
    (note_range :c4, :c5)
| ``
    # => (ring 60,61,62,63,64,65,66,67,68,69,70,71,72)
# Example 2
``
    (note_range :c4, :c5, pitches: (chord :c, :major))
| ``
    # => (ring 60,64,67,72)
# Example 3
``
    (note_range :c4, :c6, pitches: (chord :c, :major))
| ``
    # => (ring 60,64,67,72,76,79,84)
# Example 4
``
    (note_range :c4, :c5, pitches: (scale :c, :major))
| ``
    # => (ring 60,62,64,65,67,69,71,72)
# Example 5
``
    (note_range :c4, :c5, pitches: [:c4, :g2])
| ``
    # => (ring 60,67,72)
# Example 6
``
    live_loop :arpeggiator do

      play (note_range :c4, :c5, pitches: (chord :c, :major)).tick
      sleep 0.125
    end
| ``
    # try changing the chord