Hi everyone, at first glace, I couldn’t find anyone that posted a play_pattern_timed function for external samples, so I thought I’ld share the one I came up with.
g84 = "C:/S/C5.wav" g85 = "C:/S/C#5.wav" g86 = "C:/S/D5.wav" g87 = "C:/S/D#5.wav" g88 = "C:/S/E5.wav" g89 = "C:/S/F5.wav" g90 = "C:/S/F#5.wav" g91 = "C:/S/G5.wav" g92 = "C:/S/G#5.wav" g93 = "C:/S/A5.wav" g94 = "C:/S/A#5.wav" g95 = "C:/S/B5.wav" g96 = "C:/S/C6.wav" n1 = [g85,g85,g87,g82] d1 = [3,3,3,2] define :sample_pattern_lead do live_loop :lead do if x != n1.length sample n1[i], amp: 1.2 d1[i].times do sleep 1 use_bpm tempo end i = i + 1 x = x + 1 print x else stop end end end sample_pattern_lead
It loops through every instance of sleep, and then resets the tempo, so you can write another function to control the tempo. That way you can change the tempo across several functions without them going out of sync.
If anyone has any ideas how to optimize it, or write it shorter, shoot