Fixing file locations
This commit is contained in:
parent
d1b199581f
commit
b8e0c3f34a
1 changed files with 79 additions and 0 deletions
79
world-o-techno.rb
Executable file
79
world-o-techno.rb
Executable file
|
@ -0,0 +1,79 @@
|
||||||
|
# Welcome to Sonic Pi v2.6
|
||||||
|
# Acid
|
||||||
|
# Coded by Sam Aaron
|
||||||
|
# Hacked around by RJS & JHR
|
||||||
|
# This file should be in /home/pi/world-o-techno so the startup script can find it
|
||||||
|
|
||||||
|
# GPS ruby code derived from https://github.com/ndarilek/rb-gps
|
||||||
|
#
|
||||||
|
require '/home/pi/world-o-techno/gps/gps.rb'
|
||||||
|
|
||||||
|
gps = Gps::Receiver.create('gpsd',:host => 'localhost', :port => 2947)
|
||||||
|
|
||||||
|
gps.start
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
puts gps.latitude
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
use_debug false
|
||||||
|
load_sample :bd_fat
|
||||||
|
|
||||||
|
8.times do
|
||||||
|
sample :bd_fat, amp: (line 0, 5, steps: 8).tick
|
||||||
|
sleep 0.5
|
||||||
|
end
|
||||||
|
|
||||||
|
live_loop :drums do
|
||||||
|
sample :bd_fat, amp: 5
|
||||||
|
sleep 0.5
|
||||||
|
end
|
||||||
|
|
||||||
|
live_loop :acid do
|
||||||
|
cue :foo
|
||||||
|
4.times do |i|
|
||||||
|
long = (gps.longitude.abs * 10**9) % 100
|
||||||
|
use_random_seed long
|
||||||
|
16.times do
|
||||||
|
use_synth :tb303
|
||||||
|
play chord(:e5, :minor).choose, attack: 0, release: 0.1, cutoff: rrand_i(50, 90) + i * 10
|
||||||
|
sleep 0.125
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
cue :bar
|
||||||
|
use_synth :tb303
|
||||||
|
32.times do |i|
|
||||||
|
gspeed = gps.speed.modulo(1)
|
||||||
|
puts gspeed
|
||||||
|
play chord(:b4, :minor).choose, attack: 0, release: 0.05, cutoff: rrand_i(70, 98) + i, res: gspeed
|
||||||
|
sleep 0.125
|
||||||
|
end
|
||||||
|
|
||||||
|
cue :baz
|
||||||
|
with_fx :reverb, mix: 0.3 do |r|
|
||||||
|
32.times do |m|
|
||||||
|
control r, mix: 0.3 + (0.5 * (m.to_f / 32.0)) unless m == 0 if m % 8 == 0
|
||||||
|
use_synth :prophet
|
||||||
|
play chord(:e6, :minor).choose, attack: 0, release: 0.08, cutoff: rrand_i(110, 130)
|
||||||
|
sleep 0.125
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
cue :quux
|
||||||
|
in_thread do
|
||||||
|
use_random_seed 668
|
||||||
|
slat = (gps.latitude.abs * 10**7).modulo(1)
|
||||||
|
with_fx :slicer, mix: 0.75, wave: 3, phase: slat do
|
||||||
|
16.times do
|
||||||
|
use_synth :tb303
|
||||||
|
play chord(:d3, :major).choose, attack: 0, release: 0.1, cutoff: rrand(50, 100)
|
||||||
|
sleep 0.25
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
sleep 4
|
||||||
|
end
|
Loading…
Reference in a new issue