0:00/0:00
// pokemon rby battle vs wild pokemon theme — Misc Computer Games
// 184 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Piccolo" named as a pipe, played on piccolo (its tremolo strings patch is not one); ch 2 "Flute" named as a pipe, played on flute (its violin patch is not one); ch 3 "Oboe" named as a reed, played on oboe (its pizzicato strings patch is not one); ch 5 "Tubular Bells" named as a mallet, played on tubular bells (its tuba patch is not one); ch 6 "Xylophone" named as a mallet, played on xylophone (its piano patch is not one)
// note: duplicate parts dropped: ch 15 "Violin" violin (copy of ch 6 "Xylophone" xylophone)
// note: Transcription provider: pdmx. https://musescore.com/score/950981; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(184/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 · piccolo
const piccolo = note(`<
~@4 A B A C D E D F D G H@2 ~@32 I J K L M N O P Q R@2 S T@2 U@2 V W X Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AF@2 AG@2 AH AI
AJ AK AL AM AN@2 AH AO AP AQ AR AS AT AU AV ~
>`.pickRestart({
A: "f#6@3 b5 ~@2 a5@2 b5@2 ~@6", B: "b5@3 f#6 ~@2 e6@2 f#6@2 ~@6", C: "b5@3 f#6 ~@2 a6@2 b6@2 ~@2 b6 c#7 d7 e7",
D: "f#7@6 e7 d7 c#7@3 a6@3 c#7@2", E: "b6@3 f#6@3 e6@2 f#6@4 b6 c#7 d7 e7", F: "b6@3 f#7@3 e7@2 f#7@4 b6 c#7 d7 e7",
G: "b6@3 f#6@3 e6@2 f#6@3 e6@3 d6@2", H: "b5/2", I: "~@3 b6", J: "g7@6 g7!2 g7@3 f#7@3 e7 ~",
K: "e7@3 d7@3 b6 ~ g6@6 a6 b6", L: "c7@6 a6!2 a6@3 g6@3 a6@2", M: "b6@14 a6 b6", N: "c7@3 b6@3 c7 ~ a6@3 g6@3 a6 ~",
O: "d7@3 c7@3 d7 ~ b6@3 a6@3 b6 ~", P: "b6@6 d7@2 c#7@3 b6@3 a6@2",
Q: "b6@12 [b5,c6] [c#6,d6,d#6] [e6,f6,f#6] [g6,g#6,a6]", R: "[b6@7 ~, a#6 ~@31]/2", S: "[g#5,c#6]",
T: "[c#6@2 e6@2 b6@2 a6@2 g#6@2 a6@2 g#6@2 c#6@4 c#6@2 f#6@2 b6@2 a6 g#6 f#6@2 g#6@2 e6@2]/2",
U: "[c#6@2 e6@2 b6@2 a6@2 g#6@2 a6@2 f#6@2 c#6@4 c#6@2 f#6@2 b6@2 a6 g#6 f#6@2 g#6@2 e6@2]/2", V: "c#7@3 e7",
W: "c#7@3 g#7", X: "a7@12 g#7@2 a7 g#7", Y: "e7 f#7", Z: "[f#6@18 g#6@6 a6@4 e7@3 [d7,d#7]]/2",
AA: "[c#7@9 b6 c#7 b6 a6 b6 a6 g#6]/2", AB: "[f#6@9 g#6@3 f#6@2 e6@2]/2", AC: "[c#6@24 ~@4 c#6@2 d6 [e6,f#6]]/2",
AD: "[g6@18 a6@6 a#6@4 f7@3 [d#7,e7]]/2", AE: "[d7@9 c7 d7 c7 a#6 c7 a#6 a6]/2", AF: "[g6@9 a6@3 g6@2 f6@2]/2",
AG: "[d6@24 ~@6 g7 a7]/2", AH: "a#7", AI: "a7 c8", AJ: "b7 d#7", AK: "d7 g#7", AL: "g7@14 f7 d#7",
AM: "d7@8 f7@7 [d#7,e7]", AN: "[d7@28 ~@2 g7 a7]/2", AO: "a7@2 a#7 c8", AP: "a7 a#7@13 a7 g7", AQ: "d#7",
AR: "d7 d#7@15", AS: "c7 g7 ~ c7 d7 g7 ~ d7 d#7 c7 ~ d7 d#7 f7 ~ g7", AT: "a#6@14 c7 a#6", AU: "a6@12 d6@3 [e6,f6]",
AV: "f6@14 d#6 f6",
})).s("gm_piccolo").gain(0.3)
// chords · flute
const flute = note(`<
A B C@4 D E F G F H F I J@2 K L M N M N M N M O M N M N M N P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL
AM AN AO@2 AP AQ AR AQ AR AS AT AS AT AS AU AS AV AW@4 ~@2 AX AY AZ BA BB BC@2 BA BB BD@2 BE BF BE BG BE BH BI@2 BJ BK
BL BM@2
>`.pickRestart({
A: "[c#3,g#3,c#4]", B: "[d3,a3,d4] [e3,b3,e4]",
C: "[~@32 f#5@3 b4 ~@2 a4@2 b4@2 ~@6 b4@3 f#5 ~@2 e5@2 f#5@2 ~@6, [f#3,f#4]]/4", // F#
D: "[f#3,f#5]@2 ~ b4 f#3@2 [f#4,a4]@2 [f#3,b4]@2 f#4@2 f#3@2 f#4@2, ~ f#4 ~@6", // F# F#m B5
E: "[f#3,b4]@2 ~ f#5 f#3@2 [f#4,a5]@2 [f#3,b5]@2 f#4@2 b5 c#6 d6 e6, ~ f#4 ~@4 f#3 f#4", // B5 F#m B5
F: "f#3@2 f#4@2 f#3@2 e6 d6 [f#3,c#6]@2 ~@2 f#3@2 [f#4,c#6]@2, f#6@3 f#4 ~ f#4 ~@2, ~@11 a5@3 ~@2", // F#5
G: "[f#3,b5]@2 ~@2 f#3@2 [f#4,e5]@2 [f#3,f#4,f#5]@4 b5 c#6 d6 e6, ~ f#4 ~@4 [f#3,f#4]@2, ~@3 f#5@3 ~@10", // B5 F#7 F#
H: "[f#3,b5]@2 ~@2 f#3@2 [f#4,e6]@2 f#3@2 f#4@2 b5 c#6 d6 e6, ~ f#4 ~@4 g3 g4, ~@3 f#6@3 ~@2 f#6@4 ~@4", // B5 F#7
I: "[f#3,b5] ~ f#3 [f#4,e5] [f#3,f#5] ~ g3 [g4,d5], ~ f#4 ~@3 f#4 ~@2, ~@3 f#5@3 ~@5 e5@3 ~@2", // B5 F#7 F# G5
J: "[f#3 f#4 f#3 f#4 f#3 f#4 f#3 f#4 f#3 f#4 f#3 f#4 f#3 f#4 g3 g4, b4]/2", K: "f#3 f#4 f#3 f#4 f#3 f#4 f#3 f#4",
L: "f#3 f#4 f#3 f#4 f#3 f#4 [d3,d4]@2", M: "g3 g4 g3 g4 g3 g4 g3 g4", N: "g3 g4 g3 g4 g3 g4 g#3 g#4",
O: "g3 g4 g3 g4 [g3,d4,g4]@2 [g#3,d#4,g#4]@2", // G5 G#5
P: "[g3,g4]@4 ~@2 [g3,g4]@2 ~@4 [b4,c5] [c#5,d5,d#5] [e5,f5,f#5] [g5,g#5,a5], ~@3 [g3,g4]", // G Cmaj7 G
Q: "a#5 ~ [g3,g4]@2 ~@2 b5 c6 [g3,d4,g4,b5]@3 ~@3 g5@2, b5@6 ~@5 a5@3 ~@2, ~@3 [f3,c4,f4]", // G F5
R: "d#3@2 d#4@2 d#3@2 a5 b5 [d#3,a5]@2 ~@2 d#3@2 [d#4,f#5]@2, a5@3 d#4 ~ d#4 ~@2, ~@11 g5@3 ~@2", // D#dim D#m
S: "d#3@2 d#4@2 d#3@2 f#5 g5 [d#3,f#5]@2 ~@2 d#3@2 [d#4,d5]@2, e5@3 d#4 ~ d#4 ~@2, ~@11 e5@3 ~@2", // D#m D#maj7
T: "d#3 d#4 d#3 d#4 d#3 d#4 d#3 d#4, b4@3 b4",
U: "d#3@2 d#4@2 d#3@2 b5 c6 [d#3,b5]@2 ~@4 g5@2, b5@3 d#4 ~ d#4 [d#3,d4,g4]@2, ~@11 a5@3 ~@2", // G#m D#maj7
V: "c4@2 c5@2 c4@2 a5 b5 [c4,a5]@2 ~@2 c4@2 [c5,f#5]@2, a5@3 c5 ~ c5 ~@2, ~@11 g5@3 ~@2", // F Cdim
W: "c4@2 c5@2 c4@2 f#5 g5 c4@2 c5@2 c4@2 g5 a5, g5@3 c5 a5@3 c5", X: "d3 d4 d3 d4 d3 d4 d3 [d4,b4], b5@3 ~",
Y: "d3@2 d4@2 d3@2 b5 c6 [a#2,a#3,b5]@2 ~@2 [d3,d4]@2 [a#2,a#3,g5]@2, b5@3 d4 ~ [d3,c4] ~@2, ~@11 a5@3 ~@2", // Bmaj7 D D# D7
Z: "a5@6 a5 b5 a5@3 g5@3 f#5@2, [d3,d4]", AA: "e5@6 f#5 g5 f#5@3 e5@3 d5@2, [d#3,d#4]", AB: "b4@6 ~ b4, [f3,f4]",
AC: "c5@3 e5@3 b5@2 ~@6 d5@2, [g3,g4]@3 [g3,g4], ~@4 a5@3 ~", // G
AD: "d5@3 f#5@3 f3 f#3 f#3@4 ~@2 g5@2, d3@3 c6 b5@3 ~, ~@3 f#4",
AE: "g5@6 f#5 g5 a3@4 ~@2 g5 a5, c#4@4 a5@3 ~, ~@3 a4", AF: "b3@2 b3 b4, b5@3 ~",
AG: "[g#3,g#4]@4 ~@2 g5!2 [g#3,g#4,g5]@3 ~@3 e5 ~, g5@6 ~@5 f#5@3 ~@2, ~ [g#3,g#4] ~ [g#3,g#4]", // G# G#maj7 G#
AH: "[d3,e5]@2 ~@2 d3@2 d4@2 d3@2 d4@2 d3@2 a4 b4, ~ d4 ~@5 d4, ~@3 d5@3 b4 ~ g4@6 ~@2", // Dsus2
AI: "e3@2 e4@2 e3@2 a4!2 [e3,a4]@2 ~@2 e3@2 [e4,a4]@2, c5@3 e4 ~ e4 ~@2, ~@11 g4@3 ~@2", // A5
AJ: "f#3@2 f#4@2 f#3@2 f#4@2 f#3@2 f#4@2 f#3@2 a4 b4, b4@7 f#4",
AK: "[g3,c5]@2 ~@2 g3@2 g4@2 [g3,a4]@2 g4 ~ g3@2 g4@2, ~@2 g4@2 ~@7 g4@3 a4 ~, ~@3 b4@3 c5 ~@9", // C5 Gsus2
AL: "[d4,d5] ~ d4 d5 [d4,b4] ~ d4 d5, ~ d5 ~@3 d5 ~@2, ~@3 c5@3 ~@5 a4@3 b4 ~", // D G
AM: "c#4 c#5 c#4 [c#5,d5] [c#4,c#5] ~ c#4 [a4,c#5], b4@3 ~@2 c#5 ~@2, ~@11 b4@3 ~@2", // Dmaj7 C# A
AN: "[b3,b4]@2 b4@2 b3@2 b4@2 b3@2 b4@2 [b4,c5] [c#5,d5,d#5] [e5,f5,f#5] [g5,g#5,a5], ~@6 b3 b4", // B Cmaj7
AO: "[c#4 c#5 c#4 c#5 c#4 c#5 c#4 c#5 d4 d5 d4 d5 d4 d5 d4 d5, b5@7 ~, a#5 ~@31]/2", AP: "e4 e5 e4 e5 e4 e5 e4 e5",
AQ: "f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5", AR: "f#4 f#5 f#4 f#5 [f#4,f#5]@2 [f#4,f#5]@2",
AS: "[f#4,c#5,f#5]@2 ~ [f#4,c#5,f#5] ~@2 [f#4,c#5,f#5]@2", AT: "~ [f#4,c#5,f#5] ~@2 [f#4,c#5,f#5]@2 [f#4,c#5,f#5]@2",
AU: "[f#4,f#5] [a4,a5] [g#4,g#5] [e4,e5] [f#4,f#5] [e4,e5] [c#4,c#5]@2", // F# A G# E F# E C#
AV: "~ [f#4,c#5,f#5] ~@2 [f#4,c#5,f#5]!2 ~@2", AW: "[d4,e5]/4", AX: "c#6@14 c#6!2", AY: "c#6", AZ: "a5",
BA: "c#6@3 b5@3 f#6@4 f#6@6", BB: "c#6@3 b5@3 f#5@8 a5@2", BC: "[b5@3 f#6@3 f#6@4 e6@2 d6@2 a6 f#6@17]/2",
BD: "[b5@3 f#6@3 f#6@4 e6@2 d6@2 e6 d6@13 b5 c#6 d6 e6]/2", BE: "f#6@6 e6 d6 c#6@3 a5@3 c#6@2",
BF: "b5@3 f#5@3 e5@2 f#5@4 b5 c#6 d6 e6", BG: "b5@3 f#6@3 e6@2 f#6@4 b5 c#6 d6 e6",
BH: "b5@3 f#5@3 e5@2 f#5@3 e5@3 d5@2", BI: "b4/2", BJ: "e5@2 d5@2 e5@2 f#5 d5@9", BK: "b4 c5 b4 c5 b4 c5 b4 c5",
BL: "b5 c6 b5 c6 b5 c6 b5 c6", BM: "[~ b5@3]/2",
})).s("gm_flute").gain(0.3)
// chords · tubular bells
const tubular_bells = note(`<
A B C D E F G@4 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W@2 X Y Z AA AB AC AD AE AF AG AH AI AF AJ
AK AJ AF AG AH AL@2 AH AL@2 AH AL@2 AH AL@2 ~ AM@3 ~@2 AN@2 AO AP AQ AR AS AP AT AU AQ AV AW AX AY AZ BA@4 BB@2 BC@2
>`.pickRestart({
A: "b2 c#3, [c#4,g#4,c#5]", B: "[d3,d4,a4,d5] [c#3,e4,b4,e5]", C: "b2 d3, [f#4,f#5]", D: "d3 c#3 b2 ~, g#4",
E: "b2!2, a4", F: "d3 c#3, b4", G: "[b2@2 d3@2 d3 c#3 b2 ~ b2@4 a2@4, [f#4,f#5]]/4",
H: "[g2@8 g2@4 b2@2 b2 a2, [f#4,f#5]]/2", I: "[a2 b2@7 c#3 a2@7, [f#4,f#5]]/2", J: "[g2 a2 b2@2 a2@4, [f#4,f#5]]/2",
K: "[g2 f#2, [f#4,f#5]]/2", L: "[e2 f#2, [g4,g5]]/2", M: "[g2 f#2, [g4,g5]]/2", N: "[e2 d2, [g4,g5]]/2",
O: "[d2 d2, [g4,g5]]/2", P: "[e2@4 e2 f#2@3, [g4,g5]]/2", Q: "[a2 e2, [g4,g5]]/2", R: "[a2@2 a2 g2, [g4,g5]]/2",
S: "[d2@4 b2@2 b2!2, [g4,g5]]/2", T: "[a2@2 a2!2 g2@2 g2!2, [d#4,d#5]]/2", U: "[f#2@8 b2@5 b2!3, [d#4,d#5]]/2",
V: "[a2@5 a2!3 g2@5 a2 g2 a2, [c4,c5]]/2", W: "[b2@8 b2!8, [d4,d5]]/2", X: "a2!8, [d4,d5]", Y: "g2!7 a2, [d#4,d#5]",
Z: "f#2 g2 a2 b2, [f4,f5]", AA: "a2!4 b2!3 e2, g#4", AB: "d3 a2!3 b2!4, [d4,d5]", AC: "g2!8, [c#4,c#5]",
AD: "a2 b2, b4", AE: "g#4", AF: "[d4,d5]", AG: "[e4,e5]", AH: "[f#4,f#5]", AI: "[f4,g5]", AJ: "[c#4,c#5]", AK: "b4",
AL: "[f#4,f#5]/2", AM: "[d4,d5]/3", AN: "a2/2", AO: "d3", AP: "a2", AQ: "b2", AR: "c#3", AS: "d3@2 c#3 b2",
AT: "b2@2 b2!2", AU: "b2@5 b2!3", AV: "b2@3 b2 a2@3 a2", AW: "g2@3 g2 f#2@3 f#2", AX: "b1 c#2 d2@2", AY: "d2 e2 d2@2",
AZ: "e2 f#2 g2@2", BA: "b2/4", BB: "b2 ~ b2 ~ b2 ~ b2 ~", BC: "[~ b2@3]/2",
})).s("gm_tubular_bells").gain(0.3)
// other · xylophone
const xylophone = note(`<
~ A B@2 C@2 D E F G H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 P Q R S T U V@2 P W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
AN AO AP AQ AP AR AL AS AT@2 AU AV AW AX AW AY AW AZ BA BB BC@4 ~@26
>`.pickRestart({
A: "[g#5,c#6]", B: "[c#6@2 e6@2 b6@2 a6@2 g#6@2 a6@2 g#6@2 c#6@4 c#6@2 f#6@2 b6@2 a6 g#6 f#6@2 g#6@2 e6@2]/2",
C: "[c#6@2 e6@2 b6@2 a6@2 g#6@2 a6@2 f#6@2 c#6@4 c#6@2 f#6@2 b6@2 a6 g#6 f#6@2 g#6@2 e6@2]/2", D: "c#7@3 e7",
E: "c#7@3 g#7", F: "a7@12 g#7@2 a7 g#7", G: "e7 f#7", H: "[f#6@18 g#6@6 a6@4 e7@3 [d7,d#7]]/2",
I: "[c#7@9 b6 c#7 b6 a6 b6 a6 g#6]/2", J: "[f#6@9 g#6@3 f#6@2 e6@2]/2", K: "[c#6@24 ~@4 c#6@2 d6 [e6,f#6]]/2",
L: "[g6@18 a6@6 a#6@4 f7@3 [d#7,e7]]/2", M: "[d7@9 c7 d7 c7 a#6 c7 a#6 a6]/2", N: "[g6@9 a6@3 g6@2 f6@2]/2",
O: "[d6@24 ~@6 g7 a7]/2", P: "a#7", Q: "a7 c8", R: "b7 d#7", S: "d7 g#7", T: "g7@14 f7 d#7", U: "d7@8 f7@7 [d#7,e7]",
V: "[d7@28 ~@2 g7 a7]/2", W: "a7@2 a#7 c8", X: "a7 a#7@13 a7 g7", Y: "d#7", Z: "d7 d#7@15",
AA: "c7 g7 ~ c7 d7 g7 ~ d7 d#7 c7 ~ d7 d#7 f7 ~ g7", AB: "a#6@14 c7 a#6", AC: "a6@12 d6@3 [e6,f6]",
AD: "f6@14 d#6 f6", AE: "g6 c6 ~ g6 a6 d6 ~ a6 a#6 d#6 ~ a#6 c7 g6 ~ c6", AF: "d#6 e6@13 d6 c6", AG: "d6 g5",
AH: "c6 c#6@13 b5 a5", AI: "b5 g#5", AJ: "a5@8 ~ d6 e6 f#6 d6 f#6 d6 b5", AK: "c#6@12 ~ c#6 d6 e6", AL: "f#7@3 a7",
AM: "g7 g#7@5 e7@2 e7@4 f#7@4", AN: "c#7@3 b6", AO: "c#7@8 b6@6 c#7 b6", AP: "f#6@3 c#7", AQ: "b6@3 a6@3 g#6@2",
AR: "b6 c#7 d7 e7", AS: "g#7@4 e7@4 c#7@4 f#7 g#7@3", AT: "[f#7@6 f#7!2]/2", AU: "~ a6 b6 a6 g#6 a6 g#6 e6",
AV: "f#6 a6 g#6 e6 f#6 e6 c#6@2", AW: "~ c#6 e6 f#6 a6 g6 ~ f#6", AX: "e6 g6 f#6 e6 f#6!2 e6@2",
AY: "e6 g6 f#6 e6 f#6 b6 e6@2", AZ: "f#6@2 a6@2 g#6@2 e6@2 f#6@2 e6@2 c#6@3 [d6,e6]",
BA: "[f#6,b6,c#7,f#7]@2 ~ [f#6,b6,c#7,f#7] ~@2 [f#6,b6,c#7,f#7]@2", // F#sus4
BB: "~ [f#6,b6,c#7,f#7] ~@2 [f#6,b6,c#7,f#7]!2 ~@2", BC: "[c#7,e7,g#7]/4",
})).s("gm_xylophone").gain(0.3)
// other · french horn · "Horn"
const french_horn = note(`<
A B C D E F G H I J K L ~ M N O L O L O L ~@3 P Q R S T U V W X ~@7 Y Z AA AB AC AD AE AF AG L@2 AH AI AJ AK AL AM
~@21 AN AO AI ~@8 AP AQ AR AS AT AU AV AW@2 AX AY AZ@2
>`.pickRestart({
A: "b3@3 b3 c#4@3 c#4", B: "d4@3 d4 e4@3 e4", C: "f#4@3 f#4 g4@3 g4", D: "b4@4 b4@2 a4@2 b4@4 g4 a4 b4 c#5",
E: "d5@6 c#5 b4 c#5@6 b4 a4", F: "b4@6 f#4 g4 e4@6 e4!2", G: "f#4@6 g4 a4 b4@4 g4@4", H: "d4 c#4 b3 c#4 b3@2 ~@2",
I: "~ b3 f#4@6", J: "d4 e4 f#4 g4", K: "~ d5 c#5@6", L: "b4", M: "~@6 b3 c#4 d4@8", N: "b3 c#4 d4 f#4 b4@4",
O: "~@6 d5@2 c#5@3 b4@3 a4@2", P: "d4!8", Q: "d4!5 a3 d4 a3", R: "e4!8",
S: "e4@2 e4@2 e4@2 e4@2 d4@2 c#4@2 b3 c#4 ~ d4", T: "e4@3 d4 c#4@2 a3@2", U: "f#4@2 e4 a4", V: "a4", W: "a4!2",
X: "d5 ~", Y: "~ g4 f#4 b3", Z: "g3 g4", AA: "f#4 d4 e4 f#4", AB: "g4 d4", AC: "b3@6 b4@2 b4@3 a4@3 g4@2",
AD: "e4@4 ~@2 g4@2 g4@3 f#4@3 e4@2", AE: "d4@4 ~@2 a4@2 a4@3 g4@3 f#4@2", AF: "g4 a4", AG: "b4@3 ~", AH: "c5",
AI: "d5", AJ: "c5 a4", AK: "d5 b4", AL: "b4 c#5", AM: "d5@3 ~", AN: "c#5@14 c#5!2", AO: "c#5@3 a4",
AP: "b4 f#4 b4!2 a4 e4 a4!2", AQ: "g4 d4 g4!2 f#4 c#4 d4 e4", AR: "e4 f#4 e4 f#4 e4 f#4 a4 e4",
AS: "e4 f#4 e4 f#4 a4@4", AT: "d4 b3 d4 e4 f#4 d4 e4 f#4", AU: "g4 f#4 e4 d4 g4 f#4 e4 d4",
AV: "b3 d4 f#4 a4 b4 a4 f#4 d4", AW: "[b3 c4 b3 c4 b3@8 b3 c4 b3 c4]/2", AX: "b3 c4 b3 c4 b3 c4 b3 c4",
AY: "[b3,b4] [c4,c5] [b3,b4] [c4,c5] [b3,b4] [c4,c5] [b3,b4] [c4,c5]", AZ: "[~ [f#4,b4]@3]/2",
})).s("gm_french_horn").gain(0.3)
// other · tuba · "Euphonium"
const tuba = note(`<
A B C@4 D@3 E D F D F D F D G H I H I H I H J H I H I H I K L M@3 N O@2 P Q R S T U V W X Y P Z D H AA AB AC AB AA AD
AE AF AE AF AG AH AG AH AG AI AG AJ AK@4 ~@26
>`.pickRestart({
A: "[c#3,g#3,c#4]", B: "[d3,a3,d4] [e3,b3,e4]", C: "[f#3,f#4]/4", D: "f#3 f#4 f#3 f#4 f#3 f#4 f#3 f#4",
E: "f#3 f#4 f#3 f#4 [f#3,f#4]@2 [f#3,f#4]@2", F: "f#3 f#4 f#3 f#4 f#3 f#4 g3 g4",
G: "f#3 f#4 f#3 f#4 f#3 f#4 [d3,d4]@2", H: "g3 g4 g3 g4 g3 g4 g3 g4", I: "g3 g4 g3 g4 g3 g4 g#3 g#4",
J: "g3 g4 g3 g4 [g3,d4,g4]@2 [g#3,d#4,g#4]@2", K: "[g3,g4]@2 ~ [g3,g4] ~@2 [g3,g4]@2",
L: "~ [g3,g4] ~@2 [g3,d4,g4]@2 [f3,c4,f4]@2", M: "d#3 d#4 d#3 d#4 d#3 d#4 d#3 d#4",
N: "d#3 d#4 d#3 d#4 d#3 d#4 [d#3,d4,g4]@2", O: "c4 c5 c4 c5 c4 c5 c4 c5", P: "d3 d4 d3 d4 d3 d4 d3 d4",
Q: "d3 d4 d3 d4 [a#2,a#3] [d3,c4] [d3,d4] [a#2,a#3]", R: "[d3,d4]", S: "[d#3,d#4]", T: "[f3,f4]",
U: "[g3,g4]@3 [g3,g4]", V: "d3@6 f3 f#3 f#3@4 f#4@4", W: "c#4@2 a3 a4", X: "b3@2 b3 b4", Y: "[g#3,g#4]!4",
Z: "e3 e4 e3 e4 e3 e4 e3 e4", AA: "d4 d5 d4 d5 d4 d5 d4 d5", AB: "c#4 c#5 c#4 c#5 c#4 c#5 c#4 c#5",
AC: "b3 b4 b3 b4 b3 b4 b3 b4", AD: "e4 e5 e4 e5 e4 e5 e4 e5", AE: "f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5",
AF: "f#4 f#5 f#4 f#5 [f#4,f#5]@2 [f#4,f#5]@2", AG: "[f#4,c#5,f#5]@2 ~ [f#4,c#5,f#5] ~@2 [f#4,c#5,f#5]@2",
AH: "~ [f#4,c#5,f#5] ~@2 [f#4,c#5,f#5]@2 [f#4,c#5,f#5]@2", // F#5
AI: "[f#4,f#5] [a4,a5] [g#4,g#5] [e4,e5] [f#4,f#5] [e4,e5] [c#4,c#5]@2", // F# A G# E F# E C#
AJ: "~ [f#4,c#5,f#5] ~@2 [f#4,c#5,f#5]!2 ~@2", AK: "[d4,e5]/4",
})).s("gm_tuba").gain(0.3)
// other · violin
const violin = note(`<
A B C@2 D@2 E F G H I@2 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q R S T U V W@2 Q X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN
AO AP AQ AR AQ AS AM AT AU@2 AV AW AX AY AX AZ BA BB BC BD BE@4 ~@26
>`.pickRestart({
A: "g#5 b5 a5 g#5 f5 g#5 d#5 d5 c#5 f#5 e5@2 [c#4,f#4]@2 [d4,g#4] [e4,f#4,a4,b4]", B: "[g#4,c#5]",
C: "[c#5@2 e5@2 b5@2 a5@2 g#5@2 a5@2 g#5@2 c#5@4 c#5@2 f#5@2 b5@2 a5 g#5 f#5@2 g#5@2 e5@2]/2",
D: "[c#5@2 e5@2 b5@2 a5@2 g#5@2 a5@2 f#5@2 c#5@4 c#5@2 f#5@2 b5@2 a5 g#5 f#5@2 g#5@2 e5@2]/2", E: "c#5@3 e5",
F: "c#5@3 g#5", G: "a5@12 g#5@2 a5 g#5", H: "e5 f#5", I: "[f#5@18 g#5@2 g#5@4 a5@4 e6@3 [d6,d#6]]/2",
J: "[c#6@9 b5 c#6 b5 a5 b5 a5 g#5]/2", K: "[f#5@9 g#5@3 f#5@2 e5@2]/2", L: "[c#5@24 ~@4 c#5@2 d5 [e5,f#5]]/2",
M: "[g5@18 a5@6 a#5@4 f6@3 [d#6,e6]]/2", N: "[d6@9 c6 d6 c6 a#5 c6 a#5 a5]/2", O: "[g5@9 a5@3 g5@2 f5@2]/2",
P: "[d5@24 ~@6 g5 a5]/2", Q: "a#5", R: "a5 c6", S: "b5 d#5", T: "d5 g#5", U: "g5@14 f5 d#5", V: "d5@8 f5@7 [d#5,e5]",
W: "[d5@28 ~@2 g5 a5]/2", X: "a5@2 a#5 c6", Y: "a5 a#5@13 a5 g5", Z: "d#5", AA: "d5 d#5@15",
AB: "c5 g5 ~ c5 d5 g5 ~ d5 d#5 c5 ~ d5 d#5 f5 ~ g5", AC: "a#5@14 c6 a#5", AD: "a5@12 d5@3 [e5,f5]",
AE: "f5@14 d#5 f5", AF: "g5 c5 ~ g5 a5 d5 ~ a5 a#5 d#5 ~ a#5 c6 g5 ~ c5", AG: "d#5 e5@13 d5 c5", AH: "d5 g4",
AI: "c5 c#5@13 b4 a4", AJ: "b4 g#4", AK: "a4@8 ~ d5 e5 f#5 d5 f#5 d5 b4", AL: "c#5@12 ~ c#5 d5 e5", AM: "f#5@3 a5",
AN: "g5 g#5@5 e5@2 e5@4 f#5@4", AO: "c#5@3 b4", AP: "c#5@8 b4@6 c#5 b4", AQ: "f#4@3 c#5", AR: "b4@3 a4@3 g#4@2",
AS: "b4 c#5 d5 e5", AT: "g#5@4 e5@4 c#5@4 f#5 g#5@3", AU: "[f#5@6 f#5!2]/2", AV: "~ a5 b5 a5 g#5 a5 g#5 e5",
AW: "f#5 a5 g#5 e5 f#5 e5 c#5@2", AX: "~ c#4 e4 f#4 a4 g4 ~ f#4", AY: "e4 g4 f#4 e4 f#4!2 e4@2",
AZ: "e4 g4 f#4 e4 f#4 b4 e4@2", BA: "~ c#5 e5 f#5 a5 g5 ~ f#5", BB: "f#5@2 a5@2 g#5@2 e5@2 f#5@2 e5@2 c#5@3 [d5,e5]",
BC: "[f#4,b4,c#5,f#5]@2 ~ [f#4,b4,c#5,f#5] ~@2 [f#4,b4,c#5,f#5]@2", // F#sus4
BD: "~ [f#4,b4,c#5,f#5] ~@2 [f#4,b4,c#5,f#5]!2 ~@2", BE: "[~ e6@3, [c#5,e5,g#5]]/4",
})).s("gm_violin").gain(0.3)
// drums · rim
const rim = s("rim").struct("<x ~@23 [~ x] [x!2] ~@76>").gain(0.3)
// drums · snare
const snare = s("sd").struct(`<
A B C D E F@2 G H I J K ~@6 L M@2 L ~ N O ~ P Q P R S T U V@2 W X V@2 W X J Y D Z AA@2 AB AC ~@4 L AD AE AF ~ AG AH AI
AJ AK AL Z AM AN AE@2 AO T ~@17 AP AE AQ AR AS AQ AE R AF ~@3 AT ~
>`.pickRestart({
A: "~@6 x!3 ~@5 x!2", B: "x ~ x!3 ~@3 x ~ x ~ x!4", C: "x ~@5 x!3 ~@5 x!2", D: "x ~ x ~ x!5 ~ x!3 ~@3",
E: "~ x!2 ~@2 x!2 ~", F: "~ x!4 ~ x ~", G: "x ~ x ~ x!5 ~@7", H: "~@2 x!3 ~@3 x ~@3 x ~@3",
// … 15 more lines
More by Misc Computer Games
Ace Attorney - Objection!B♭ major · 120 bpmcuphead - floral furyD major · 140 bpmespn extreme games themeF major · 144 bpmfar cry 5 - when the morning light shines inA major · 120 bpmfinal fantasy crystal chronicles - kazenoneF major · 105 bpmguiles themeD major · 120 bpmkahoot lobby themeF major · 120 bpmkaras theme - detroit become humanE♭ major · 90 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.