0:00/0:00
// arrival to earth — Steve Jabonsky
// 75 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 20, 4/4 at bar 20, 2/4 at bar 58, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 1 "Flute" named as a pipe, played on flute (its tremolo strings patch is not one); ch 2 "Oboe" named as a reed, played on oboe (its viola patch is not one); ch 3 "B♭ Clarinet" named as a reed, played on clarinet (its pizzicato strings patch is not one); ch 4 "Alto Saxophone" named as a reed, played on alto sax (its tremolo strings patch is not one); ch 5 "Tenor Saxophone" named as a reed, played on tenor sax (its cello patch is not one); ch 6 "Horn in F" named as a brass, played on brass section (its pizzicato strings patch is not one); ch 7 "B♭ Trumpet" named as a brass, played on trumpet (its tremolo strings patch is not one); ch 9 "Trombone" named as a brass, played on trombone (its acoustic bass patch is not one); ch 11 "Tuba" named as a brass, played on tuba (its tremolo strings patch is not one); ch 8 "Double Bass" named as a bass, played on acoustic bass (its contrabass patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/2213456; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 82 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(75/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(`<
~@18 A B C D E F C G H I J@2 ~ K ~@8 L M N O P M Q R@2 S@2 ~ T U V W@3 ~@4 X@2 Y@2 Z AA@2 AB AC AD AC AE AF AG AC AH
AI AJ@2 ~
>`.pickRestart({
A: "c4 c5 d5 eb5", B: "f5@4 g5@4 c5@6 g4 c5", C: "eb5@4 bb4@4 d5@6 f4 bb4", D: "c5@4 ab4@4 c5@6 g4 c5",
E: "g5@2 eb5@2 f5@2 eb5 d5", F: "c5@4 g4@4 c5@6 g4 c5", G: "c5 ab4 c5@2", H: "bb4@2 eb5 d5 c5@4",
I: "~@2 g4 bb4 c5@4", J: "[bb4@4 eb5@2 d5@2 c5@15 ~@9]/2", K: "~ f5 ~@2", L: "~@8 c6@6 g5 c6",
M: "eb6@4 bb5@4 d6@6 f5 bb5", N: "c6@4 ab5@4 c6@6 g5 c6", O: "g6@2 eb6@2 f6@2 eb6 d6", P: "c6@4 g5@4 c6@6 g5 c6",
Q: "c6 ab5 c6@2", R: "[bb5@4 eb6@2 d6@2 c5@11 ~ g4@2 bb4@2 c6@8]/2", S: "[bb5@4 eb6@2 d6@2 c6@15 ~@9]/2",
T: "~@3 bb4", U: "a4 g4 ~ c5", V: "bb4 a4 ~ bb5", W: "[a5@2 g5@2 a5@15 ~@5]/3", X: "[~@8 c5@23 ~]/2",
Y: "[eb4@8 bb4@15 ~ c5@8]/2", Z: "d5@15 ~", AA: "[d5@4 g5@4 bb5@15 ~ f5@4 a5@4]/2", AB: "c6@11 ~ bb5@2 a5@2",
AC: "g5@2 f5 g5", AD: "a5@2 d5 g5", AE: "d5@2 c6 bb5", AF: "bb5@2 c6 d6", AG: "d5@3 d5 gb5@2 bb5@2",
AH: "a5@2 bb5 a5", AI: "bb5@2 c6 eb6", AJ: "[d6@15 ~]/2",
})).s("gm_flute").gain(0.45)
// other · flute · soft notes
const flute_soft = note("<~@2 A B@3 C D@2 ~@22 E@5 F@5 ~@20 G H ~@19>".pickRestart({
A: "c5", B: "[eb5@23 ~]/3", C: "eb5@15 ~", D: "[eb5@15 ~]/2", E: "[~@8 gb5@15 ~ ab5@15 ~ bb5@15 ~ db6@24]/5",
F: "[~@8 eb6@15 ~ e6@15 ~ g5@15 ~ ab5@15 ~@9]/5", G: "bb4@15 ~", H: "a5 ~",
})).s("gm_flute").gain(0.2)
// other · oboe
const oboe = note(`<
~@9 A B C D A B E F E G H I J K L I M N O P@2 Q R S T U V@6 I J K L I M W X Y@5 Z@8 AA@2 AB@2 AC AD@2 AE AF AG AF AH
AI AJ AK AL AM AN@2 AO
>`.pickRestart({
A: "[c4,c5]@6 [g3,g4] [c4,c5] [eb4,eb5]@4 [bb3,bb4]@4", B: "[d4,d5]@6 [f3,f4] [bb3,bb4] [c4,c5]@4 [ab3,ab4]@4",
C: "[c4,c5]@6 [g3,g4] [c4,c5] [g4,g5]@4 [eb4,eb5]@4", D: "[f4,f5]@2 [eb4,eb5] [d4,d5] [c4,c5]@2 [g3,g4]@2",
E: "[c4,c5]@4 [bb3,bb4]@2 [eb4,eb5] [d4,d5]", F: "[c4,c5]@4 d3@2 g4 bb4, ~@3 bb3", G: "~ c5 d5 eb5, c4 ~",
H: "f5@4 g5@4 c5@6 g4 c5", I: "eb5@4 bb4@4 d5@6 f4 bb4", J: "c5@4 ab4@4 c5@6 g4 c5", K: "g5@2 eb5@2 f5@2 eb5 d5",
L: "c5@4 g4@4 c5@6 g4 c5", M: "c5 ab4 c5@2", N: "bb4@2 eb5 d5 f4@2 eb4@2, ~ c5", O: "d4@2 g4 bb4 c5@4, ~ bb3 ~@2",
P: "[bb4@2 eb5 d5 c5@8 ~@2 c4@2]/2", Q: "g3 eb4 ~ d4", R: "bb3 f4 ~ eb4", S: "bb3 gb4 ~ f4", T: "db4 ab4 ~ gb4",
U: "db4 a4 ~ ab4",
V: "[e4@4 b4@4 ~@4 ab4@4 e4@4 db5@4 ~@4 a4@4 e4@4 db5@4 ~@4 ab4@4 e4@4 db5@4 [b4,e5]@16 c5@16 c5@6 g4 c5, ~ ab5@2 bb5@2 a5@2 ~@5]/6", // E5
W: "bb4@2 eb5 d5 f4@2 eb4@2", X: "d4 bb3 c5@2",
Y: "[bb4@2 eb5 d5 c5@8 eb3@8 g3@8 ~@2 bb3@2 a3@2 g3@2 ~@2 c4@2, ~@7 eb5@2 f5]/5",
Z: "[bb3 a3 ~ bb3 a3 g3 g3@4 [a3,a5]@4 g3@18, ~ g5@4 ~@11]/8", AA: "[~ f3, f4, ~ c5@3]/2",
AB: "[[c3,c4] bb4 g4 [f3,c5], ~ eb3@2 ~]/2", AC: "[g3,d5]", AD: "[bb3 d4 eb4@4 d4!2, g3 ~@2 bb3]/2",
AE: "c4@6 bb4 a4, f3", AF: "g4@2 f4 g4, c4", AG: "[d4,a4]@2 d4 g4", AH: "d4@2 c4 bb3, g3", AI: "bb3@2 c4 d4, eb4",
AJ: "~ d5, d4", AK: "c6@2 g5 c6, c4", AL: "a4@2 bb4 a4, f3", AM: "[bb3,bb4] [c4,eb4]", AN: "[d4,d5]/2", AO: "g3",
})).s("gm_oboe").gain(0.35)
// other · oboe · soft notes
const oboe_soft = note("<~@4 A@2 B C@2 ~@52 D E ~@19>".pickRestart({
A: "c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2", B: "c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2, eb5",
C: "[c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2, eb5]/2", D: "bb4",
E: "a5 ~",
})).s("gm_oboe").gain(0.15)
// other · clarinet · "B♭ Clarinet"
const clarinet = note(`<
~@8 A B C D E B C F G F H I J K L M J N O P Q@2 ~ R@8 S@2 J K L M J N T@2 Q@2 ~ U@6 ~ V@2 W X@2 Y Z W AA@2 AB AC AD AE
AF AG AH AE AI AJ AK@2 ~
>`.pickRestart({
A: "~@7 g4", B: "c5@6 g4 c5 eb5@4 bb4@4", C: "d5@6 f4 bb4 c5@4 ab4@4", D: "c5@6 g4 c5 g5@4 eb5@4",
E: "f5@2 eb5 d5 c5@2 g4@2", F: "c5@4 bb4@2 eb5 d5", G: "c5@4 ~@2 g4 bb4", H: "c5@2 d5 eb5", I: "f5@4 g5@4 c5@6 g4 c5",
J: "eb5@4 bb4@4 d5@6 f4 bb4", K: "c5@4 ab4@4 c5@6 g4 c5", L: "g5@2 eb5@2 f5@2 eb5 d5", M: "c5@4 g4@4 c5@6 g4 c5",
N: "c5 ab4 c5@2", O: "bb4@2 eb5 d5 c5@4", P: "~@2 g4 bb4 c5@4", Q: "[bb4@2 eb5 d5 c5@8 ~@4]/2",
R: "[~ f4 gb4@4 ab4@4 bb4@4 db5@4 db5@4 eb5@4 db5@4 g4@2]/8", S: "[~@8 ab5@16 c5@6 g4 c5]/2",
T: "[bb4@2 eb5 d5 c5@6 g4 bb4 c5@4]/2", U: "[bb4 d5 eb5@4 f5@4 g5@8 gb5@4 ~@2]/6", V: "d4/2", W: "bb4",
X: "[a5 ~ c5@2, ~ a4@2 ~]/2", Y: "eb4 bb4", Z: "g4 ~", AA: "[bb4 d5 eb5@4 d5!2]/2", AB: "c5@6 bb4 a4",
AC: "g4@2 f4 g4", AD: "a4@2 d5 g5", AE: "g5@2 f5 g5", AF: "d5@2 c5 bb4", AG: "bb4@2 c5 d5", AH: "d5",
AI: "a5@2 bb5 a5", AJ: "bb5 eb5", AK: "d5/2",
})).s("gm_clarinet").gain(0.35)
// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
~@19 A B C D E B F G H I@2 J K L M N O P Q R@3 B C D E B F S T U@2 ~ V@6 ~ W@2 X Y@2 Z AA X AB@2 AC AD AE AF AG AH AI
AJ AK AL W@2 ~
>`.pickRestart({
A: "~@8 c5@6 g4 c5", B: "eb5@4 bb4@4 d5@6 f4 bb4", C: "c5@4 ab4@4 c5@6 g4 c5", D: "g5@2 eb5@2 f5@2 eb5 d5",
E: "c5@4 g4@4 c5@6 g4 c5", F: "c5 ab4 c5@2", G: "bb4@2 eb5 d5 c5@4", H: "~@2 g4 bb4 c5@4",
I: "[bb4@2 eb5 d5 c5@8 ~@2 c4@2]/2", J: "g3 eb4 ~ d4", K: "bb3 f4 ~ eb4", L: "bb3 gb4 ~ f4", M: "db4 ab4 ~ gb4",
N: "db4 a4 ~ ab4", O: "e4 b4 ~ ab4", P: "e4 db5 ~ a4", Q: "e4 db5 ~ ab4", R: "[e4@4 db5@4 b4@16 c5@16 c5@6 g4 c5]/3",
S: "bb4@2 eb5 d5 f4@2 eb4@2", T: "d4 bb3 c5@2", U: "[bb4@2 eb5 d5 c5@8 ~@4]/2",
V: "[bb4 d5 eb5@4 f5@4 g5@8 gb5@4 ~@2]/6", W: "d4/2", X: "bb4", Y: "[a4 ~ c5@2, ~ a4@2 ~]/2", Z: "c4 bb4", AA: "g4 ~",
AB: "[d4 g4 bb4@4 f4 a4]/2", AC: "c5@6 bb4 a4", AD: "g4@2 f4 g4", AE: "a4@2 d5 g5", AF: "g5@2 f5 g5",
AG: "d5@2 c5 bb4", AH: "bb4@2 c5 d5", AI: "d5@3 d5 gb5@2 bb5@2", AJ: "c6@2 g5 c6", AK: "a5 f5", AL: "bb5@2 c5 eb5",
})).s("gm_alto_sax").gain(0.5)
// other · brass section · "Horn in F"
const brass_section = note(`<
~@29 A B C D E F G H I J@3 K L M N K O P Q R@2 ~@8 S@2 T@3 U@2 V W@2 X Y X Z V Y AA Z AB AC S@2 V
>`.pickRestart({
A: "~@3 c4", B: "g3 eb4 ~ d4", C: "bb3 f4 ~ eb4", D: "bb3 gb4 ~ f4", E: "db4 ab4 ~ gb4", F: "db4 a4 ~ ab4",
G: "e4 b4 ~ ab4", H: "e4 db5 ~ a4", I: "e4 db5 ~ ab4", J: "[e4@4 db5@4 b4@16 c5@16 c4@6 g3 c4]/3",
K: "eb4@4 bb3@4 d4@6 f3 bb3", L: "c4@4 ab3@4 c4@6 g3 c4", M: "g4@2 eb4@2 f4@2 eb4 d4", N: "c4@4 g3@4 c4@6 g3 c4",
O: "c4 ab3 c4@2", P: "bb3@2 eb4 d4 f4@2 eb4@2", Q: "d4 bb3 c4@2", R: "[bb3@2 eb4 d4 c4@8 ~@4]/2", S: "d4/2",
T: "[bb3 c4]/3", U: "[c3 eb3@2 f3]/2", V: "g3", W: "[bb4 g4@2 a4]/2", X: "a4", Y: "eb4", Z: "c4", AA: "d4", AB: "f4",
AC: "bb3 c4",
})).s("gm_brass_section").gain(0.5)
// other · trumpet · "B♭ Trumpet"
const trumpet = note("<~@40 A B C D E B F G H I@2 ~@10 J K@2 L@2 M N@2 O P Q R S T U V W X Y Z AA>".pickRestart({
A: "~@8 c5@6 g4 c5", B: "eb5@4 bb4@4 d5@6 f4 bb4", C: "c5@4 ab4@4 c5@6 g4 c5", D: "g5@2 eb5@2 f5@2 eb5 d5",
E: "c5@4 g4@4 c5@6 g4 c5", F: "c5 ab4 c5@2", G: "bb4@2 eb5 d5 c5@4", H: "d4 bb3 c5@2", I: "[bb4@2 eb5 d5 c5@8 ~@4]/2",
J: "~ d4 g4 a4", K: "[bb4 c5 d5@2 c5@6 c4@2 f4@2 a4@2]/2", L: "[c5 d5 eb5@2 bb4@6 eb4@2 a4 g4 f4@2]/2", M: "g4",
N: "[d4 g4 bb4@4 f4 a4]/2", O: "c5@6 bb4 a4", P: "eb4@2 g4 eb4", Q: "a4@2 d5 bb4", R: "d5@3 c5", S: "bb4@3 bb4",
T: "bb4@2 c5 d5", U: "g4 gb4", V: "g5@2 f5 g5", W: "a5@2 c5 a4", X: "d5 g5!2 a5", Y: "bb5 g5", Z: "a5", AA: "g3",
})).s("gm_trumpet").gain(0.5)
// other · trombone
const trombone = note(`<
~@8 A ~@20 B C D E F G H I J K@3 L M L M L N O@2 P@2 ~@8 Q@2 R S@2 T@2 A U@2 V W X W Y Z AA AB AC AD AE@2 AF
>`.pickRestart({
A: "g3", B: "~@3 c3", C: "g2 eb3 ~ d3", D: "bb2 f3 ~ eb3", E: "bb2 gb3 ~ f3", F: "db3 ab3 ~ gb3", G: "db3 a3 ~ ab3",
H: "e3 b3 ~ ab3", I: "e3 db4 ~ a3", J: "e3 db4 ~ ab3", K: "[e3 db4 b3@4 c4@4 c3@2]/3", L: "eb3 bb2", M: "f3 c3",
N: "f3 ab3", O: "[bb3 c3@2 ab3]/2", P: "[g3 g3@2 ~]/2", Q: "bb2/2", R: "~ d3 g3 a3",
S: "[bb3 c4 d4@2 c4@6 c3@2 f3@2 a3@2]/2", T: "[c4 d4 eb4@2 bb3@6 eb3@2 a3 g3 f3@2]/2", U: "[bb2 d3 eb3@4 d3!2]/2",
V: "c3@6 bb2 a2", W: "g3@2 f3 g3", X: "a3@2 d3 g3", Y: "d3@2 c3 bb2", Z: "bb2@2 c3 d3", AA: "d3", AB: "g2@2 g3 c4",
AC: "a3@2 bb2 a2", AD: "bb2 eb3", AE: "d3/2", AF: "g2",
})).s("gm_trombone").gain(0.5)
// bass · tuba
const bass = note(`<
~@4 A ~ A B A C D C D C D E A E F G H I J I J K L@2 M@8 N@5 O I O I O P Q@2 R@2 ~ S@5 T@4 U V@2 W@2 X Y@2 Z AA AB AA
AC AD AB AA AE AF AG@2 X
>`.pickRestart({
A: "c3", B: "ab2", C: "c2 eb2", D: "bb2 f2", E: "ab2 bb2", F: "c2 c3 d3 eb3", G: "f3 g3 c3@2", H: "eb3 bb2",
I: "f2 c2", J: "eb2 bb2", K: "f2 ab2", L: "[bb2 c3@2 ab2]/2", M: "[bb2 c3@2 c2@2 bb1@2 eb2@2 db3@2 gb2@2 e2@2 db3]/8",
N: "[~ a2@2 db3@2 b1@2 c2@2 c2]/5", O: "eb2 bb1", P: "f2 ab1", Q: "[bb1 c2@2 ab2]/2", R: "[g2 c3@2 ~]/2",
S: "[bb2 d3 eb3@4 f3@4 g3@8 gb3@2]/5", T: "[~ g2@7]/4", U: "bb2", V: "[a2 f2@3]/2", W: "[c2 eb2@2 f2]/2", X: "g2",
Y: "[g2 eb2@2 bb1]/2", Z: "a3", AA: "c2", AB: "d2", AC: "g1", AD: "eb2", AE: "f2", AF: "bb2 c3", AG: "d3/2",
})).s("gm_tuba").gain(0.45)
// other · timpani · "Violin"
const timpani = note(`<
~@6 A B@2 C D E F C D G H G I J K L M N K O P Q R@2 S@5 T S T U@2 V W X Y Z W AA AB AC AD@2 AE AF AG AH AI@3 ~ AJ@2 AK
AL@2 AM@2 AN AO@2 AP AQ AR AS AT AU AV AW AX AY AZ@2 BA
>`.pickRestart({
A: "eb5", B: "[eb5@14 ~ g4]/2", C: "c5@6 g4 c5 eb5@4 bb4@4", D: "d5@6 f4 bb4 c5@4 ab4@4", E: "c5@6 g4 c5 g5@4 eb5@4",
F: "f5@2 eb5 d5 c5@2 g4@2", G: "c5@4 bb4@2 eb5 d5", H: "c5@4 ~@2 g4 bb4", I: "c5@2 d5 eb5",
J: "f5@4 ~@2 c3!2 c5 d5 eb5 ~ c5 d5 eb5 ~, ~ g5 c3 ~",
K: "eb5 f5 g5 ~ eb5 f5 [c3,g5] c3 d5 eb5 f5 ~ d5 eb5 f5 ~, ~@2 c3 ~ c3@2 ~@2", // C5
L: "ab4 bb4 c5 ~ [c3,ab4] [c3,bb4] [c3,c5] c3 c5 d5 eb5 ~ c5 d5 eb5 ~, ~@2 c3 ~", // Fm C7 C
M: "eb5 f5 g5 ~ eb5 f5 [c3,g5] c3 d5 eb5 f5 ~ d5 eb5 f5 ~, ~@2 c3 ~", // C5
N: "ab4 bb4 c5 ~ ab4 bb4 [c3,c5] c3 c5 d5 eb5 ~ c5 d5 eb5 ~, ~@2 c3 ~ c3@2 ~@2", // C
O: "ab4 bb4 c5 ~ [c3,ab4] [c3,bb4] [c3,c5] c3 ab4 bb4 c5 ~ ab4 bb4 c5 ~, ~@2 c3 ~", // Fm C7 C
P: "bb4 c5 d5 ~ bb4 c5 [c3,d5] c3 c5 d5 eb5 ~ c5 d5 eb5 ~, ~@2 c3 ~ c3@2 ~@2", // Csus2
Q: "c5 d5 eb5 c3 c5 d5 [c3,eb5] c3 ab4 bb4 c5 ~ ab4 bb4 c5 ~, ~@2 c3 ~ c3@2 ~@2", // Cm
R: "[bb4 c5 d5 ~ bb4 c5 [c3,d5] c3 c5 d5 eb5 ~ c5 d5 eb5 ~ c5 d5 eb5 ~ c5 d5 [c3,eb5] c3 c3@4 ~@4, ~@2 c3 ~ c3@6 ~@6]/2", // Csus2 Cm
S: "~@3 c3 c3@2 c3!2 c3@4 ~@4", T: "~@3 c3!5 c3@4 ~@4", U: "[~@3 c3 c3@2 c3!2 c3@16 ~@8]/2",
V: "~@4 c3!4 c5@6 g4 c5, ~@2 c3 ~", W: "eb5@4 bb4@4 d5@6 f4 bb4", X: "c5@4 ab4@4 c5@6 g4 c5",
Y: "g5@2 eb5@2 f5@2 eb5 d5", Z: "c5@4 g4@4 c5@6 g4 c5", AA: "c5 ab4 c5@2", AB: "bb4@2 eb5 d5 c5@4", AC: "d4 bb3 c5@2",
AD: "[bb4@4 eb5@2 d5@2 c5@16 ~@6 c3!2]/2", AE: "c3 ~@15", AF: "~@3 bb4", AG: "a4 g4 ~ c5", AH: "bb4 a4 ~ bb5",
AI: "[a5 g5 a5@8 ~@2]/3", AJ: "bb3/2", AK: "~ d4 g4 a4", AL: "[bb4 c5 d5@2 c5@6 c4@2 f4@2 a4@2]/2",
AM: "[c5 d5 eb5@2 bb4@6 eb4@2 a4 g4 f4@2]/2", AN: "g4", AO: "[d4 g4 bb4@4 f4 a4]/2", AP: "c5@6 bb4 a4",
AQ: "g4@2 f4 g4", AR: "a4@2 d5 g5", AS: "g5@2 f5 g5", AT: "d5@2 c5 bb4", AU: "bb4@2 c5 d5", AV: "d5@3 d5 gb5@2 bb5@2",
AW: "c6@2 g5 c6", AX: "a5@2 bb5 a5", AY: "g5 bb5 c6 eb6", AZ: "d6/2", BA: "g3",
})).s("gm_timpani").gain(0.5)
// other · violin
const violin = note(`<
~@7 A B ~@10 C D E F G D H I J ~ K L M N O P Q R@2 S@3 T U T U T V W@2 X@2 ~ Y@6 ~@3 Z AA@2 AB@2 AC AD@2 AE AF AG AH
AI AJ AK AL AM AN AO AP AQ
>`.pickRestart({
A: "~@14 eb4!2", B: "c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2", C: "~@8 c6@6 g5 c6", D: "eb6@4 bb5@4 d6@6 f5 bb5",
E: "c6@4 ab5@4 c6@6 g5 c6", F: "g6@2 eb6@2 f6@2 eb6 d6", G: "c6@4 g5@4 c6@6 g5 c6", H: "c6 ab5 c6@2",
I: "bb5@2 eb6 d6 c6@4", J: "~@2 g5 bb5 c6@4", K: "~@9 [c4,c5] [d4,d5] [eb4,eb5] ~ [c4,c5] [d4,d5] [eb4,eb5]",
L: "~ [c4,c5] [d4,d5] [eb4,eb5] ~ [c4,c5] [d4,d5] [eb4,eb5] ~ [d4,d5] [eb4,eb5] [f4,f5] ~ [d4,d5] [eb4,eb5] [f4,f5]", // C D Eb C D Eb D Eb …
M: "~ [d4,d5] [eb4,eb5] [f4,f5] ~ [d4,d5] [eb4,eb5] [f4,f5] ~ [eb4,eb5] [f4,f5] [gb4,gb5] ~ [eb4,eb5] [f4,f5] [gb4,gb5]", // D Eb F D Eb F Eb F …
N: "~ [eb4,eb5] [f4,f5] [gb4,gb5] ~ [eb4,eb5] [f4,f5] [gb4,gb5] ~ [f4,f5] [gb4,gb5] [ab4,ab5] ~ [f4,f5] [gb4,gb5] [ab4,ab5]", // Eb F Gb Eb F Gb F Gb …
O: "~ [f4,f5] [gb4,gb5] [ab4,ab5] ~ [f4,f5] [gb4,gb5] [ab4,ab5] ~ [gb4,gb5] [ab4,ab5] [a4,a5] ~ [gb4,gb5] [ab4,ab5] [a4,a5]", // F Gb Ab F Gb Ab Gb Ab …
P: "~ [gb4,gb5] [ab4,ab5] [a4,a5] ~ [gb4,gb5] [ab4,ab5] [a4,a5] ~ [ab4,ab5] [a4,a5] [b4,b5] ~ [ab4,ab5] [a4,a5] [b4,b5]", // Gb Ab A Gb Ab A Ab A …
Q: "~ [ab4,ab5] [a4,a5] [b4,b5] ~ [ab4,ab5] [a4,a5] [b4,b5] ~ [db4,db5] [eb4,eb5] [e4,e5] ~ [db4,db5] [eb4,eb5] [e4,e5]", // Ab A B Ab A B Db Eb …
R: "~ [db4,db5] [eb4,eb5] [e4,e5] ~ [db4,db5] [eb4,eb5] [e4,e5] ~ [db4,db5] [eb4,eb5] [e4,e5] ~ [db4,db5] [eb4,eb5] [e4,e5]", // Db Eb E Db Eb E Db Eb …
S: "[~ [db4,db5] [eb4,eb5] [e4,e5] ~ [db4,db5] [eb4,eb5] [e4,e5] b5@16 c6@16 c5@8]/3", T: "eb5 bb4", U: "f5 c5",
V: "f5 ab5", W: "[bb5@4 c5@6 g4 bb4 ab5@4]/2", X: "[g5 c5@2 ~]/2", Y: "[~ eb5@2 f5@2 g5@4 a5@2 ~]/6", Z: "~ d4 g4 a4",
AA: "[bb4 c5 d5@2 c5@6 c4@2 f4@2 a4@2]/2", AB: "[c5 d5 eb5@2 bb4@6 eb4@2 a4 g4 f4@2]/2", AC: "g4",
AD: "[d4 g4 bb4@4 f4 a4]/2", AE: "c5@6 bb4 a4", AF: "eb4@2 g4 eb4", AG: "a4@2 d5 bb4", AH: "d5@3 c5", AI: "bb4@3 bb4",
AJ: "bb4@2 c5 d5", AK: "g4 gb4", AL: "g5@2 f5 g5", AM: "a5@2 c5 a4", AN: "d5 g5!2 a5", AO: "bb5 g5", AP: "a5",
AQ: "g3",
})).s("gm_violin").gain(0.35)
// other · violin · soft notes
const violin_soft = note("<A@7 B ~@42 C@3 ~@4 D@4 ~@21>".pickRestart({
A: "c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2", B: "c4!2 eb4!2 c4!2 eb4!2 c4!2 eb4!2 c4!2 ~@2", C: "[~ ab4@4 ~]/3",
D: "[~ g4@7]/4",
})).s("gm_violin").gain(0.15)
// bass · acoustic bass · "Double Bass"
const bass_2 = note(`<
~@4 A@2 B C D E F E F E F G H G I@2 J K J K J L M@2 N@8 O@5 J P J P J Q R@2 S@8 T@5 U@2 V@2 W X@2 Y B Z B AA AB Z B Y
AC AD@2 AA
>`.pickRestart({
A: "[f2@7 g1]/2", B: "c2", C: "ab2 g2", D: "c2@6 ~ g2", E: "c2 eb2", F: "bb1 f2", G: "ab2 bb2", H: "c2 ~@3",
I: "[c2@3 c2]/2", J: "eb2 bb1", K: "f1 c2", L: "f1 ab1", M: "[bb1 c2@2 ab1]/2",
// … 9 more lines
More by
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.