Skip to content

Instantly share code, notes, and snippets.

@savolla
Created August 18, 2017 15:46
Show Gist options
  • Save savolla/e41a538062029ee35430998dad163f42 to your computer and use it in GitHub Desktop.
Save savolla/e41a538062029ee35430998dad163f42 to your computer and use it in GitHub Desktop.
This is an amateur configuration file for writing Metal songs in Sonic Pi. Don't judge this file... This is my first Ruby file btw
#----------------------------------------------------------------------------------------------------------------------------------
#███╗ ██╗ ██████╗ ████████╗███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ██╗███████╗███████╗
#████╗ ██║██╔═══██╗╚══██╔══╝██╔════╝ ██║ ██║██╔══██╗██║ ██║ ██║██╔════╝██╔════╝
#██╔██╗ ██║██║ ██║ ██║ █████╗ ██║ ██║███████║██║ ██║ ██║█████╗ ███████╗
#██║╚██╗██║██║ ██║ ██║ ██╔══╝ ╚██╗ ██╔╝██╔══██║██║ ██║ ██║██╔══╝ ╚════██║
#██║ ╚████║╚██████╔╝ ██║ ███████╗ ╚████╔╝ ██║ ██║███████╗╚██████╔╝███████╗███████║
#╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚══════╝
#----------------------------------------------------------------------------------------------------------------------------------
# N O T E V A L U E S
#----------------------------------------------------------------------------------------------------------------------------------
# Standard Values
O = 1 # Whole Note
o = 0.5 # Half Note
J = 0.25 # Quarter Note
J1 = 0.125 # Eighth Note
J2 = 0.0625 # Sixteenth Note
J3 = 0.03125 # Thirty-Second Note
J4 = 0.015625 # Sixty-Fourth Note
# Tripplets
E_trip = (J1 * 2.675)
#-----------------------------------------------------------------------------------------------------------------------------------
# ██████╗ ██╗ ██╗██╗████████╗ █████╗ ██████╗
# ██╔════╝ ██║ ██║██║╚══██╔══╝██╔══██╗██╔══██╗
# ██║ ███╗██║ ██║██║ ██║ ███████║██████╔╝
# ██║ ██║██║ ██║██║ ██║ ██╔══██║██╔══██╗
# ╚██████╔╝╚██████╔╝██║ ██║ ██║ ██║██║ ██║
# ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
#-----------------------------------------------------------------------------------------------------------------------------------
# T O N E
#-----------------------------------------------------------------------------------------------------------------------------------
tone = :saw
#-----------------------------------------------------------------------------------------------------------------------------------
# T U N I N G
#-----------------------------------------------------------------------------------------------------------------------------------
# Stand Tuning Custom Tuning
A = -7; Cus_7 = 0;
Bb = -6; Cus_6 = 0;
B = -5; Cus_5 = 0;
C = -4; Cus_4 = 0;
Db = -3; Cus_3 = 0;
D = -2; Cus_2 = 0;
Eb = -1; Cus_1 = 0;
E = 0;
tun = E # <------ Change your Tuning here !
#-----------------------------------------------------------------------------------------------------------------------------------
# S T R I N G S
#-----------------------------------------------------------------------------------------------------------------------------------
################## ################## ################## ################## ################## ################## ##################
# 7th string # # 6th string # # 5th string # # 4th string # # 3rd string # # 2nd string # # 1st string #
################## ################## ################## ################## ################## ################## ########################
B0 = 35+tun+Cus_7; E0 = 40+tun+Cus_6; A0 = 45+tun+Cus_5; D0 = 50+tun+Cus_4; G0 = 55+tun+Cus_3; b0 = 59+tun+Cus_2; e0 = 64+tun+Cus_1;# 0 #
B1 = 36+tun+Cus_7; E1 = 41+tun+Cus_6; A1 = 46+tun+Cus_5; D1 = 51+tun+Cus_4; G1 = 56+tun+Cus_3; b1 = 60+tun+Cus_2; e1 = 65+tun+Cus_1;# 1 #
B2 = 37+tun+Cus_7; E2 = 42+tun+Cus_6; A2 = 47+tun+Cus_5; D2 = 52+tun+Cus_4; G2 = 57+tun+Cus_3; b2 = 61+tun+Cus_2; e2 = 66+tun+Cus_1;# 2 #
B3 = 38+tun+Cus_7; E3 = 43+tun+Cus_6; A3 = 48+tun+Cus_5; D3 = 53+tun+Cus_4; G3 = 58+tun+Cus_3; b3 = 62+tun+Cus_2; e3 = 67+tun+Cus_1;# 3 #
B4 = 39+tun+Cus_7; E4 = 44+tun+Cus_6; A4 = 49+tun+Cus_5; D4 = 54+tun+Cus_4; G4 = 59+tun+Cus_3; b4 = 63+tun+Cus_2; e4 = 68+tun+Cus_1;# 4 #
B5 = 40+tun+Cus_7; E5 = 45+tun+Cus_6; A5 = 50+tun+Cus_5; D5 = 55+tun+Cus_4; G5 = 60+tun+Cus_3; b5 = 64+tun+Cus_2; e5 = 69+tun+Cus_1;# 5 #
B6 = 41+tun+Cus_7; E6 = 46+tun+Cus_6; A6 = 51+tun+Cus_5; D6 = 56+tun+Cus_4; G6 = 61+tun+Cus_3; b6 = 65+tun+Cus_2; e6 = 70+tun+Cus_1;# 6 #
B7 = 42+tun+Cus_7; E7 = 47+tun+Cus_6; A7 = 52+tun+Cus_5; D7 = 57+tun+Cus_4; G7 = 62+tun+Cus_3; b7 = 66+tun+Cus_2; e7 = 71+tun+Cus_1;# 7 #
B8 = 43+tun+Cus_7; E8 = 48+tun+Cus_6; A8 = 53+tun+Cus_5; D8 = 58+tun+Cus_4; G8 = 63+tun+Cus_3; b8 = 67+tun+Cus_2; e8 = 72+tun+Cus_1;# 8 #
B9 = 44+tun+Cus_7; E9 = 49+tun+Cus_6; A9 = 54+tun+Cus_5; D9 = 59+tun+Cus_4; G9 = 64+tun+Cus_3; b9 = 68+tun+Cus_2; e9 = 73+tun+Cus_1;# 9 #
B10= 45+tun+Cus_7; E10= 50+tun+Cus_6; A10= 55+tun+Cus_5; D10= 60+tun+Cus_4; G10= 65+tun+Cus_3; b10= 69+tun+Cus_2; e10= 74+tun+Cus_1;# 10 #
B11= 46+tun+Cus_7; E11= 51+tun+Cus_6; A11= 56+tun+Cus_5; D11= 61+tun+Cus_4; G11= 66+tun+Cus_3; b11= 70+tun+Cus_2; e11= 75+tun+Cus_1;# 11 #
B12= 47+tun+Cus_7; E12= 52+tun+Cus_6; A12= 57+tun+Cus_5; D12= 62+tun+Cus_4; G12= 67+tun+Cus_3; b12= 71+tun+Cus_2; e12= 76+tun+Cus_1;# 12 #
B13= 48+tun+Cus_7; E13= 53+tun+Cus_6; A13= 58+tun+Cus_5; D13= 63+tun+Cus_4; G13= 68+tun+Cus_3; b13= 72+tun+Cus_2; e13= 77+tun+Cus_1;# 13 #
B14= 49+tun+Cus_7; E14= 54+tun+Cus_6; A14= 59+tun+Cus_5; D14= 64+tun+Cus_4; G14= 69+tun+Cus_3; b14= 73+tun+Cus_2; e14= 78+tun+Cus_1;# 14 #
B15= 50+tun+Cus_7; E15= 55+tun+Cus_6; A15= 60+tun+Cus_5; D15= 65+tun+Cus_4; G15= 70+tun+Cus_3; b15= 74+tun+Cus_2; e15= 79+tun+Cus_1;# 15 #
B16= 51+tun+Cus_7; E16= 56+tun+Cus_6; A16= 61+tun+Cus_5; D16= 66+tun+Cus_4; G16= 71+tun+Cus_3; b16= 75+tun+Cus_2; e16= 80+tun+Cus_1;# 16 #
B17= 52+tun+Cus_7; E17= 57+tun+Cus_6; A17= 62+tun+Cus_5; D17= 67+tun+Cus_4; G17= 72+tun+Cus_3; b17= 76+tun+Cus_2; e17= 81+tun+Cus_1;# 17 #
B18= 53+tun+Cus_7; E18= 58+tun+Cus_6; A18= 63+tun+Cus_5; D18= 68+tun+Cus_4; G18= 73+tun+Cus_3; b18= 77+tun+Cus_2; e18= 82+tun+Cus_1;# 18 #
B19= 54+tun+Cus_7; E19= 59+tun+Cus_6; A19= 64+tun+Cus_5; D19= 69+tun+Cus_4; G19= 74+tun+Cus_3; b19= 78+tun+Cus_2; e19= 83+tun+Cus_1;# 19 #
B20= 55+tun+Cus_7; E20= 60+tun+Cus_6; A20= 65+tun+Cus_5; D20= 70+tun+Cus_4; G20= 75+tun+Cus_3; b20= 79+tun+Cus_2; e20= 84+tun+Cus_1;# 20 #
B21= 56+tun+Cus_7; E21= 61+tun+Cus_6; A21= 66+tun+Cus_5; D21= 71+tun+Cus_4; G21= 76+tun+Cus_3; b21= 80+tun+Cus_2; e21= 85+tun+Cus_1;# 21 #
B22= 57+tun+Cus_7; E22= 62+tun+Cus_6; A22= 67+tun+Cus_5; D22= 72+tun+Cus_4; G22= 77+tun+Cus_3; b22= 81+tun+Cus_2; e22= 86+tun+Cus_1;# 22 #
B23= 58+tun+Cus_7; E23= 63+tun+Cus_6; A23= 68+tun+Cus_5; D23= 73+tun+Cus_4; G23= 78+tun+Cus_3; b23= 82+tun+Cus_2; e23= 87+tun+Cus_1;# 23 #
B24= 59+tun+Cus_7; E24= 64+tun+Cus_6; A24= 69+tun+Cus_5; D24= 74+tun+Cus_4; G24= 79+tun+Cus_3; b24= 83+tun+Cus_2; e24= 88+tun+Cus_1;# 24 #
#-----------------------------------------------------------------------------------------------------------------------------------
# R I F F S
#-----------------------------------------------------------------------------------------------------------------------------------
# RIFF 1
define :riff_1 do
count = 1
8.times do
play [B0, E2]; sleep o
2.times do
play [B1, E3]; sleep o
end
if count <= 3
play [B0, E2]; sleep o
else
play [B3, E5]; sleep o
count = count - 4
end
count = count + 1
end
end
# RIFF 2
define :riff_2 do
count = 1
count2 = 1
8.times do
play B3; sleep o
2.times do
play E4; sleep o
end
if count < 4
play B3; sleep o
count2 = count2 + 1
if count2 == 6
2.times do
play B3; sleep E_trip
play B6; sleep E_trip
play E4; sleep E_trip
end
play E7; sleep E_trip
play B6; sleep E_trip
play E4; sleep E_trip
play E7; sleep E_trip
play A5; sleep E_trip
play A8; sleep E_trip
break
else
end
else
play E5; sleep o
count = count - 4
end
count = count + 1
end
end
#-----------------------------------------------------------------------------------------------------------------------------------
# ██████╗ █████╗ ███████╗███████╗
# ██╔══██╗██╔══██╗██╔════╝██╔════╝
# ██████╔╝███████║███████╗███████╗
# ██╔══██╗██╔══██║╚════██║╚════██║
# ██████╔╝██║ ██║███████║███████║
# ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝
#-----------------------------------------------------------------------------------------------------------------------------------
# T O N E
#-----------------------------------------------------------------------------------------------------------------------------------
tone = :saw
#-----------------------------------------------------------------------------------------------------------------------------------
# T U N I N G
#-----------------------------------------------------------------------------------------------------------------------------------
# Stand Tuning Custom Tuning
A = -7; Cus_6 = 0;
Bb = -6; Cus_5 = 0;
B = -5; Cus_4 = 0;
C = -4; Cus_3 = 0;
Db = -3; Cus_2 = 0;
D = -2; Cus_1 = 0;
Eb = -1;
E = 0;
tun = E # <------ Change your Tuning here !
#-----------------------------------------------------------------------------------------------------------------------------------
# S T R I N G S
#-----------------------------------------------------------------------------------------------------------------------------------
################## ################## ################## ################## ################## ##################
# 6th string # # 5th string # # 4th string # # 3rd string # # 2nd string # # 1st string #
################## ################## ################## ################## ################## ################## ######
B0 = 24+tun+Cus_7; E0 = 28+tun+Cus_6; A0 = 33+tun+Cus_5; D0 = 38+tun+Cus_4; G0 = 43+tun+Cus_3; b0 = 48+tun+Cus_2; # 0 #
B1 = 25+tun+Cus_7; E1 = 29+tun+Cus_6; A1 = 34+tun+Cus_5; D1 = 39+tun+Cus_4; G1 = 44+tun+Cus_3; b1 = 49+tun+Cus_2; # 1 #
B2 = 26+tun+Cus_7; E2 = 30+tun+Cus_6; A2 = 35+tun+Cus_5; D2 = 40+tun+Cus_4; G2 = 45+tun+Cus_3; b2 = 50+tun+Cus_2; # 2 #
B3 = 27+tun+Cus_7; E3 = 31+tun+Cus_6; A3 = 36+tun+Cus_5; D3 = 41+tun+Cus_4; G3 = 46+tun+Cus_3; b3 = 51+tun+Cus_2; # 3 #
B4 = 28+tun+Cus_7; E4 = 32+tun+Cus_6; A4 = 37+tun+Cus_5; D4 = 42+tun+Cus_4; G4 = 47+tun+Cus_3; b4 = 52+tun+Cus_2; # 4 #
B5 = 29+tun+Cus_7; E5 = 33+tun+Cus_6; A5 = 38+tun+Cus_5; D5 = 43+tun+Cus_4; G5 = 48+tun+Cus_3; b5 = 53+tun+Cus_2; # 5 #
B6 = 30+tun+Cus_7; E6 = 34+tun+Cus_6; A6 = 39+tun+Cus_5; D6 = 44+tun+Cus_4; G6 = 49+tun+Cus_3; b6 = 54+tun+Cus_2; # 6 #
B7 = 31+tun+Cus_7; E7 = 35+tun+Cus_6; A7 = 40+tun+Cus_5; D7 = 45+tun+Cus_4; G7 = 50+tun+Cus_3; b7 = 55+tun+Cus_2; # 7 #
B8 = 32+tun+Cus_7; E8 = 36+tun+Cus_6; A8 = 41+tun+Cus_5; D8 = 46+tun+Cus_4; G8 = 51+tun+Cus_3; b8 = 56+tun+Cus_2; # 8 #
B9 = 33+tun+Cus_7; E9 = 37+tun+Cus_6; A9 = 42+tun+Cus_5; D9 = 47+tun+Cus_4; G9 = 52+tun+Cus_3; b9 = 57+tun+Cus_2; # 9 #
B10= 34+tun+Cus_7; E10= 38+tun+Cus_6; A10= 43+tun+Cus_5; D10= 48+tun+Cus_4; G10= 53+tun+Cus_3; b10= 58+tun+Cus_2; # 10 #
B11= 35+tun+Cus_7; E11= 39+tun+Cus_6; A11= 44+tun+Cus_5; D11= 49+tun+Cus_4; G11= 54+tun+Cus_3; b11= 59+tun+Cus_2; # 11 #
B12= 36+tun+Cus_7; E12= 40+tun+Cus_6; A12= 45+tun+Cus_5; D12= 50+tun+Cus_4; G12= 55+tun+Cus_3; b12= 60+tun+Cus_2; # 12 #
B13= 37+tun+Cus_7; E13= 41+tun+Cus_6; A13= 46+tun+Cus_5; D13= 51+tun+Cus_4; G13= 56+tun+Cus_3; b13= 61+tun+Cus_2; # 13 #
B14= 38+tun+Cus_7; E14= 42+tun+Cus_6; A14= 47+tun+Cus_5; D14= 52+tun+Cus_4; G14= 57+tun+Cus_3; b14= 62+tun+Cus_2; # 14 #
B15= 39+tun+Cus_7; E15= 43+tun+Cus_6; A15= 48+tun+Cus_5; D15= 53+tun+Cus_4; G15= 58+tun+Cus_3; b15= 63+tun+Cus_2; # 15 #
B16= 40+tun+Cus_7; E16= 44+tun+Cus_6; A16= 49+tun+Cus_5; D16= 54+tun+Cus_4; G16= 59+tun+Cus_3; b16= 64+tun+Cus_2; # 16 #
B17= 41+tun+Cus_7; E17= 45+tun+Cus_6; A17= 50+tun+Cus_5; D17= 55+tun+Cus_4; G17= 60+tun+Cus_3; b17= 65+tun+Cus_2; # 17 #
B18= 42+tun+Cus_7; E18= 46+tun+Cus_6; A18= 51+tun+Cus_5; D18= 56+tun+Cus_4; G18= 61+tun+Cus_3; b18= 66+tun+Cus_2; # 18 #
B19= 43+tun+Cus_7; E19= 47+tun+Cus_6; A19= 52+tun+Cus_5; D19= 57+tun+Cus_4; G19= 62+tun+Cus_3; b19= 67+tun+Cus_2; # 19 #
B20= 44+tun+Cus_7; E20= 48+tun+Cus_6; A20= 53+tun+Cus_5; D20= 58+tun+Cus_4; G20= 63+tun+Cus_3; b20= 68+tun+Cus_2; # 20 #
B21= 45+tun+Cus_7; E21= 49+tun+Cus_6; A21= 54+tun+Cus_5; D21= 59+tun+Cus_4; G21= 64+tun+Cus_3; b21= 69+tun+Cus_2; # 21 #
B22= 46+tun+Cus_7; E22= 50+tun+Cus_6; A22= 55+tun+Cus_5; D22= 60+tun+Cus_4; G22= 65+tun+Cus_3; b22= 70+tun+Cus_2; # 22 #
B23= 47+tun+Cus_7; E23= 51+tun+Cus_6; A23= 56+tun+Cus_5; D23= 61+tun+Cus_4; G23= 66+tun+Cus_3; b23= 71+tun+Cus_2; # 23 #
B24= 48+tun+Cus_7; E24= 52+tun+Cus_6; A24= 57+tun+Cus_5; D24= 62+tun+Cus_4; G24= 67+tun+Cus_3; b24= 72+tun+Cus_2; # 24 #
#-----------------------------------------------------------------------------------------------------------------------------------
# R I F F S
#-----------------------------------------------------------------------------------------------------------------------------------
# ██████╗ ██████╗ ██╗ ██╗███╗ ███╗███████╗
# ██╔══██╗██╔══██╗██║ ██║████╗ ████║██╔════╝
# ██║ ██║██████╔╝██║ ██║██╔████╔██║███████╗
# ██║ ██║██╔══██╗██║ ██║██║╚██╔╝██║╚════██║
# ██████╔╝██║ ██║╚██████╔╝██║ ╚═╝ ██║███████║
# ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
# DRUM SAMPLES
kick = :drum_heavy_kick
snare = :drum_snare_hard
ride = :drum_cymbal_closed
hihat = ""
china = ""
symbal = ""
cowbell = "jokes"
# DRUM 1 Tempo
define :tempo1 do
4.times do
sample kick, amp: 2, pan: 0.3
sleep J
end
sample kick, amp: 3, pan: -0.1
sample snare, amp: 2, pan: 0.2
sleep J
3.times do
sample kick, amp: 2, pan: 0.3
sleep J
end
end
# DRUM 2 Blast_1
define :blast1 do
8.times do
sample kick, pan: -0.5
sample ride, pan: 0.25
sleep J1
sample snare, pan: -0.1
sample kick, pan: 0.5
sleep J1
end
end
# ██████╗ ██╗ ██╗███╗ ██╗████████╗██╗███╗ ███╗███████╗
# ██╔══██╗██║ ██║████╗ ██║╚══██╔══╝██║████╗ ████║██╔════╝
# ██████╔╝██║ ██║██╔██╗ ██║ ██║ ██║██╔████╔██║█████╗
# ██╔══██╗██║ ██║██║╚██╗██║ ██║ ██║██║╚██╔╝██║██╔══╝
# ██║ ██║╚██████╔╝██║ ╚████║ ██║ ██║██║ ╚═╝ ██║███████╗
# ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝
use_bpm 110
use_synth tone
live_loop :guitar1 do
with_fx :distortion, phase: 10 do
riff_1
riff_2
end
end
live_loop :drums do
4.times do
tempo1
end
4.times do
blast1
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment