├── Don't Stop Believing by Journey ├── Never Ending Circles by Chvrches.txt ├── Never Ending Circles by Chvrches.wav ├── README.md ├── Spooky Halloween.txt ├── Supersonic by Oasis.txt ├── Thunder by Imagine Dragons ├── final_fantasy.txt ├── stranger-things.rb └── strangerthings.wav /Don't Stop Believing by Journey: -------------------------------------------------------------------------------- 1 | live_loop :melody do 2 | use_synth :supersaw 3 | use_synth_defaults sustain: 0.1 4 | c = line(60, 130, steps: 25).reflect 5 | 4.times do 6 | play_chord [:e4, :b4], cutoff: c.look 7 | sleep 0.25 8 | play :b3, cutoff: c.look 9 | sleep 0.25 10 | end 11 | tick 12 | 4.times do 13 | play_chord [:fs4, :b4], cutoff: c.look 14 | sleep 0.25 15 | play :b3, cutoff: c.look 16 | sleep 0.25 17 | end 18 | tick 19 | 4.times do 20 | play_chord [:e4, :b4], cutoff: c.look 21 | sleep 0.25 22 | play :b3, cutoff: c.look 23 | sleep 0.25 24 | end 25 | tick 26 | 4.times do 27 | play_chord [:cs4, :a4], cutoff: c.look 28 | sleep 0.25 29 | play :a3, cutoff: c.look 30 | sleep 0.25 31 | end 32 | tick 33 | 4.times do 34 | play_chord [:e4, :b4], cutoff: c.look 35 | sleep 0.25 36 | play :b3, cutoff: c.look 37 | sleep 0.25 38 | end 39 | tick 40 | 4.times do 41 | play_chord [:fs4, :b4], cutoff: c.look 42 | sleep 0.25 43 | play :b3, cutoff: c.look 44 | sleep 0.25 45 | end 46 | tick 47 | 4.times do 48 | play_chord [:ef4, :b4], cutoff: c.look 49 | sleep 0.25 50 | play :b3, cutoff: c.look 51 | sleep 0.25 52 | end 53 | tick 54 | 4.times do 55 | play_chord [:cs4, :a4], cutoff: c.look 56 | sleep 0.25 57 | play :a3, cutoff: c.look 58 | sleep 0.25 59 | end 60 | tick 61 | end 62 | 63 | with_fx :reverb do 64 | live_loop :bass do 65 | use_synth :fm 66 | use_synth_defaults sustain: 0.1, divisor: 0.6 67 | play :e2, amp: 1, sustain: 0.5 68 | sleep 1.25 69 | play :fs2 70 | sleep 0.25 71 | play :gs2 72 | sleep 0.25 73 | play :b2, sustain: 0.5 74 | sleep 1.5 75 | play :cs3 76 | sleep 0.25 77 | play :ds3 78 | sleep 0.25 79 | play :cs3, sustain: 0.5 80 | sleep 1.5 81 | play :ds3 82 | sleep 0.25 83 | play :e3 84 | sleep 0.25 85 | play :a2, sustain: 0.5 86 | sleep 1.5 87 | play :ds3 88 | sleep 0.25 89 | play :e3 90 | sleep 0.5 91 | end 92 | end 93 | 94 | live_loop :beat, delay: 16 do 95 | sync :melody 96 | sample :drum_splash_hard 97 | sleep 1 98 | 4.times do 99 | sample :drum_cymbal_hard 100 | sleep 2 101 | end 102 | sample :drum_cymbal_hard 103 | sleep 4 104 | 6.times do 105 | sample :drum_splash_hard 106 | sleep 0.5 107 | end 108 | end 109 | 110 | live_loop :loop, delay: 24 do 111 | c = line(0, 2, steps: 8).reflect 112 | sample :loop_garzul, beat_stretch: 8, amp: c.tick 113 | sleep 8 114 | end 115 | -------------------------------------------------------------------------------- /Never Ending Circles by Chvrches.txt: -------------------------------------------------------------------------------- 1 | # Welcome to Sonic Pi v2.7 2 | # Never Ending Circles, by Chvrches 3 | 4 | define :intro do 5 | 2.times do 6 | 3.times do 7 | with_fx :reverb, room: 0.9 do 8 | with_synth :dsaw do 9 | play :F2, amp: 2.5 10 | play :F1, amp: 2.5 11 | end 12 | end 13 | play :F4 14 | sleep 0.875 15 | play :C6 16 | play :C5 17 | sleep 0.0625 18 | play :G4 19 | sleep 0.0625 20 | end 21 | play :A4 22 | play :A2 23 | sleep 1 24 | end 25 | 2.times do 26 | 3.times do 27 | with_fx :reverb, room: 0.9 do 28 | with_synth :prophet do 29 | play :As1, amp: 2.5 30 | end 31 | end 32 | play :As3 33 | sleep 0.875 34 | play :C6 35 | sleep 0.0625 36 | play :G4 37 | sleep 0.0625 38 | end 39 | play :F4 40 | play :F2 41 | sleep 1 42 | end 43 | end 44 | 45 | define :leadin do 46 | with_fx :echo, phase: 1, decay: 12 do 47 | 1.times do 48 | play :C6 49 | sleep 0.25 50 | play :F5 51 | sleep 0.25 52 | play :G5 53 | sleep 1.5 54 | end 55 | sleep 6 56 | 1.times do 57 | play :C6 58 | sleep 0.25 59 | play :G5 60 | sleep 0.25 61 | play :C5 62 | sleep 1.5 63 | end 64 | sleep 6 65 | end 66 | end 67 | 68 | define :chorus do 69 | play :F4, sustain: 8 70 | play :Bb4, sustain: 8 71 | sleep 8 72 | play :As3, sustain: 8 73 | play :F4, sustain: 8 74 | sleep 8 75 | end 76 | 77 | use_bpm 90 78 | 79 | live_loop :melody do 80 | with_fx :bitcrusher, bits: 8 do 81 | with_fx :reverb do 82 | use_synth :saw 83 | use_synth_defaults attack: 0, duration: 0, sustain: 0.1, release: 0.4 84 | 2.times do 85 | intro 86 | end 87 | #lead-in 88 | 2.times do 89 | leadin 90 | end 91 | #chorus 92 | 2.times do 93 | chorus 94 | end 95 | 1.times do 96 | intro 97 | end 98 | 2.times do 99 | leadin 100 | end 101 | 2.times do 102 | chorus 103 | end 104 | end 105 | end 106 | end 107 | 108 | with_fx :distortion, distort: 0.6 do 109 | with_fx :reverb, room: 0.6 do 110 | live_loop :bassdrum do 111 | 3.times do 112 | 3.times do 113 | sample :drum_bass_hard, amp: 3 114 | sleep 0.5 115 | sample :drum_cymbal_open, start: 0.2, finish: 0.4 116 | sleep 0.5 117 | end 118 | sample :sn_dolf 119 | sleep 1 120 | end 121 | 3.times do 122 | sample :drum_bass_hard, amp: 3 123 | sleep 0.5 124 | sample :drum_cymbal_open, start: 0.2, finish: 0.4 125 | sleep 0.5 126 | end 127 | 4.times do 128 | sample :sn_dolf 129 | sleep 0.25 130 | end 131 | end 132 | end 133 | end -------------------------------------------------------------------------------- /Never Ending Circles by Chvrches.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/olsonk/sonic-pi-projects/c37fc6ad98f37bef81d2969a07dea908a2352691/Never Ending Circles by Chvrches.wav -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sonic-pi-projects 2 | -------------------------------------------------------------------------------- /Spooky Halloween.txt: -------------------------------------------------------------------------------- 1 | with_fx :reverb, room: 1 do 2 | with_fx :echo do 3 | with_synth :hollow do 4 | live_loop :spooky do 5 | play rrand(50, 70), cutoff: rrand(70, 100), amp: rrand(1, 2.5) 6 | sleep rrand(0.75, 1.5) 7 | end 8 | end 9 | end 10 | end 11 | 12 | with_fx :flanger do 13 | with_synth :growl do 14 | use_synth_defaults amp: 0.5 15 | live_loop :feedback do 16 | play rrand(61, 65), sustain: rrand(1, 5) 17 | sleep rrand(0.5, 2) 18 | end 19 | end 20 | end 21 | 22 | with_fx :distortion do 23 | with_fx :ixi_techno, phase: 1 do 24 | live_loop :static do 25 | sample :sn_dub, amp: 2, rate: rrand(0.05, 0.2) 26 | sleep rrand(1, 10) 27 | end 28 | end 29 | end 30 | 31 | with_fx :reverb, room: 0.5 do 32 | with_fx :echo, phase: 1, decay: 10 do 33 | live_loop :footsteps, pan: rrand(-1, 1) do 34 | sample :elec_plip, amp: 2 35 | sleep 1 36 | sample :elec_plip, amp: 3 37 | sleep 1 38 | sample :elec_plip, amp: 4 39 | sleep 1 40 | sample :elec_plip, amp: 5 41 | sleep 1 42 | sample :elec_plip, amp: 6 43 | sleep 1 44 | sample :elec_plip, amp: 7 45 | sleep rrand(1.5, 7) 46 | end 47 | end 48 | end 49 | 50 | with_synth :growl do 51 | with_fx :rbpf, mix: 0.8 do 52 | with_fx :echo, phase: 0.5 do 53 | with_fx :reverb, room: 0.9 do 54 | live_loop :organ do 55 | play scale(:E5, :minor).choose, amp: 10 56 | play scale(:E2, :minor).choose, amp: 10 57 | sleep 1 58 | end 59 | end 60 | end 61 | end 62 | end -------------------------------------------------------------------------------- /Supersonic by Oasis.txt: -------------------------------------------------------------------------------- 1 | use_bpm 50 2 | use_synth :hollow 3 | 4 | live_loop :synth do 5 | sample :drum_cymbal_open, amp: 0.5 6 | sample :drum_bass_hard 7 | sleep 0.25 8 | sample :drum_cymbal_open, amp: 0.5 9 | sleep 0.25 10 | sample :drum_cymbal_open, amp: 0.5 11 | sample :drum_snare_hard 12 | sleep 0.25 13 | sample :drum_cymbal_open, amp: 0.5 14 | sleep 0.25 15 | sample :drum_cymbal_open, amp: 0.5 16 | sample :drum_bass_hard 17 | sleep 0.25 18 | sample :drum_cymbal_open, amp: 0.5 19 | sample :drum_bass_hard 20 | sleep 0.25 21 | sample :drum_cymbal_open, amp: 0.5 22 | sample :drum_snare_hard 23 | sleep 0.25 24 | sample :drum_cymbal_open, amp: 0.5 25 | sleep 0.25 26 | end 27 | 28 | 29 | live_loop :guitar do 30 | sleep 8 31 | with_fx :distortion, distort: 0.85 do 32 | use_synth :saw 33 | use_synth_defaults release: 1.25 34 | 4.times do 35 | guitar_intro 36 | end 37 | 4.times do 38 | guitar_verse 39 | end 40 | end 41 | end 42 | 43 | define :guitar_intro do 44 | play :c4 45 | play :f2, release: 1 46 | sleep 0.25 47 | play :f4 48 | sleep 0.25 49 | play :a4 50 | sleep 0.25 51 | play :e5 52 | sleep 0.25 53 | play :b4 54 | sleep 0.25 55 | play :a4 56 | sleep 0.25 57 | play :f4 58 | sleep 0.25 59 | play :a3 60 | sleep 0.25 61 | play :a2 62 | play :c4 63 | play :e4 64 | play :a4 65 | sleep 0.75 66 | play :b2 67 | play :d4 68 | play :f4 69 | play :a4 70 | sleep 1.25 71 | end 72 | 73 | define :guitar_verse do 74 | play :c4 75 | play :f3 76 | play :a4 77 | sleep 0.5 78 | play :c4 79 | play :f3 80 | play :a4 81 | sleep 0.25 82 | play :d3 83 | play :e4 84 | play :d4 85 | play :g4 86 | sleep 0.25 87 | play :c4 88 | play :f3 89 | play :a4 90 | sleep 0.5 91 | play :f4 92 | play :d4 93 | play :g4 94 | sleep 0.25 95 | play :e4 96 | play :d4 97 | play :g4 98 | sleep 0.25 99 | play :c4 100 | play :e4 101 | play :a4 102 | sleep 0.25 103 | play :c4 104 | play :e4 105 | play :a4 106 | sleep 0.25 107 | play :c4 108 | play :e4 109 | play :a4 110 | sleep 0.25 111 | play :d4 112 | play :f4 113 | play :a4 114 | sleep 0.25 115 | sleep 0.75 116 | play :d4 117 | play :f4 118 | play :a4 119 | sleep 0.25 120 | end -------------------------------------------------------------------------------- /Thunder by Imagine Dragons: -------------------------------------------------------------------------------- 1 | # Thunder, by Imagine Dragons 2 | 3 | use_bpm 90 4 | 5 | with_fx :reverb, room: 1 do 6 | live_loop :beat do 7 | #1 8 | sample :drum_bass_hard 9 | sleep 0.75 10 | sample :drum_bass_hard 11 | sleep 0.25 12 | 13 | #2 14 | sample :perc_snap 15 | sleep 0.5 16 | sample :drum_bass_hard 17 | sleep 0.5 18 | 19 | #3 20 | sleep 0.25 21 | sample :drum_bass_hard 22 | sleep 0.25 23 | sample :drum_bass_hard 24 | sleep 0.5 25 | 26 | #4 27 | sample :perc_snap 28 | sleep 1 29 | end 30 | end 31 | 32 | with_fx :reverb, room: 0.99 do 33 | with_fx :distortion, distort: 0.8 do 34 | live_loop :stomp, delay: 24 do 35 | sleep 7 36 | 3.times do 37 | sample :bd_haus, amp: 2 38 | sleep 0.5 39 | end 40 | sleep 3.5 41 | end 42 | end 43 | end 44 | 45 | live_loop :bass do 46 | use_synth :fm 47 | bass = ring(48, 48, 41, 41).tick 48 | #1 49 | play bass 50 | sleep 0.75 51 | play bass 52 | sleep 0.25 53 | 54 | #2 55 | play bass 56 | sleep 0.5 57 | play bass 58 | sleep 0.5 59 | 60 | #3 61 | sleep 0.25 62 | play bass 63 | sleep 0.25 64 | play bass 65 | sleep 0.5 66 | 67 | #4 68 | play bass 69 | sleep 1 70 | end 71 | -------------------------------------------------------------------------------- /final_fantasy.txt: -------------------------------------------------------------------------------- 1 | use_debug false 2 | use_bpm 90 3 | 4 | cnotes = (ring "c", "d", "e", "g") 5 | anotes = (ring "a", "b", "c", "e") 6 | fnotes = (ring "f", "g", "a", "c") 7 | gnotes = (ring "g", "a", "b", "d") 8 | gsnotes = (ring "gs", "c", "ds", "g") 9 | asnotes = (ring "as", "d", "f", "a") 10 | notes = (ring cnotes, anotes, cnotes, anotes, fnotes, gnotes, gsnotes, asnotes) 11 | 12 | last_note = (ring :C, :A, :C, :A, :F, :G, :Gs, :As) 13 | last_note_oct = (ring 7, 6, 7, 6, 7, 7, 7, 7) 14 | 15 | coct = (ring 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6) 16 | aoct = (ring 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6) 17 | foct = (ring 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7) 18 | gsoct = (ring 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7) 19 | asoct = (ring 2, 3, 3, 3, 3, 4, 4, 5, 4, 5, 5, 6, 5, 6, 6, 7) 20 | octaves = (ring coct, aoct, coct, aoct, foct, foct, gsoct, gsoct) 21 | 22 | with_fx :reverb do 23 | live_loop :arp do 24 | use_synth :tri 25 | tick(:notes) 26 | 16.times do 27 | play note(notes.look(:notes).tick(:forward), octave: octaves.look(:notes).look(:forward)) 28 | sleep 0.25 29 | end 30 | play note(last_note.tick, octave: last_note_oct.look) 31 | sleep 0.25 32 | 15.times do 33 | play note(notes.look(:notes).reverse.tick(:rev), octave: octaves.look(:notes).reverse.look(:rev)) 34 | sleep 0.25 35 | end 36 | tick(:rev) 37 | end 38 | end 39 | 40 | live_loop :keyboard, delay: 64 do 41 | use_synth :hollow 42 | use_synth_defaults amp: 10 43 | play (chord :c4, :major), sustain: 6 44 | play 72, sustain: 4 45 | sleep 4 46 | play (chord :e, :minor), sustain: 2.25, amp: 10 47 | sleep 2 48 | play (chord :g, :major), sustain: 2.25, amp: 10 49 | sleep 2 50 | play (chord :c4, :major), sustain: 6 51 | play 72, sustain: 6 52 | sleep 4 53 | play :E5, sustain: 1.25 54 | sleep 1 55 | play :D5, sustain: 1.25 56 | sleep 1 57 | play :C5, sustain: 1.25 58 | sleep 1 59 | play :D5, sustain: 1.25 60 | sleep 1 61 | play (chord :c4, :major), sustain: 6 62 | play 72, sustain: 4 63 | sleep 4 64 | play (chord :e, :minor), sustain: 2.25 65 | sleep 2 66 | play (chord :g, :major), sustain: 2.25 67 | sleep 2 68 | play (chord :g, :major), sustain: 1 69 | sleep 0.5 70 | play (chord :g, :major), sustain: 1.5 71 | play :e6, sustain: 1.5 72 | sleep 0.5 73 | play (chord :c4, :major), sustain: 3.25 74 | play 72, sustain: 3.25 75 | sleep 3 76 | play :a3, sustain: 1.5 77 | play :c4, sustain: 1.5 78 | sleep 1 79 | play :b3, sustain: 1.5 80 | play :d4, sustain: 1.5 81 | sleep 1 82 | play :c4, sustain: 1.5 83 | play :e4, sustain: 1.5 84 | sleep 1 85 | play :e4, sustain: 1.5 86 | play :g4, sustain: 1.5 87 | sleep 1 88 | play :f4, sustain: 6 89 | play :a4, sustain: 6 90 | sleep 4 91 | play :a4, sustain: 2.25 92 | play :c5, sustain: 2.25 93 | play :g5, sustain: 2.25 94 | sleep 2 95 | play :a4, sustain: 2.25 96 | play :c5, sustain: 2.25 97 | play :f5, sustain: 2.25 98 | sleep 2 99 | play :a4, sustain: 8 100 | play :c4, sustain: 8 101 | play :g4, sustain: 8 102 | play :b5, sustain: 9 103 | sleep 8 104 | play :f6, sustain: 1.5 105 | sleep 1 106 | play :eb6, sustain: 1 107 | sleep 0.5 108 | play :d6, sustain: 1 109 | sleep 0.5 110 | play :c6, sustain: 7 111 | sleep 6 112 | play :g6, sustain: 1.5 113 | sleep 1 114 | play :f6, sustain: 1 115 | sleep 0.5 116 | play :eb6, sustain: 1 117 | sleep 0.5 118 | play :d6, sustain: 6.25 119 | sleep 6 120 | end -------------------------------------------------------------------------------- /stranger-things.rb: -------------------------------------------------------------------------------- 1 | use_bpm 85 2 | 3 | arp = (ring :c3, :e3, :g3, :b3, :c4, :b3, :g3, :e3) 4 | live_loop :arp, delay: 4 do 5 | use_synth :supersaw 6 | play arp.tick, cutoff: (line 40, 120, steps: 100).reflect.look, sustain: 0.05 7 | sleep 0.25 8 | end 9 | 10 | with_fx :compressor do 11 | live_loop :dark, delay: 4 do 12 | use_synth :tb303 13 | use_synth_defaults res: 0.9, cutoff: rrand(80, 95), amp: 0.8 14 | play :c2, sustain: 3 15 | play :c3, sustain: 3 16 | sleep 6 17 | play :d2, sustain: 1.5 18 | play :d3, sustain: 1.5 19 | sleep 2 20 | play :e2, sustain: 4 21 | play :e3, sustain: 4 22 | sleep 8 23 | end 24 | end 25 | 26 | live_loop :heart do 27 | sample :drum_bass_hard, cutoff: 110 28 | sleep 0.25 29 | sample :drum_bass_hard, cutoff: 110 30 | sleep 0.75 31 | end 32 | 33 | with_fx :echo, decay: 8 do 34 | with_fx :flanger, phase: 2 do 35 | live_loop :amb, delay: 4 do 36 | if one_in 4 37 | sample :ambi_lunar_land, rate: rrand(-1, 1) 38 | else 39 | if one_in 2 40 | sample :ambi_glass_hum, beat_stretch: rrand(3, 5) 41 | end 42 | end 43 | sample :ambi_soft_buzz, beat_stretch: 3, amp: 2 44 | sleep 8 45 | end 46 | end 47 | end -------------------------------------------------------------------------------- /strangerthings.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/olsonk/sonic-pi-projects/c37fc6ad98f37bef81d2969a07dea908a2352691/strangerthings.wav --------------------------------------------------------------------------------