0:00/0:00
// Lil Baby Life_Goes_On — Rickey C Battle jr
// 70 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "B♭ Clarinet" clarinet (copy of ch 1 "Flute" flute); ch 7 "Horn in F" french horn (copy of ch 3 "Alto Saxophone" alto sax); ch 8 "Mellophone" 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/5543060; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 36 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// chords · alto sax · "Alto Saxophone"
const alto_sax = note("<~@4 A@2 B C D ~@7 E ~@7 F G H I A@2 J K L M N ~>".pickRestart({
A: "[eb5,g5]@2 [eb5,g5]@2 [d5,f5]@3 [eb5,g5]@8 ~", B: "[eb5,g5]@2 [eb5,g5]@2 [d5,f5]@3 [eb5,g5]@8 [eb5,g5]",
C: "[eb5,g5]@2 [d5,f5]!2 ~ c5 [f5,ab5] [eb5,g5]@4 ~ [c5,eb5] [d5,f5] [eb5,g5] ~", D: "[c5,eb5,g5] ~@3",
E: "[eb5,g5,c6] ~@3", F: "[ab4,c5]@8 ~@2 g5@2 [eb5,g5]@2 eb5 f5", G: "eb5@4 d5@3 ~@3 g5@4 c5 eb5",
H: "[ab4,c5]@8 ~@2 g5@2 [eb5,g5]@2 c5 eb5", I: "~@8 g5!2 f5 eb5 g5!2 f5 eb5",
J: "[eb5,g5]@2 [eb5,g5]@2 [d5,f5]@3 [eb5,g5]@6 ~@2 [eb5,g5]", // Eb Dm Eb
K: "[eb5,g5]@2 [d5,f5]!2 ~ c5 [f5,ab5] [eb5,g5]@4 ~ [eb5,g5,c6]@4", L: "~@4 c5 db5 eb5 f5 g5@4 eb5@2 f5@2",
M: "d5@2 g4@2 ~ g4 eb5 d5", N: "c5@7 [ab4,bb4,c5,db5,eb5,f5] [c5,eb5,g5]@8",
})).s("gm_alto_sax").gain(0.5)
// chords · alto sax · "Alto Saxophone" · soft notes · Ab5 Eb
const alto_sax_soft = note("<[[eb4,ab4] [eb4,g4]]!4 ~@32>").s("gm_alto_sax").gain(0.3)
// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<~@4 A B C D E ~@7 E ~@7 F G H G A B C I J K L ~>".pickRestart({
A: "g4!3 c4 g4!2 ~@2 g4!3 c4 g4!2 ~@2", B: "g4!3 c4 g4!2 ~@2 g4!2 eb4!2 g4!2 ~@2",
C: "g4 eb4 g4 eb4 g4!2 ~@2 g4 eb4 g4 eb4 g4!2 ~ eb4", D: "eb4@2 d4!2 ~ c4 ab4 g4@4 ~ [eb4,g4] [d4,f4] [eb4,g4] ~",
E: "[g4,c5] ~@3", F: "ab4!5 g4 f4 eb4 g4!2 f4 eb4 ~@2 eb4 f4", G: "ab4!5 g4 f4 eb4 g4!2 f4 eb4 ~@4",
H: "ab4!5 g4 f4 eb4 g4!2 f4 eb4 ~@2 c4 eb4", I: "eb4@2 d4!2 ~ c4 ab4 g4@4 ~ [g4,c5]@4",
J: "~@4 c4 db4 eb4 f4 g4@4 eb4@2 f4@2", K: "d4@2 g4@2 ~ g4 eb4 d4", L: "c4 ~ [c4,eb4,g4]@2",
})).s("gm_tenor_sax").gain(0.5)
// other · tenor sax · "Tenor Saxophone" · soft notes
const tenor_sax_soft = note("<[eb4 f4 eb4 g4]!4 ~@32>").s("gm_tenor_sax").gain(0.3)
// chords · trumpet · "B♭ Trumpet"
const trumpet = note("<~@4 A B C D E ~@7 F ~@7 G@3 H A B C I J K L ~>".pickRestart({
A: "g5!3 c5 g5!2 ~@2 g5!3 c5 g5!2 ~@2", B: "g5!3 c5 g5!2 ~@2 g5!2 eb5!2 g5!2 ~@2",
C: "g5 eb5 g5 eb5 g5!2 ~@2 g5 eb5 g5 eb5 g5!2 ~ [eb5,g5]", // Eb
D: "[eb5,g5]@2 [d5,f5]!2 ~ [c5,eb5] [d5,f5,ab5] [c5,eb5,g5]@4 ~ [c5,eb5] [d5,f5] [eb5,g5] ~", E: "[c5,g5,c6,g6] ~@3",
F: "[g5,c6,g6] ~@3", G: "[ab4,ab5]!5 [g4,g5] [f4,f5] [eb4,eb5] [g4,g5]!2 [f4,f5] [eb4,eb5] ~@4",
H: "[ab4,ab5]!5 [g4,g5] [f4,f5] [eb4,eb5] ~@4 g5!2 f5 eb5", // Ab G F Eb
I: "[eb5,g5]@2 [d5,f5]!2 ~ [c5,eb5] [d5,f5,ab5] [c5,eb5,g5]@4 ~ [eb5,g5,c6]@4", // Eb Dm Cm Ddim Cm
J: "~@4 [c5,c6] [db5,db6] [eb5,eb6] [f5,f6] [g5,g6]@4 [eb5,eb6]@2 [f5,f6]@2", // C Db Eb F G Eb F
K: "[d5,d6]@2 [g4,g5,g6]@2 ~ [g4,g5] eb5 d5", L: "c5@7 [c5,db5,eb5,f5,ab5,bb5] [eb5,g5,c6]@8",
})).s("gm_trumpet").gain(0.5)
// chords · trumpet · "B♭ Trumpet" · soft notes · Ab Cm Ab Cm Ab Cm Ab Cm
const trumpet_soft = note(`<
[[ab4,c5,eb5] ~ [ab4,c5,eb5]!3 ~ [ab4,c5,eb5]!2 ~@2 [g4,c5,eb5]@2 [g4,c5,eb5]@2 [g4,c5,eb5]!2]
[[ab4,c5,eb5] ~ [ab4,c5,eb5]!3 ~ [ab4,c5,eb5]!2 ~@2 [g4,c5,eb5]@2 [g4,c5,eb5]@2 [g4,c5,eb5]@2]
[[ab4,c5,eb5] ~ [ab4,c5,eb5]!3 ~ [ab4,c5,eb5]!2 ~@2 [g4,c5,eb5]@2 [g4,c5,eb5]@2 [g4,c5,eb5]!2]
[[ab4,c5,eb5] ~ [ab4,c5,eb5]!3 ~ [ab4,c5,eb5]!2 ~@2 [g4,c5,eb5]@2 [g4,c5,eb5]@2 [g4,c5,eb5]@2]
~@32
>`).s("gm_trumpet").gain(0.3)
// chords · trombone
const trombone = note("<~@4 A B A C D ~@3 E F E F G ~@7 E F E F H B A C I J I ~>".pickRestart({
A: "[g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,d4]@3 ~@3 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2", // Cm Gsus4 Cm
B: "[g3,c4,eb4]@4 [g3,c4,d4]@3 [g3,c4,eb4]@8 ~", C: "[g3,c4,eb4]@2 [g3,b3,d4]!2 ~ [ab3,c4,d4]@2 [g3,c4,eb4]@8 ~",
D: "[c4,eb4,g4] ~@3", // Cm
E: "[ab3,c4,eb4] ~ [ab3,c4,eb4]!3 ~ [ab3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]!2", // Ab Cm
F: "[ab3,c4,eb4] ~ [ab3,c4,eb4]!3 ~ [ab3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2", // Ab Cm
G: "[g3,c4,eb4] ~@3", H: "[g3,c4,eb4]@4 [g3,c4,d4]@3 ~@3 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2",
I: "[g3,c4,eb4]!2", J: "[g3,b3,d4]!2",
})).s("gm_trombone").gain(0.5)
// chords · trombone · soft notes · Ab Cm Ab Cm Ab Cm Ab Cm
const trombone_soft = note(`<
[[ab3,c4,eb4] ~ [ab3,c4,eb4]!3 ~ [ab3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]!2]
[[ab3,c4,eb4] ~ [ab3,c4,eb4]!3 ~ [ab3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2]
[[ab3,c4,eb4] ~ [ab3,c4,eb4]!3 ~ [ab3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]!2]
[[ab3,c4,eb4] ~ [ab3,c4,eb4]!3 ~ [ab3,c4,eb4]!2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2]
~@32
>`).s("gm_trombone").gain(0.3)
// bass · tuba · "B♭ Tuba"
const bass = note("<A@3 B A@4 C@4 A@4 C@8 ~@2 D@2 C E C F G H I J>".pickRestart({
A: "ab2@2 ~ g2@2 ~ g2 c2@2 ~ c2@2 c2@2 eb2@2", B: "~@5 c3!3", C: "ab2@2 ~ g2@2 ~ g2 c3@2 ~ c3@2 c3@2 eb3@2",
D: "[ab1,ab2]@4 [g1,g2]@3 [c2,c3]@4 ~ [c1,c2,c3]@2 [eb1,eb2,eb3]@2", E: "ab3@2 ~ g3@2 ~ g3 c3@2 ~ c3@2 c3@2 eb3@2",
F: "ab3@2 ~ g3@2 ~ g3 c3@2 ~ c3@2 c3@2 g2@2", G: "c2@2 [g1,g2]!2", H: "d2@4 ~ [g1,g2] [eb1,eb2] [d1,d2]",
I: "[c1,c2]@4 ~@2 c3!2", J: "c3 ~@3",
})).s("gm_tuba").gain(0.5)
// drums · kick
const kick = s("bd").struct("<~@3 A B@12 ~ B@7 ~@4 B@4 C D E F>".pickRestart({
A: "~@5 x!3", B: "x ~@2 x ~@2 x!2 ~@2 x ~ x ~ x ~", C: "x ~ x!2", D: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~", E: "x ~@5 x!2",
F: "x",
})).gain(0.5)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<[x ~@2 x ~@2 x!2 ~@2 x ~ x ~ x ~]!3 ~@33>").gain(0.3)
stack(
alto_sax, alto_sax_soft, tenor_sax, tenor_sax_soft, trumpet, trumpet_soft, trombone, trombone_soft, bass, kick,
kick_soft
)
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 Tecca Ransom Band ArrangementF major · 75 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.