Last active
June 8, 2025 07:10
-
-
Save darinwilson/137764d4b06072de626c to your computer and use it in GitHub Desktop.
Revisions
-
darinwilson renamed this gist
Nov 6, 2015 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
darinwilson revised this gist
Nov 6, 2015 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -163,7 +163,7 @@ end ## Example 16 - a better way to thread live_loop :beeps do start_note = ring(60, 62, 63, 62).tick my_chord = chord(start_note, :M7) play my_chord, release: 2 16.times do play my_chord.choose, release: 0.25, amp: [0.75, 0.5, 0.25].choose -
darinwilson created this gist
Nov 6, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,230 @@ ############################################## ## Example 1 - play a note play 60 ############################################## ## Example 2 - play 4 random notes 4.times do play rrand_i(60, 90) sleep 0.5 end ############################################## ## Example 3 - play a major chord play chord(60, :M) ############################################## ## Example 4 - play an arpeggio loop do play chord(60, :M7).tick sleep 0.5 end ############################################## ## Example 5 - play a chord with an arpeggio loop do play chord(60, :M7), release: 3 16.times do play chord(60, :M7).choose sleep 0.25 end end ############################################## ## Example 6 - play a shifting chord with an arpeggio start_notes = ring(60, 62, 63, 62) loop do my_chord = chord(start_notes.tick, :M7) play my_chord, release: 2 16.times do play my_chord.choose sleep 0.125 end end ############################################## ## Example 7 - play a sample sample :drum_bass_hard ############################################## ## Example 8 - play a simple drum beat loop do sample :bd_haus sleep 0.5 end ############################################## ## Example 9 - alternate kick and snare loop do if tick.even? sample :bd_haus else sample :sn_dolf end sleep 0.5 end ############################################## ## Example 10 - combine kick, snare and hi-hat loop do sample :drum_cymbal_closed if tick.even? sample :bd_haus else sample :sn_dolf end sleep 0.25 sample :drum_cymbal_closed sleep 0.25 end ############################################## ## Example 11 - play a drum loop once sample :loop_amen ############################################## ## Example 12 - play a drum loop as a loop loop do sample :loop_amen sleep sample_duration(:loop_amen) end ############################################## ## Example 13 - try to combine melody, harmony, rhythm (doesn't work) loop do start_note = ring(60, 62, 63, 62).tick my_chord = chord(start_note, :M7) play my_chord, release: 2 16.times do play my_chord.choose, release: 0.25, amp: [0.75, 0.5, 0.25].choose sleep 0.125 end end loop do sample :loop_amen sleep sample_duration(:loop_amen) end ############################################## ## Example 14 - a fix for Example 13, using threads (drums out of sync) in_thread do loop do start_note = ring(60, 62, 63, 62).tick my_chord = chord(start_note, :M7) play my_chord, release: 2 16.times do play my_chord.choose, release: 0.25, amp: [0.75, 0.5, 0.25].choose sleep 0.125 end end end loop do sample :loop_amen sleep sample_duration(:loop_amen) end ############################################## ## Example 15 - a fix for Example 14, drums now in sync in_thread do loop do start_note = ring(60, 62, 63, 62).tick my_chord = chord(start_note, :M7) play my_chord, release: 2 16.times do play my_chord.choose, release: 0.25, amp: [0.75, 0.5, 0.25].choose sleep 0.125 end end end loop do sample :loop_amen, beat_stretch: 2 sleep 2 end ############################################## ## Example 16 - a better way to thread live_loop :beeps do start_note = ring(60, 62, 63, 62).tick my_chord = chord(start_note, :maj9) play my_chord, release: 2 16.times do play my_chord.choose, release: 0.25, amp: [0.75, 0.5, 0.25].choose sleep 0.125 end end live_loop :drums do sample :loop_amen, beat_stretch: 2 sleep 2 end ############################################## ## Example 17 - use a different synth use_synth :saw loop do play scale(60, :major).choose sleep 0.25 end ############################################## ## Example 18 - a simple pattern to demo effects play 50 sleep 0.5 sample :elec_plip sleep 0.5 play 62 ############################################## ## Example 19 - adding reverb with_fx :reverb do play 50 sleep 0.5 sample :elec_plip sleep 0.5 play 62 end ############################################## ## Example 20 - adding echo with_fx :echo do play 50 sleep 0.5 sample :elec_plip sleep 0.5 play 62 end ############################################## ## Example 21 - adding reverb and echo together with_fx :echo do with_fx :reverb do play 50 sleep 0.5 sample :elec_plip sleep 0.5 play 62 end end