0:00/0:00
// pokemon red blue yellow - gym leader battle — Christian Vaccaro-Gallo
// 195 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/338066; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 53 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(195/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("<~@4 A B A C ~ D E F G H I J G K L M ~@7 N G K O P Q R S ~@13 T@5>".pickRestart({
A: "g5 ~@2 ab5 ~@2 c5 ~", B: "e5 ~@2 f5 ~@2 c5 ~", C: "e5 ~@2 f5 ~@2 [ab5,db6]@2", D: "~@5 g5 c6 d6", E: "e6@6 d6 e6",
F: "f6 e6 ~ c6@5", G: "bb5 a5", H: "g5 a5 g5 f5", I: "e5@3 c5", J: "g5", K: "bb5 a5 bb5 f6", L: "e6@3 d6", M: "c6",
N: "~@5 g5 c6 ~", O: "e6@3 c6", P: "g6", Q: "[c5,g5]@3 [bb4,f5]@3 [c5,g5]@2", R: "[d5,a5]@3 [bb4,f5]@3 [d5,a5]@2",
S: "[c5,g5]", T: "[~@8 f5@8 eb5@8 d5@9 ~@7, bb5@33 ~@7]/5",
})).s("gm_flute").gain(0.3).pan(0.9)
// chords · clarinet · "Bb Clarinet"
const clarinet = note("<~@4 A B A C ~ D E F G H I J G K L M N O P F ~@3 Q G K R J S T U ~@13 V@5>".pickRestart({
A: "g4 ~@2 ab4 ~@2 c4 ~", B: "e4 ~@2 f4 ~@2 c4 ~", C: "e4 ~@2 f4 ~@2 [db4,ab4,db5]@2", D: "~@5 g4 c5 d5",
E: "e5@6 d5 e5", F: "f5 e5 ~ c5@5", G: "[d5,bb5] [c5,a5]", H: "[bb4,g5] [c5,a5] [bb4,g5] [a4,f5]",
I: "[g4,e5]@3 [e4,c5]", J: "[c5,g5]", K: "[d5,bb5] [c5,a5] [d5,bb5] [bb4,f5]", L: "[e5,g5]@3 [d5,f5]", M: "[c5,e5]",
N: "c5 g4 c5 f5@2 e5 d5 c5", O: "bb4 f4 bb4 d5@2 c5 bb4 d5", P: "e5@3 c5@3 d5 e5", Q: "~@5 [bb4,g5] [e5,c6] ~",
R: "[e5,g5]@3 [c5,e5]", S: "[c4,g4]@3 [bb3,f4]@3 [c4,g4]@2", T: "[d4,a4]@3 [bb3,f4]@3 [d4,a4]@2", U: "[c4,g4]",
V: "[~@16 eb4@8 d4@9 ~@7, bb4@33 ~@7, ~@8 f4@25 ~@7]/5",
})).s("gm_clarinet").gain(0.4).pan(0)
// other · alto sax · "Alto Saxophone"
const alto_sax = note("<~@4 A B A C D E F G H I J K L M N O ~@7 P L M Q R ~@6 S@2 T U O V T U W@7>".pickRestart({
A: "c5 c4", B: "g4 db4", C: "db5@2 eb5 db5", D: "g4 f4", E: "g4@3 c4 ~ c4 e4 f4", F: "g4@3 c5@3 bb4 a4",
G: "bb4 c5 ~ g4@5", H: "d5 c5", I: "bb4 c5 bb4 a4", J: "g4@3 e4", K: "c5", L: "bb4 a4", M: "bb4 a4 bb4 f4",
N: "e4@3 d4", O: "c4", P: "~@5 g4 c5 ~", Q: "e4@3 c4", R: "g4", S: "[c4@14 c4 bb3]/2", T: "db4", U: "eb4",
V: "c4@6 c4 bb3", W: "[f4@7 ~]/7",
})).s("gm_alto_sax").gain(0.3).pan(0)
// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<~@4 A B A C D E F G H I J K H L M N ~@7 O H L P K ~@3 Q R S T@2 R S T@2 R S U@7>".pickRestart({
A: "c4 c3", B: "g3 db3", C: "db4@2 eb4 db4", D: "c4 bb3", E: "d4@3 g3 ~ g3 c4 d4", F: "e4@6 d4 e4", G: "f4 e4 ~ c4@5",
H: "bb3 a3", I: "g3 a3 g3 f3", J: "e3@3 c3", K: "g3", L: "bb3 a3 bb3 f3", M: "g3@3 f3", N: "e3", O: "~@5 bb3 e4 ~",
P: "g3@3 e3", Q: "c3", R: "db3", S: "eb3", T: "c3/2", U: "[f3@7 ~]/7",
})).s("gm_tenor_sax").gain(0.3).pan(0.2)
// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note("<A@8 B@4 C@2 B@2 C@2 B@6 C@2 B@2 C@2 B@2 ~@3 D E F G@2 E F G@2 E F H@7>".pickRestart({
A: "c2 f2 eb2 d2 eb2 d2 c2 d2", B: "c3!4", C: "bb2!4", D: "c2", E: "db2", F: "eb2", G: "c2/2", H: "[f2@7 ~]/7",
})).s("gm_baritone_sax").gain(0.4).pan(0.3)
// chords · trumpet · "Bb Trumpet"
const trumpet = note("<A B A C A B A C D E F G ~@8 D E F G H I J K H L M N ~@11 O P Q R@7>".pickRestart({
A: "[g4,c5] ~@2 [ab4,db5] ~@2 c4 ~", B: "[e4,g4] ~@2 [f4,ab4] ~@2 c4 ~",
C: "[e4,g4] ~@2 [f4,ab4] ~@2 [db4,ab4,db5]@2", D: "c5 bb4", E: "d5@3 g4 ~ g4 c5 d5", F: "e5@6 d5 e5",
G: "f5 e5 ~ c5@5", H: "[d5,bb5] [c5,a5]", I: "[bb4,g5] [c5,a5] [bb4,g5] [a4,f5]", J: "[g4,e5]@3 [e4,c5]",
K: "[c5,g5]@5 bb4 e5 ~", L: "[d5,bb5] [c5,a5] [d5,bb5] [bb4,f5]", M: "[e5,g5]@3 [c5,e5]", N: "[c5,g5]",
O: "c5@6 c5 bb4", P: "db5", Q: "eb5", R: "[~@24 f4@8 eb4@8 d4@9 ~@7, f5@7 ~, ~@16 bb4@33 ~@7]/7",
})).s("gm_trumpet").gain(0.4).pan(0)
// other · french horn · "Horn"
const french_horn = note(`<
A B C D A B A E F G H I J K L M N O P Q F G H I R S T U N O V W ~@3 X Y Z AA@2 AB AC Q AD AE AF AG@7
>`.pickRestart({
A: "c5 c4", B: "g4 db4", C: "c4 g4", D: "c5 db4", E: "db4@2 eb4 db4", F: "g4 f4", G: "g4@3 c4 ~ c4 e4 f4",
H: "g4@3 c5@3 bb4 a4", I: "bb4 c5 ~ g4@5", J: "d5 c5", K: "bb4 c5 bb4 a4", L: "g4@3 e4", M: "c5", N: "bb4 a4",
O: "bb4 a4 bb4 f4", P: "e4@3 d4", Q: "c4", R: "[bb4,d5] [a4,c5]", S: "[g4,bb4] [a4,c5] [g4,bb4] [f4,a4]",
T: "[e4,g4]@3 [c4,e4]", U: "[g4,c5]@5 g4 c5 ~", V: "e4@3 c4", W: "g4", X: "[g3,c4]", Y: "[ab3,db4]", Z: "[bb3,eb4]",
AA: "[c4@14 c4 bb3]/2", AB: "db4", AC: "eb4", AD: "c5@6 c5 bb4", AE: "db5", AF: "eb5",
AG: "[~@16 bb3@33 ~@7, [f4,f5]@7 ~]/7", // F
})).s("gm_french_horn").gain(0.3).pan(1)
// bass · tuba · "Euphonium"
const bass = note("<A@8 B@4 C@2 B@2 C@2 B@6 C@2 B@2 C@2 B@6 D E B@2 D E B@2 D E@7 ~>".pickRestart({
A: "c3 f3 eb3 d3 eb3 d3 c3 d3", B: "~ g2 ~ g2 ~ g2 ~ g2", C: "~ f2 ~ f2 ~ f2 ~ f2", D: "~ ab2 ~ ab2 ~ ab2 ~ ab2",
E: "~ bb2 ~ bb2 ~ bb2 ~ bb2",
})).s("gm_tuba").gain(0.3).pan(0.6)
// bass · tuba · "Bb Tuba"
const bass_2 = note("<A@8 B@4 C@2 B@2 C@2 B@6 C@2 B@2 C@2 B@6 D E B@2 D E B@2 D E F@6 ~>".pickRestart({
A: "c2 f2 eb2 d2 eb2 d2 c2 d2", B: "c2!4", C: "bb1!4", D: "db2!4", E: "eb2!4", F: "f2!4",
})).s("gm_tuba").gain(0.3)
// drums · kick
const kick = s("bd").struct("<[x!2]!8 [x ~@2 x ~@3 x]!44 ~>").gain(0.3)
// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!7 [~@2 x ~@3 x!2] [~ x ~ x]!43 [~@2 x ~ x!4] ~>").gain(0.3)
// drums · crash
const crash = s("cr").struct("<A ~ A ~ A ~ A ~ B@4 A B@3 A B@7 A B@3 A B@6 A B@2 A B A@3 B A@3 B@5 ~>".pickRestart({
A: "x", B: "~ x ~ x",
})).gain(0.05)
// drums · vibraslap
const vibraslap = s("vibraslap:0").struct("<~@12 A ~@3 A ~@7 A ~@3 A ~@6 A ~@2 A ~ A@3 ~ A@3 ~@6>".pickRestart({
A: "~ x ~ x",
})).gain(0.58)
stack(
flute, clarinet, alto_sax, tenor_sax, baritone_sax, trumpet, french_horn, bass, bass_2, kick, snare, crash, vibraslap
)
More by Christian Vaccaro-Gallo
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.