# 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