0:00/0:00
// pokemon ruby sapphire - champion battle — Rwarcards762 / CSR
// 214 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1955061; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(214/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · clarinet · "B♭ Clarinet"
const clarinet = note(`<
A@2 B C D E B C F G H I J K L M N O P Q@4 R Q@7 R S T U V Q@3 ~@8 W X Y Z AA AB AC AD H I J K L M N O P Q@4 R Q@7 R S
T U V Q@3 ~@8 W X Y Z AA AB AC AD
>`.pickRestart({
A: "[d4 ~@3 a#4@12]/2", B: "a4 ~@7", C: "a4 ~@5 a#4@2", D: "c5 ~@5 a#4 ~", E: "a4 ~@3 a#4@4", F: "c5 ~@5 a#4@2",
G: "a4 ~@2 g4 ~@2 a#4@2", H: "d4@3 a3@2 b3 c4 c#4", I: "d4 ~@7", J: "d4@3 d#4@2 f4 g4 d#4", K: "f#4 ~@7",
L: "d4 e4 f4 f#4@2 f4 e4 d4", M: "d#4 f4 f#4 g4@2 f#4 f4 d#4", N: "f4 g4 g#4 a4@2 g#4 g4 f4",
O: "d#4 d#3 a#3 d#4 d4 d3 a3 d4", P: "c4!2 f3 c4!3 f3 c#4", Q: "d4 d3 a3 d4!2 d3 a3 d4", R: "d4 ~ a3 d4!2 d3 a3 d4",
S: "g5 ~ f#5 ~ e5 ~ f#5 ~ g5 ~ a5 ~ g5 ~ a5 ~", T: "g5 ~ a5 ~ g5 ~ a5 ~@9",
U: "a5 ~ g5 ~ f#5 ~ g5 ~ a5 ~ b5 ~ a5 ~ b5 ~", V: "a5 ~ b5 ~ a5 ~ b5 ~@9", W: "c4 e4 g4 c5 e4 g4 c5 e5",
X: "g4 c5 e5 g5 c5 e5 g5 c6", Y: "d6 e6 c6 d6 b5 c6 a5 b5", Z: "g5 a5 f#5 g5 e5 f#5 d5 e5",
AA: "g5 b4 d5 g5 b4 d5 g5 b5", AB: "d4 g4 b4 d5 g4 b4 d5 g5", AC: "a5 b5 g5 a5 f#5 g5 e5 f#5",
AD: "d5 e5 c5 d5 b4 c5 a4 b4",
})).s("gm_clarinet").gain(0.4)
// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
A@2 B C D E B C F G H I J K L M N O P Q@3 ~ R@2 S@2 T@2 U@2 V@2 W@2 X@2 U@2 Y Z AA AB AC AD AE AF AG@2 AH@2 AI@2 AH@2
H I J K L M N O P Q@3 ~ R@2 S@2 T@2 U@2 V@2 W@2 X@2 U@2 Y Z AA AB AC AD AE AF AG@2 AH@2 AI@2 AH@2
>`.pickRestart({
A: "[d5 ~@3 a#5@12]/2", B: "a5 ~@7", C: "a5 ~@5 a#5@2", D: "c6 ~@5 a#5 ~", E: "a5 ~@3 a#5@4", F: "c6 ~@5 a#5@2",
G: "a5 ~@2 g5 ~@2 a#5@2", H: "d5 ~ d5 ~ d5 ~ d#5@4 d5@2 c5@2 d#5@2", I: "d5 a4 c5 g4",
J: "d5 ~ d5 ~ d5 ~ d#5@4 f5@2 g5@2 d#5@2", K: "d5 a5 d5 a#5", L: "a5@3 d5@3 a5@2", M: "a#5@3 d#5@3 a#5@2",
N: "c6@3 f5@3 c6@2", O: "d#6 d6", P: "c6 a#5 a5 a#5 c6 a#5 c6 c#6", Q: "d6/3", R: "[a#4 c5@7]/2", S: "[a4 d5@7]/2",
T: "[a4 d#5@5 g5!2]/2", U: "f#5/2", V: "[a#4 c6@7]/2", W: "[a4 d6@7]/2", X: "[a4 d#6@5 c6!2]/2", Y: "g4@3 f#4@3 e4@2",
Z: "f#4@3 e4@3 d4@2", AA: "e4@3 d4@3 c#4@2", AB: "d4@3 e4@3 f#4@2", AC: "g5@3 f#5@3 e5@2", AD: "f#5@3 e5@3 d5@2",
AE: "e5@3 d5@3 c#5@2", AF: "d5@3 e5@3 f#5@2", AG: "[c5@30 b4 a#4]/2", AH: "a4/2", AI: "[g4@30 g4 g#4]/2",
})).s("gm_trumpet").gain(0.4)
// other · trumpet · "B♭ Trumpet"
const trumpet_2 = note(`<
A@2 B C D E B C F G H I J K L M N O P Q R S T U@2 V@2 W@2 X@2 U@2 V@2 W@2 X@2 ~@4 Y Z AA AB AC@2 AD@2 AE@4 H I J K L M
N O P Q R S T U@2 V@2 W@2 X@2 U@2 V@2 W@2 X@2 ~@4 Y Z AA AB AC@2 AD@2 AE@4
>`.pickRestart({
A: "[a4 ~@3 d#5@12]/2", B: "d5 ~@7", C: "d5 ~@5 d#5@2", D: "f5 ~@5 d#5 ~", E: "d5 ~@3 d#5@4", F: "f5 ~@5 d#5@2",
G: "d5 ~@2 c5 ~@2 d#5@2", H: "a4 ~ a4 ~ a4 ~ a#4@4 a4@2 g4@2 a#4@2", I: "a4 ~ d#4@2 f4@2 c4@2 d#4@2 a3@2 c4@2 g3@2",
J: "a4 ~ a4 ~ a4 ~ a#4@4 c5@2 d5@2 a#4@2", K: "a4 ~ d#4@2 g4@2 f4@2 a#4@2 g4@2 c5@2 a4@2", L: "d5 a4 a#4 a4",
M: "d#5 a#4 c5 a#4", N: "f5 c5 d5 c5", O: "g#5 g5", P: "a5 g5 f#5 g5 a5 g5 f#5 e5", Q: "f#5 a5", R: "d5 f#5",
S: "a4 d5", T: "f#4 a4", U: "[~ g4@7]/2", V: "[~ f#4@7]/2", W: "[~ g4@5 d#5!2]/2", X: "a4/2", Y: "b4@3 a4@3 g4@2",
Z: "a4@3 g4@3 f#4@2", AA: "g4@3 f#4@3 e4@2", AB: "f#4@3 g4@3 a4@2", AC: "g4/2", AD: "f#4/2", AE: "d4/2",
})).s("gm_trumpet").gain(0.4)
// other · french horn · "Horn in F"
const french_horn = note(`<
A@2 B C D E B C F G H I J K L M N O P Q R S T U@2 V@2 W@2 X@2 U@2 V@2 W@2 X@2 ~@4 Y Z AA AB AC@2 AD@2 AE@4 H I J K L M
N O P Q R S T U@2 V@2 W@2 X@2 U@2 V@2 W@2 X@2 ~@4 Y Z AA AB AC@2 AD@2 AE@4
>`.pickRestart({
A: "[a4 ~@3 d#5@12]/2", B: "d5 ~@7", C: "d5 ~@5 d#5@2", D: "f5 ~@5 d#5 ~", E: "d5 ~@3 d#5@4", F: "f5 ~@5 d#5@2",
G: "d5 ~@2 c5 ~@2 d#5@2", H: "a4 ~ a4 ~ a4 ~ a#4@4 a4@2 g4@2 a#4@2", I: "a4 ~ d#4@2 f4@2 c4@2 d#4@2 a3@2 c4@2 g3@2",
J: "a4 ~ a4 ~ a4 ~ a#4@4 c5@2 d5@2 a#4@2", K: "a4 ~ d#4@2 g4@2 f4@2 a#4@2 g4@2 c5@2 a4@2", L: "a4@3 d4@3 a4@2",
M: "a#4@3 d#4@3 a#4@2", N: "c5@3 f4@3 c5@2", O: "d#5 d5", P: "a4 g4 f#4 g4 a4 g4 f#4 e4", Q: "f#4 a4", R: "d4 f#4",
S: "a3 d4", T: "f#3 a3", U: "[~ g4@7]/2", V: "[~ f#4@7]/2", W: "[~ g4@5 d#5!2]/2", X: "a4/2", Y: "b4@3 a4@3 g4@2",
Z: "a4@3 g4@3 f#4@2", AA: "g4@3 f#4@3 e4@2", AB: "f#4@3 g4@3 a4@2", AC: "g4/2", AD: "f#4/2", AE: "d4/2",
})).s("gm_french_horn").gain(0.4)
// bass · tuba · "B♭ Tuba"
const bass = note(`<
A@2 B C B D B C B D E F E G E H I J K L M L M N M L M L M L M N M L M N M L M E O P Q E@8 R@2 E@3 F E G E H I J K L M
L M N M L M L M L M N M L M N M L M E O P Q E@8 R@2 E@2
>`.pickRestart({
A: "d2 ~@3 d2 ~@3", B: "d2 c2 d2 d#2 d2 c2 d2 d#2", C: "d2 c2 d2 d#2 d2 g2 a2@2", D: "d2 c2 d2 d#2 d2 g2 c3@2",
E: "d2 a2 d2 a2 d2 a2 d2 a2", F: "d2 a2 f2 a2 c3 a2 d2 a2", G: "d2 a2 f2 a2 c3 a2 d#3 c3",
H: "d#2 a#2 d#2 a#2 d#2 a#2 d#2 a#2", I: "f2 c3 f2 c3 f2 c3 f2 c3", J: "f2 g#2 f2 d#3 f2 g2 f2 d3",
K: "c2 f2 c2 f2 c2 f2 c2 f2", L: "d2 a2 d3 d2 a2 d3 d2 a2", M: "d2 a2 d3 d2 a2 d3 d2 d3", N: "d2 ~ d3 d2 a2 d3 d2 a2",
O: "d2 a2 d3 a2 c3 a2 b2 a2", P: "d2 a2!3 b2 a2 g2 a2", Q: "d2 a2 d2 b2 d2 c3 d2 e3", R: "d2 g2 d2 g2 d2 g2 d2 g2",
})).s("gm_tuba").gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
~@9 A B@3 C B@8 D B@15 E ~@4 B@3 C B@3 C B@3 C B@3 C B@8 D B@15 E ~@4 B@3 C B@3 C B@3 C
>`.pickRestart({
A: "x!13 ~ x ~", B: "~ x ~ x", C: "~@2 x ~@2 x ~ x", D: "x ~@3 x ~@2 x", E: "~@2 x ~@3 x!2",
})).gain(0.4)
// drums · clap
const clap = s("cp").struct("<~@39 [~ x ~ x]!3 [~@2 x ~@3 x!2] ~@41 [~ x ~ x]!3 [~@2 x ~@3 x!2] ~@12>").gain(0.45)
stack(clarinet, trumpet, trumpet_2, french_horn, bass, snare, clap)
More by Rwarcards762 / CSR
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.