Play pattern of notes with specific times

play_pattern_timed  notes (list), times (list_or_number)

Play each note in a list of notes one after another with specified times between them. The notes should be a list of MIDI numbers, symbols such as :E4 or chords such as chord(:A3, :major) - identical to the first parameter of the play function. The times should be a list of times between the notes in beats.

If the list of times is smaller than the number of gaps between notes, the list is repeated again. If the list of times is longer than the number of gaps between notes, then some of the times are ignored. See examples for more detail.

Accepts optional args for modification of the synth being played. See each synth’s documentation for synth-specific opts. See use_synth and with_synth for changing the current synth.

Introduced in v2.0

Options

amp:

The amplitude of the note

amp_slide:

The duration in beats for amplitude changes to take place

pan:

The stereo position of the sound. -1 is left, 0 is in the middle and 1 is on the right. You may use a value in between -1 and 1 such as 0.25

pan_slide:

The duration in beats for the pan value to change

attack:

The duration in beats for the sound to reach maximum amplitude. Choose short values for percussive sounds and long values for a fade-in effect.

sustain:

The duration in beats for the sound to stay at full amplitude. Used to give the sound duration

release:

The duration in beats for the sound to fade out.

Examples

# Example 1

play_pattern_timed [40, 42, 44, 46], [1, 2, 3]



play 40
sleep 1
play 42
sleep 2
play 44
sleep 3
play 46


 
 
# same as:
 
 
 
 
 
 
 
 



# Example 2

play_pattern_timed [40, 42, 44, 46, 49], [1, 0.5]



play 40
sleep 1
play 42
sleep 0.5
play 44
sleep 1
play 46
sleep 0.5
play 49


 
 
# same as:
 
 
 
 
 
 
 
 
 
 



# Example 3

play_pattern_timed [40, 42, 44, 46], [0.5]



play 40
sleep 0.5
play 42
sleep 0.5
play 44
sleep 0.5
play 46


 
 
# same as:
 
 
 
 
 
 
 
 



# Example 4

play_pattern_timed [40, 42, 44], [1, 2, 3, 4, 5]



play 40
sleep 1
play 42
sleep 2
play 44


 
 
#same as: