0:00/0:00
// Skillet Falling Inside The Black — Rickey C Battle Jr
// 95 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "B♭ Clarinet" clarinet (copy of ch 5 "B♭ Trumpet" trumpet); ch 7 "Mellophone" french horn (copy of ch 3 "Alto Saxophone" alto sax); ch 8 "Horn in F" french horn (copy of ch 3 "Alto Saxophone" alto sax); ch 11 "Baritone Horn" french horn (copy of ch 4 "Tenor Saxophone" tenor sax); ch 12 "Euphonium" tuba (copy of ch 4 "Tenor Saxophone" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5469098; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 54 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(95/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// other · flute
const flute = note("<~@3 A B ~@7 C D E F G D H I@2 ~@8 J K L M N O ~@3 P Q D H F R D H S T S U S M V@2>".pickRestart({
A: "~@8 b5 a5 g5 f#5 d6@2 d6@2", B: "e6 ~@7", C: "d#6@15 ~", D: "g5!4 f#5@2 ~@2 g5!4 f#5@2 ~@2",
E: "g5 f#5 e5!2 e5@2 e5 f#5 g5!2 a5@2 f#5@2 ~@2", F: "g5!4 f#5@3 e5 g5@2 a5@2 f#5@2 ~@2",
G: "[g4,g5] [f#4,f#5] [a4,a5] [g4,g5]", H: "g5 f#5 e5!2 e5@2 e5 f#5 g5@2 a5@2 f#5@2 ~@2",
I: "[g5@2 f#5@2 e5@2 f#5@4 ~@2 e5@2 e5@6 e5 [f#5,g5] e5 [f#5,g5] [b5,e6]@8]/2", J: "~ g5 f#5 g5 ~ g5 f#5 g5",
K: "e6 b5!2 f#6 b5!2 g6 b5!2 a6 b5!2 ~@4", L: "~@4 [g5,g6] [a5,a6] [g5,g6] [a5,a6] [f#5,f#6]@4 ~@4",
M: "g5@4 f#5@4 a5@3 ~ g5@4, ~@8 g5 ~@7", N: "~@6 d6@2 d6 [b5,c6] c6 [a5,b5] b5@4", O: "e6 [g5,g6] [a5,a6] ~",
P: "~@2 c6 b5 ~@2 c6 b5 e6 [c6,d6] a5 [f#5,g5] [a5,a6] [g5,g6] ~ [f#5,f#6]", Q: "g5 f#5 ~ d5 ~@12",
R: "e6 f#6 g6 a6 b6@3 f#6 [g5,g6]@8", S: "g5 f#5 e5 f#5@2 ~@3", T: "[g5,b5] [f#5,a5] [a5,c6] [g5,b5]",
U: "e5 f#5 g5 a5 b5@3 [f#5,f#6] [g4,g5,g6]@8", // F# G
V: "[g6@2 f#6@2 e6@2 f#6@4 ~@2 e6@2 e6@6 [e5,e6] [f#5,g5,f#6,g6] [e5,e6] [f#5,g5,f#6,g6] [e6,g6,b6,e7]@8]/2", // E Gmaj7 E Gmaj7 Em
})).s("gm_flute").gain(0.5)
// other · flute · soft notes
const flute_soft = note("<A B C D E@4 F@2 G@2 ~@22 H I J ~@17>".pickRestart({
A: "[e5,e6]@3 [e5,e6]@3 [e5,e6]@8 ~@2", B: "[d5,d6]@3 [d5,d6]@3 [d5,d6]@8 ~@2",
C: "[c5,c6]@3 [c5,c6]@3 [c5,c6]@8 ~@2", D: "a5@3 ~@5",
E: "[~@2 c6 b5@2 e5 f#5 g5@2 e5 c6 b5@2 e5 d6 c6@2 e5 c6 b5@2 e5 f#5 g5@2 ~@7]/4",
F: "[~@2 g6@2 f#6!2 e6 f#6@3 ~@6]/2", G: "[~@2 g5@2 f#5!2 e5 f#5@3 g5 f#5@2 ~@3]/2", H: "~@12 c6@3 ~, ~@12 b5 ~@3",
I: "b5 ~", J: "~@4 g5 ~@3 f#5 ~@7",
})).s("gm_flute").gain(0.2)
// other · alto sax · "Alto Saxophone"
const alto_sax = note("<~@3 A ~@8 B C D E F G D H@2 ~@8 I J K L M N ~@3 O P G Q E F R S T@2 U@2 T@2 H@2>".pickRestart({
A: "~@8 b4 a4 g4 f#4 [d4,d5]@2 [d4,d5]@2", B: "b4", C: "[c5,e5] [b4,d5]", D: "e5!2",
E: "b4!4 a4@3 g4 b4@2 c5@2 a4@2 ~@2", F: "b4 a4 c5 b4", G: "c5 b4",
H: "[b4@2 a4@2 g4@2 a4@4 ~@2 [f#4,f#5]@2 [g4,g5]@6 e4 [f#4,g4] e4 [f#4,g4] [b4,e5]@8]/2", // F# G Gmaj7 E5
I: "~ g4 f#4 g4 ~ g4 f#4 g4", J: "e5@3 d5@3 c5@3 ~@3 c5@2 b4@2", K: "d5@2 c5@2 ~@4 f#5@4 c5 d5 e5 f#5",
L: "g5 f#5 a4 g4", M: "~@6 d5@2 d5 [b4,c5] c5 [a4,b4] b4@4", N: "e5 [g4,g5] [a4,a5] ~",
O: "~@2 c5 b4 ~@2 c5 b4 e5 [c5,d5] a4 [f#4,g4] ~@4", P: "g5 f#5 ~ d5 ~@12", Q: "e5 d5", R: "c5 b4 a4 b4",
S: "e4@6 c5 d5 e5@8", T: "[b4 a4 g4 a4@2 ~ [f#4,f#5] [g4,g5]@3 ~@6]/2",
U: "[b4 a4 g4 a4@2 ~ [f#4,f#5] [g4,g5]@3 ~@2 [g4,g5]@4]/2", // F# G
})).s("gm_alto_sax").gain(0.5)
// other · alto sax · "Alto Saxophone" · soft notes
const alto_sax_soft = note("<A B C ~ D@4 E F G@2 ~@22 H I J K ~@16>".pickRestart({
A: "b4@3 b4@3 b4@8 ~@2", B: "a4@3 a4@3 a4@8 ~@2", C: "g4@3 g4@3 g4@8 ~@2",
D: "[~ e4 c5 b4@2 e4 f#4 g4@2 e4 c5 b4@2 e4 d5 c5@2 e4 c5 b4@2 e4 f#4 g4@2 ~@2 d4!3 f#4 g4]/4", E: "[g4,c5]",
F: "[f#4,b4]@8 a4@4 f#5!3 g5", G: "[e5@4 ~@4 f#5@2 f#5@2 e5@2 f#5@6 g5@2 f#5@4 ~@2 e4 f#4 g4 a4]/2",
H: "~@3 c5, ~@12 b4 ~@3", I: "b4 ~", J: "~@4 g4 ~@3 f#4 ~@7", K: "~ b4 a4 c5@2 b4 a4 ~",
})).s("gm_alto_sax").gain(0.25)
// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<~@12 A B C D E B F G@2 ~@8 H I J K L M ~@3 N O B F D P B F Q@4 R S T@2>".pickRestart({
A: "a4@6 ~ g4 f#4@8", B: "g4!4 f#4@2 ~@2 g4!4 f#4@2 ~@2", C: "g4 f#4 e4!2 e4@2 e4 f#4 g4!2 a4@2 f#4@2 ~@2",
D: "g4!4 f#4@3 e4 g4@2 a4@2 f#4@2 ~@2", E: "[e3,e4] [f#3,f#4] [g3,g4] [a3,a4] [b3,b4]@3 f#4 [g3,g4]@8",
F: "g4 f#4 e4!2 e4@2 e4 f#4 g4@2 a4@2 f#4@2 ~@2", G: "[g4 f#4 e4 f#4@2 ~ e4 e4@3 ~@2 g4@4]/2",
H: "~ g4 f#4 g4 ~ g4 f#4 g4", I: "e4 ~@2 f#4 ~@2 g4 ~@2 a4 ~@4 b4@2", J: "~@4 g4 a4 g4 a4 f#4@4 c4 d4 e4 f#4",
K: "g4 f#4 a4 g4, ~@8 g4 ~@7", L: "b3@2 ~ b4", M: "~ g4 a4 ~", N: "e4@2 ~@2 f#4@2 ~@2 e4 [c4,d4] a4 [f#4,g4] ~@4",
O: "g4 f#4 ~ d4 ~@12", P: "[b3,g4]@4 [a3,f#4]@3 [a3,f#4] [b3,g4]@8",
Q: "[g4 f#4 e4 f#4@2 ~ f#4 [e4,g4]@3 ~@2 a4@2 g4@2]/2", R: "g4 f#4 e4 f#4@2 ~@3",
S: "c4 d4 e4 f#4 g4@4 a4@4 g4@4, ~@8 g4 ~@7", T: "[c4 b3 g3 a3@2 ~ f#4 [e4,g4]@3 ~@2 [g4,b4]@4]/2",
})).s("gm_tenor_sax").gain(0.5)
// other · tenor sax · "Tenor Saxophone" · soft notes
const tenor_sax_soft = note("<A B C D E F C G H I J@2 ~@23 K L K ~@16>".pickRestart({
A: "~ b3!2 a3!2 b3 b3@2", B: "~ b3!2 a3 d4 e4 b3 a3", C: "~@2 b3@2 a3@3 g3 a3@2 b3@2 g3@4", D: "~@6 d4!2",
E: "e4 ~@7", F: "~@2 b3@2 b3@2 a3 g3 d4@2 e4@2 b3@2 a3@2", G: "~@3 d4!3 f#4 g4", H: "g4 ~@3",
I: "~@6 d4@2 a4@4 f#4!3 g4", J: "[e4@2 g4@2 f#4!2 e4 f#4@3 g4 f#4@2 ~@3]/2", K: "g3!4 f#3@2 ~@10", L: "e4 ~",
})).s("gm_tenor_sax").gain(0.3)
// chords · trombone
const trombone = note(`<
A B C ~ D E C ~ F G F H I J K L M J K N@2 ~@8 O P ~ K Q ~@4 R S J T J U J T V M W U X@2 N@2
>`.pickRestart({
A: "~ b3!2 a3!2 b3 b3@2", B: "~ b3!2 a3 d4 e4 b3 a3", C: "~@2 b3@2 a3@3 g3 a3@2 b3@2 g3@4",
D: "~@2 b3@2 b3@2 a3 g3 a3@2 b3@2 b3@2 ~@2", E: "~@2 b3@2 b3@2 a3 g3 d4@2 e4@2 b3@2 a3@2", F: "[g3,c4,e4]",
G: "[f#3,a3,d4]", H: "[a3,b3,d#4]", I: "[b3,d#4,f#4]", J: "[a3,c4,e4] [f#3,b3,d4]", K: "[g3,b3,e4]!2",
L: "[e3,g3,c4] [e3,g3,b3]", M: "[g3,b3,e4] [f#3,a3,e4] [e3,g3,c4] [g3,b3,d4]",
N: "[[g3,b3,d4] [f#3,a3,c4] [e3,g3,b3] [f#3,a3,c4]@2 ~ [g3,b3,e4] [g3,b3,e4]@3 ~@2 [g3,b3,e4]@4]/2", // G F#dim Em F#dim Em
O: "[g3,c4,e4] [f#3,b3,d4]", P: "e4 ~@2 f#4 ~@2 g4 ~@2 a4 ~@6", Q: "b3 ~",
R: "[g3,b3,e4]@2 ~@2 [a3,c4,f#4]@2 ~@6 a3 g3 ~ f#3", S: "g3 f#3 ~ d4 ~@12", T: "[g3,b3,e4] [f#3,a3,d4]",
U: "[g3,b3,e4]@4 [a3,c4,d#4]@3 [a3,c4,d#4] [g3,b3,e4]@8", V: "[g3,b3,d4] [f#3,a3,c4] [e3,g3,b3] [f#3,a3,c4]@2 ~@3",
W: "~ [g3,c4,e4] [f#3,b3,d#4]@2", // C B
X: "[[g3,b3,d4] [f#3,a3,c4] [e3,g3,b3] [f#3,a3,c4]@2 ~ [g3,b3,e4] [g3,b3,e4]@3 [f#3,a3,e4]@2 [e3,g3,c4]@2 [g3,b3,d4]@2]/2", // G F#dim Em F#dim Em F#m7 C G
})).s("gm_trombone").gain(0.5)
// bass · tuba
const bass = note(`<
A B C D E F G@2 H I J K L M N M O M N M P M N M Q M N M Q R S ~@2 T U ~@3 V W M N X Y M Z AA AB AA AC AD AE AF AG
>`.pickRestart({
A: "e2", B: "d2", C: "c2", D: "~@6 d2!2", E: "e2@2 ~ e2@2 ~ e2@4 ~@6", F: "d2@2 ~ d2@2 ~ d2@4 ~@6",
G: "c2@2 ~ c2@2 ~ c2@4 ~@6", H: "c3@2 ~ c3@2 ~ c3@2 ~ c3 c3@2 ~ c3!3", I: "d3@2 ~ d3@2 ~@7 e3!2 d3!2",
J: "c3@2 ~ c3@2 ~ c3@2 ~ c3 c3@2 ~ a2 c3 a2", K: "b2@2 ~ b2@2 ~ b2@2 ~ b2!2 c3 ~ c3 a2@2",
L: "b2@2 ~ b2@2 ~ b2@2 ~@8", M: "c3@2 c3@2 ~ c3 ~ c3 b2@2 b2@2 ~ a2 b2 g2",
N: "e2@2 e2@2 ~ e2 ~ e2 d2@2 d2@2 ~@2 g2@2", O: "[e1,e2] [f#1,f#2] [g1,g2] [b1,b2]", P: "[e1,e2]@2 e3 d3",
Q: "e2!2 f#2 ~ g2 f#2 g2 b2", R: "c3 b2", S: "[e2,e3]@2 ~ [f#2,f#3]@2 ~ [g2,g3]@2 ~ [a2,a3]@2 ~ [c3,c4]@2 [b2,b3]@2",
T: "b2@2 ~ b2@2 ~ b2@2 ~ b2!2 c3@2 c3 a2@2", U: "b3@2 ~ b3@2 ~ b3@2 ~@8",
V: "[e1,e2]@4 [f#1,f#2]@4 [e2,e3] [c2,d2,c3,d3] [a2,a3] [f#2,g2,f#3,g3] [a1,a2] [g1,g2] ~ [f#1,f#2]", // E F# E Csus2 A Gmaj7 A G …
W: "[g1,g2] [f#1,f#2] ~ [d1,d2] ~@12", X: "c3@2 c3@2 ~ c3 ~ c3 b2@2 b2@2 ~ b2 d3 d#3",
Y: "[e1,e2,e3] [f#1,f#2,f#3] [a1,a2,a3] [g1,g2,g3]", Z: "e3@2 e3@2 ~ e3 ~ e3 d3@2 d3@2 ~@2 g3@2",
AA: "c3@2 c3@2 ~ c3 ~ c3 b2@2 b2@2 ~@2 b2@2", AB: "[e1,e2] [f#1,f#2] [a1,a2] [g1,g2]",
AC: "[e1,e2,e3]@4 [f#1,f#2,f#3]@4 [a1,a2,a3]@4 [g2,g3] [e2,f#2,e3,f#3] [a1,b1,c2,d2,a2,b2,c3,d3] [g1,g2]", // E F# A G Esus2 D7 G
AD: "c3 b2 a2 g2 f#2@2 g3 f#3", AE: "e3 d3 c3 b2",
AF: "[c2,c3] [b1,b2] [a1,a2] [g1,g2] [f#1,f#2]@2 [g1,g2] [f#1,f#2]", AG: "[e1,e2]@2 e3!2",
})).s("gm_tuba").gain(0.5)
// drums · kick
const kick = s("bd").struct(`<
~@3 A B C@3 ~@3 D ~ E F E G ~ F ~@2 E F E H E F E H ~@4 I C ~@3 J K E F L ~@4 M F N O P Q N
>`.pickRestart({
A: "~@6 x!2", B: "x ~@2 x ~@2 x ~@7 x!2", C: "x ~@2 x ~@2 x ~@9", D: "~@9 x!3 ~ x!2 ~",
E: "x ~ x ~@2 x ~ x!2 ~ x ~@2 x!3", F: "x ~ x ~@2 x ~ x!2 ~ x ~@3 x ~", G: "x ~ x ~ x!4", H: "x!3 ~ x!4",
I: "x ~@2 x ~@2 x ~@2 x!3 ~ x!2 ~", J: "x ~@3 x ~@7 x!2 ~ x", K: "x!2 ~ x ~@4 x ~ x ~ x ~ x ~",
L: "x ~ x ~@2 x ~ x!2 ~ x ~@5", M: "x!4", N: "x ~ x!3 ~ x ~ x ~@3 x ~@3", O: "x!4 ~@2 x ~", P: "~@2 x!2 ~@2 x ~@9",
Q: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x ~",
})).gain(0.5)
// drums · rim
const rim = s("rim").struct("<~@3 [~@6 x!2] [x ~@2 x ~@2 x ~@9]!3 ~@45 [x!5 ~ x!2] ~>").gain(0.45)
// drums · snare
const snare = s("sd").struct("<~@41 [x ~ x ~@2 x ~ x!2 ~ x ~@5] ~@12>").gain(0.5)
// drums · low tom
const low_tom = s("lt").struct("<~@17 [~@15 x] ~ [~@15 x] ~@20 [~@15 x] [~@7 x] ~@12>").gain(0.5)
// drums · mid tom
const mid_tom = s("mt").struct("<~@15 A ~ B ~ B ~@13 C ~@6 B ~ A ~@11>".pickRestart({
A: "~@4 x!2 ~@2", B: "~@8 x ~ x ~@2 x!2 ~", C: "x ~@2 x ~@2 x ~@2 x!2 ~@3 x ~",
})).gain(0.5)
// drums · high tom
const high_tom = s("ht").struct("<~@4 A ~@3 B C B D ~ E ~ F G H@3 ~@13 I ~@6 H J H ~@11>".pickRestart({
A: "~@12 x!2 ~@2", B: "x ~@2 x ~@2 x ~@2 x!2 ~@2 x!3", C: "x ~@2 x ~@10 x!2", D: "x ~@2 x ~@2 x ~@2 x!2 ~@5",
E: "~@5 x ~ x ~@5 x!3", F: "x ~ x ~@2 x ~ x ~@5 x!3", G: "~@2 x!2 ~@2 x!2 ~@8", H: "x ~ x ~@2 x ~ x ~@8",
I: "~@11 x ~ x ~@2", J: "x!2 ~@6",
})).gain(0.5)
// drums · china
const china = s("cr").struct("<~@9 [~@12 x!2 ~@2] ~@44>").gain(0.5)
// drums · ride
const ride = s("rd").struct("<~@34 [x ~@2 x ~@2 x ~@9] ~@19>").gain(0.5)
// drums · bongos
const bongos = s("bongo:4").struct("<~@18 [~@4 x!2 ~@2] ~@35>").gain(1.3)
// drums · bell tree
const bell_tree = s("marktrees:0").struct("<~@3 [~@6 x!2] [x ~@2 x ~@4] [x ~@2 x ~@2 x ~@9]!2 ~@47>").gain(2.66)
stack(
flute, flute_soft, alto_sax, alto_sax_soft, tenor_sax, tenor_sax_soft, trombone, bass, kick, rim, snare, low_tom,
mid_tom, high_tom, china, ride, bongos, bell_tree
)
More by Rickey C Battle jr
Ariane Grande God Is A WomanG♭ major · 70 bpmBackstreet Boys The CallD♭ major · 100 bpmbanditA♭ major · 80 bpmBig Sean Go Legend ft Travis ScottC♭ major · 70 bpmGangsta's ParadiseE♭ major · 80 bpmGucci Mane ClassicalA♭ major · 60 bpmkill the lightsC♭ major · 80 bpmLil Baby Life_Goes_OnA♭ major · 70 bpm
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.