0:00/0:00
// You Can Do Better Than Him — Broadway
// 135 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 110 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(135/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 · clarinet
const clarinet = note(`<
~@16 A@3 ~@5 A@3 ~@2 B C ~@2 D E ~@5 A@3 ~@37 A@3 ~@5 A@3 ~@2 B C ~@2 D E ~@5 A@3 ~@3
>`.pickRestart({
A: "~@10 g4 ~ g4 ~ g4@2", B: "b4 ~ b4 ~ g4 ~ g4 ~ e4 ~ g4@3 ~ b4@2", C: "~@2 b4 ~ g4 ~ g4 ~ e4 ~ g4@3 ~@3",
D: "d4@3 ~ e4@3 ~ f#4@3 ~ g4@3 ~", E: "a4 ~ b4@3 ~ a4@5 ~@5",
})).s("gm_clarinet").gain(0.41).pan(0)
// chords · string ensemble 1 · "Jeff Karline"
const string_ensemble_1 = note(`<
~@49 A@2 B@2 ~@4 A@2 C@2 ~@12 A@2 D@2 ~@4 A@2 B@2 ~@4 A@2 C@2 ~@12 A@2 E F@2
>`.pickRestart({
A: "~@2 [a4,c5,f5] ~ [f4,a4,d5] ~ [e4,g4,c5]@3 ~@7", // F Dm C
B: "[~@2 [c5,d5,f5,a5] ~ [c5,d5,f5,a5] ~ [c5,d5,f5,a5]@3 ~ [d5,f5,g5,b5] ~ [d5,f5,g5,b5] ~ [d5,f5,g5,b5]@10 ~@8]/2", // Dm7 G7
C: "[~@2 [c5,d5,f5,a5] ~ [c5,d5,f5,a5] ~ [c5,d5,f5,a5]@3 ~ [d5,f5,g5,b5] ~ [d5,f5,g5,b5] ~ [e5,g5,a5,c6]@10 ~@8]/2", // Dm7 G7 Am7
D: "[~@2 [c5,d5,f5,a5] ~ [c5,d5,f5,a5] ~ [c5,d5,f5,a5]@2 [d5,f5,g5,b5] ~ [f5,g5,b5] ~ [f5,g5,b5] ~ [e5,g5,a5,c6]@10 ~@8, ~@5 d5 d5@2 ~@8]/2", // Dm7 G7 Am7
E: "~@2 [c5,d5,f5,a5]@2 [c5,d5,f5,a5]@2 ~ [c5,d5,f5,a5]@3 ~ [d5,f5,g5,b5]@2 [d5,f5,g5,b5]@2 ~", // Dm7 G7
F: "[[e5,g5,a5,c6]@5 ~ [f5,a5,c6,e6]@2 ~ [a5,d6,g6]@9 ~@14]/2", // Am7 Fmaj7 Dsus4
})).s("gm_string_ensemble_1").gain(0.41).pan(0.4)
// chords · synth brass 2 · "May 14, 1995"
const synth_brass_2 = note("<~@48 A@2 B ~@5 A@2 B ~@13 A@2 B ~@5 A@2 B ~@5 A@2 B ~@13 A@2 B ~@3>".pickRestart({
A: "~@10 [a3,c4,e4,g4] ~ [a#3,c#4,e4,g4] ~ [b3,d4,f4,g4]@2", // Am7 A#dim G7
B: "~@10 [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4]@2", // G7
})).s("gm_synth_brass_2").gain(0.41).pan(0.7)
// chords · acoustic guitar nylon · "AOL: Shereff"
const acoustic_guitar_nylon = note(`<
~@13 A@3 B ~@4 A@3 B ~@12 A@3 B ~@36 A@3 B ~@4 A@3 B ~@8 C D E F A@3 B ~@5
>`.pickRestart({
A: "~@2 g3 ~ [a3,b3,d4,f4] ~ g3 ~@3 g3 ~ [a3,c4,e4] ~ g3 ~", B: "~@2 g3 ~ [a3,b3,d4,f4] ~ g3 ~@9",
C: "[f#3,a3,c4,d4]@3 ~ [g3,a3,c4,e4]@3 ~ [a3,c4,d4,f#4]@3 ~ [a3,c4,e4,g4]@3 ~", // D7 Am7 D7 Am7
D: "[c4,d4,f#4,a4] ~ [c4,e4,g4,b4]@3 ~ [c4,d4,f#4,a4]@6 ~@2 a#4 ~", // D7 Cmaj7 D7
E: "[g4,b4] ~ [g4,b4] ~ [a4,c5] ~ [b4,d5] ~@9, f4@5 ~@11", // G Am Bm
F: "[a3,c4,d4,f4] ~ [a3,c4,d4,f4] ~ [a#3,c#4,e4,g4] ~ [b3,d4,f4,a4] ~@9", // Dm7 A#dim Bm7b5
})).s("gm_acoustic_guitar_nylon").gain(0.36).pan(0.9)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
~@45 A@3 B ~@4 A@3 B ~@12 A@3 B ~@4 A@3 B ~@4 A@3 B ~@8 C D E F A@3 B ~@5
>`.pickRestart({
A: "~@2 g3 ~ [a3,b3,d4,f4] ~ g3 ~@3 g3 ~ [a3,c4,e4] ~ g3 ~", B: "~@2 g3 ~ [a3,b3,d4,f4] ~ g3 ~@9",
C: "[f#3,a3,c4,d4]@3 ~ [g3,a3,c4,e4]@3 ~ [a3,c4,d4,f#4]@3 ~ [a3,c4,e4,g4]@3 ~", // D7 Am7 D7 Am7
D: "[c4,d4,f#4,a4] ~ [c4,e4,g4,b4]@3 ~ [c4,d4,f#4,a4]@6 ~@2 a#4 ~", // D7 Cmaj7 D7
E: "[g4,b4] ~ [g4,b4] ~ [a4,c5] ~ [b4,d5] ~@9, f4@5 ~@11", // G Am Bm
F: "[a3,c4,d4,f4] ~ [a3,c4,d4,f4] ~ [a#3,c#4,e4,g4] ~ [b3,d4,f4,a4] ~@9", // Dm7 A#dim Bm7b5
})).s("gm_electric_guitar_jazz").gain(0.36).pan(0.2)
// chords · vibraphone
const vibraphone = note("<~@29 A@4 B C D E ~@24 A@4 B C D E ~@24 A@4 B C D E ~@9>".pickRestart({
A: "[[e4,g4,b4] ~ b4 ~ g4 ~ g4 ~ e4 ~ a4@3 ~ [e4,g4,b4]@3 ~ b4 ~ g4 ~ g4 ~ e4 ~ g4@3 ~ [d4,f4,a4]@3 ~ a4 ~ f4 ~ f4 ~ d4 ~ f4@3 ~ [d4,f4,a4]@3 ~ a4 ~ f4 ~ f4 ~ d4 ~ f4@4 ~@2, b3@5 ~@3 b3@4 ~@2 c#4@14 ~@2 a3@14 ~@2 b3@13 ~@5]/4", // Em Dm
B: "[f#3,a3,c4,d4]@3 ~ [g3,a3,c4,e4]@3 ~ [a3,c4,d4,f#4]@3 ~ [a3,c4,e4,g4]@3 ~", // D7 Am7 D7 Am7
C: "[c4,d4,f#4,a4] ~ [c4,e4,g4,b4]@3 ~ [c4,d4,f#4,a4]@6 ~@2 a#4 ~", // D7 Cmaj7 D7
D: "[g4,b4] ~ [g4,b4] ~ [a4,c5] ~ [b4,d5] ~@9, f4@5 ~@11", // G Am Bm
E: "[a3,c4,d4,f4] ~ [a3,c4,d4,f4] ~ [a#3,c#4,e4,g4] ~ [b3,d4,f4,a4] ~@9", // Dm7 A#dim Bm7b5
})).s("gm_vibraphone").gain(0.31)
// other · piano · "Irving Berlin"
const piano = note("<~@20 A ~@7 B ~@4 C@2 ~@9 A ~@7 A ~@7 B ~@4 C@2 ~@9 A ~@7 A ~@7 B ~@4 C@2 ~@9 D ~>".pickRestart({
A: "~@2 g3 ~ g3 ~ g3@3 ~ g3 ~ f#3@3 ~", B: "~@2 g3 ~ g3 ~ a3@3 ~ a3 ~ c4@3 ~",
C: "[~@2 d3@3 ~ d3@3 ~ d3@3 ~ d3@7 ~@5 d3 ~@5]/2", D: "~@4 g3@2 g3@2 ~ [c3,g3,e4]@5 ~@2",
})).s("gm_piano").gain(0.46).pan(0.7)
// bass · acoustic bass
const bass = note(`<
~@13 A@3 B C@2 D E A@3 B C@2 D F G@2 H@2 ~ I J@2 A@3 B C@2 D F A@3 B C@2 D E A@3 B C@2 D F G@2 H@2 ~ I J@2 A@3 B C@2 D
F A@3 B C@2 D E A@3 B C@2 D F G@2 H@2 ~ I J@2 A@3 B C@2 K L ~
>`.pickRestart({
A: "d2@5 ~@3 c2@5 ~@3", B: "d2@5 ~@3 c2@3 ~@5", C: "g2@5 ~@3 c3@5 ~@3", D: "g2@5 ~@3 g1@5 ~@3", E: "g2 ~",
F: "c2 ~@15", G: "e2@5 ~@3 b2@5 ~@3", H: "d2@5 ~@3 a2@5 ~@3", I: "~@12 d2@3 ~", J: "[g2@5 ~@5 g2@11 ~@11]/2",
K: "g2@6 ~@3 g1@6 ~", L: "~@2 c2@2 g3@2 g3@2 ~ [c3,g3,e4]@5 ~@2",
})).s("gm_acoustic_bass").gain(0.31).pan(0.4)
// other · piano
const piano_2 = note("<~@5 A B C D A E F G ~@97>".pickRestart({
A: "g4@4 ~@2 f4 ~ e4 ~ d4 ~ c4@3 ~", B: "a4@4 ~@2 g4 ~ f4 ~ e4 ~ d4@3 ~", C: "b4 ~ b4 ~ b4 ~ b4 ~ a4 ~ b4@4 ~@2",
D: "c5 ~ e4@3 ~ g4@7 ~@3", E: "a4@4 ~@2 g4 ~ f#4 ~ e4 ~ d4@3 ~", F: "g4 ~ g4 ~ d4 ~ d4 ~ g4 ~ d4@4 ~@2",
G: "g4 ~ a4@3 ~ b4@7 ~@3",
})).s("gm_piano").gain(0.41).pan(0.7)
// chords · piano
const piano_3 = note("<~ A B C D A B E F G H I J ~@97>".pickRestart({
A: "[e4,g4]@4 ~@2 f4 ~ e4 ~ d4 ~ c4@3 ~", B: "[f4,a4]@4 ~@2 g4 ~ f4 ~ e4 ~ d4@3 ~",
C: "c5@4 ~@2 a4 ~ g4 ~ f4 ~ e4@3 ~", D: "c4@3 ~ a3@3 ~ b3@5 ~@3, [f3,d4]@11 ~@5",
E: "[d4,f4,g4,b4] ~ [d4,f4,g4,b4] ~ [d4,f4,g4,b4] ~ [d4,f4,g4,b4] ~ [c4,d4,f4,a4] ~ [d4,f4,g4,b4]@4 ~@2", // G7 Dm7 G7
F: "[e4,c5] ~ e4@3 ~ g4@2 g4@5 ~@3, c4@11 ~@5", G: "[e4,g4]@4 ~@2 f4 ~ e4 ~ d4 ~ c4@3 ~, g3@11 ~@5",
H: "[f#4,a4]@4 ~@2 g4 ~ f#4 ~ e4 ~ d4@3 ~, c4@11 ~@5", I: "g4 ~ g4 ~ d4 ~ d4 ~ g4 ~ d4@4 ~@2",
J: "[b3,d4,g4] ~ [c4,d#4,a4]@3 ~ [d4,g4,b4]@7 ~@3", // G Adim G
})).s("gm_piano").gain(0.41).pan(0.6)
// other · piano
const piano_4 = note("<~ A B C D A B E F A G H I ~@97>".pickRestart({
A: "[c2,c3]@11 ~@5", B: "[f2,d3]@11 ~@5", C: "[d2,a2,f3]@11 ~@5", D: "g2@8 ~@4 g1@3 ~", E: "g2@11 ~@5",
F: "c3@3 ~ b2@3 ~ a2@3 ~ g2@3 ~", G: "[d2,d3]@11 ~@5", H: "g3 ~ g3 ~ d3 ~ d3 ~ g3 ~ d3@4 ~@2",
I: "g3 ~ f#3@3 ~ f3@7 ~@3",
})).s("gm_piano").gain(0.41).pan(0.2)
// other · muted trumpet
const muted_trumpet = note(`<
~@45 A B A C@3 D@2 A B A E C@2 F@2 ~ G H I ~ J K L A B A C@3 F@2 A B A C@3 D@2 A B A E C@2 F@2 ~ G H I ~ J K L A B A
C@3 M N ~
>`.pickRestart({
A: "g4 ~ b4 ~ d5 ~ c5 ~@3 g4 ~ e4 ~ a4 ~", B: "~@2 f4 ~ d4 ~ e4 ~@3 g4@4 ~@2", C: "~@2 f4 ~ d4 ~ c4@3 ~@7",
D: "[~@2 a4 ~ a4 ~ a4@3 ~ b4 ~ b4 ~ b4@10 ~@8]/2", E: "~@2 f4 ~ e4 ~ c4@3 ~@7",
F: "[~@2 a4 ~ a4 ~ a4@3 ~ b4 ~ b4 ~ c5@10 ~@8]/2", G: "~@7 a4", H: "~@2 a4 ~ f4 ~ f4 ~ d4 ~ f4@3 ~ a4@2",
I: "~@2 a4 ~ f4 ~ f4 ~ d4 ~ f4@4 ~@2", J: "~@14 a#4 ~", K: "b4 ~ b4 ~ c5 ~ d5 ~@9", L: "f4 ~ f4 ~ g4 ~ a4 ~@9",
M: "~@2 a4@2 a4@2 ~ a4@3 ~ b4@2 b4@2 ~", N: "c5@11 ~@5",
})).s("gm_muted_trumpet").gain(0.41).pan(0.2)
// other · trumpet · "Roland SC-7"
const trumpet = note(`<
~@48 A@3 ~@5 A@3 ~@2 B C ~@2 D E ~@5 A@3 ~@5 A@3 ~@5 A@3 ~@2 B C ~@2 D E ~@5 A@3 ~@3
>`.pickRestart({
A: "~@10 g4 ~ g4 ~ g4@2", B: "b4 ~ b4 ~ g4 ~ g4 ~ e4 ~ g4@3 ~ b4@2", C: "~@2 b4 ~ g4 ~ g4 ~ e4 ~ g4@3 ~@3",
D: "d4@3 ~ e4@3 ~ f#4@3 ~ g4@3 ~", E: "a4 ~ b4@3 ~ a4@5 ~@5",
})).s("gm_trumpet").gain(0.41).pan(0.8)
// drums · kick
const kick = s("bd").struct(`<
~@12 A B@3 C D@2 ~ E B@3 F D@2 ~ E B@4 G H ~@2 B@3 C D@2 ~ E B@3 C D@2 ~ E B@3 F D@2 ~ E B@4 G H ~@2 B@3 C D@2 ~ E B@3
C D@2 ~ E B@3 F D@2 ~ E B@4 G H ~@2 B@3 C D@2 ~@3
>`.pickRestart({
A: "~@3 x", B: "x!2", C: "x ~@3 x!4", D: "~@5 x!3", E: "~ x!3 ~ x!2 ~", F: "x ~@3 x!2 ~@2", G: "x!4",
H: "x!2 ~@4 x ~@9",
})).gain(0.31).pan(0.6)
// drums · rim
const rim = s("rim").struct(`<
A ~@11 B C@3 D E@2 ~@2 C@3 D E@2 ~@2 C@3 F ~ G ~@2 C@3 D E@2 ~@2 C@3 D E@2 ~@2 C@3 D E@2 ~@2 C@3 F ~ G ~@2 C@3 D E@2
~@2 C@3 D E@2 ~@2 C@3 D E@2 ~@2 C@3 F ~ G ~@2 C@3 D E@2 ~@3
>`.pickRestart({
A: "x!4", B: "~@3 x", C: "~ x ~ x", D: "~@2 x ~@2 x!3", E: "~@5 x!3", F: "~ x ~@2", G: "~@3 x ~@4",
})).gain(0.31).pan(0.6)
// drums · hihat
const hihat = s("hh").struct(`<
~@12 A B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4 B@3 C ~@4
B@3 C ~@5
>`.pickRestart({
A: "~@3 x", B: "x!4", C: "x!3 ~",
})).gain(0.31).pan(0.6)
// drums · triangle
const triangle = s("triangles:35").struct("<~@19 A ~@7 A ~@15 A ~@7 A ~@7 A ~@15 A ~@7 A ~@7 A ~@16 B ~>".pickRestart({
A: "~@7 x", B: "x ~@8 x ~@6",
})).gain(3.57).pan(0.6)
stack(
clarinet, string_ensemble_1, synth_brass_2, acoustic_guitar_nylon, electric_guitar_jazz, vibraphone, piano, bass,
piano_2, piano_3, piano_4, muted_trumpet, trumpet, kick, rim, hihat, triangle
)
More by Broadway
AmericaB♭ major · 150 bpmBring on the StormF major · 80 bpmCabaretA♭ major · 155 bpmEdelweissB♭ major · 108 bpmEternal JourneyC major · 89.1 bpmHello, Dolly!C major · 160 bpmJoseph and the Amazing Technicolor Dreamcoat: Close Every DoorA♭ major · 104 bpmLes Miz" Medley: Castle on a Cloud Little PeopleA minor · 65 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.