0:00/0:00
// Bus Stop — The Hollies
// 125 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 4 "Nylon-stGt" acoustic guitar nylon (copy of ch 3 "Steel-stGt" acoustic guitar steel)
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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(`<
~@12 A B C D ~@4 E F@2 G H@4 E I J K@5 ~@8 A B C D ~@12 E F@2 G H@4 E I J K@5 ~@8 A B C D ~@10
>`.pickRestart({
A: "e5@3 ~ g5@3 ~ f5 ~ a5@3 ~ g5@2", B: "~@2 f5@3 ~ e5@3 ~ e5@3 ~@3", C: "g5@3 ~ f5@3 ~ e5@3 ~ d5@2 c5 ~", D: "d5 ~",
E: "g5@3 ~ g5 ~ g5@3 ~ g5@3 ~ g5@2", F: "[f#5@3 ~ f#5@3 ~ g5 ~ a5@3 ~ b5@5 ~ a5@3 ~ g5 ~ f#5@3 ~ e5 ~]/2",
G: "~@4 f#5@3 ~ g5@3 ~ b5@3 ~", H: "[a5@3 ~ g5@3 ~ f#5 ~ e5@3 ~ d#5@5 ~ d#5@3 ~ b4 ~ d#5@3 ~ e5@26 ~@8]/4",
I: "f#5@3 ~ f#5@3 ~ g5 ~ a5@3 ~ a5@2", J: "b5@3 ~ a5@3 ~ g5 ~ f5@3 ~ e5 ~",
K: "[~@4 f#5@3 ~ g5 ~ b5@3 ~ a5@5 ~ g5@3 ~ f5 ~ e5@3 ~ d#5@5 ~ d#5@3 ~ d#5 ~ e5@3 ~ e5@26 ~@8]/5",
})).s("gm_flute").gain(0.33).pan(0.3)
// chords · acoustic guitar steel · "Steel-stGt"
const acoustic_guitar_steel = note(`<
A B A B C@7 D E F G H C@2 I J K L H M N O P@2 M L Q K F R H P C@7 D E F G H C@2 I J S T U V W X Y Z K L H M N O P@2 M
L Q K F R H P C@7 D E F G H C@2 I J AA T U V AB AC
>`.pickRestart({
A: "[e5,c6] ~ [e5,b5] ~ [e5,a5] ~ [e5,g5] ~ [e5,a5]@3 ~ [e5,a5] ~ d5 f5", B: "[d5,a5]@5 ~@3 [d5,g5]@5 ~@3",
C: "[c4,e4,a4]@3 ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~", // Am
D: "[c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4]@3 ~ [d4,f4,g4,b4]@3 ~", // Am G7
E: "[e4,g4,c5]@3 ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [d4,g4,b4] ~ [d4,g4,b4] ~ [d4,g4,b4] ~ [d4,g4,b4] ~", // C G
F: "[c4,e4,a4]@3 ~ [c4,e4,a4]@3 ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~", // Am
G: "[d4,f4,a4]@3 ~ [d4,f4,a4] ~ [d4,f4,a4] ~ [d4,f4,a4] ~ [d4,f4,a4] ~ [d4,f4,a4] ~ [d4,f4,a4] ~", // Dm
H: "[e4,g4,b4]@3 ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Em
I: "[c4,e4,a4]@3 ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Am Em
J: "[c4,e4,a4]@3 ~ [c4,e4,a4] ~ [c4,e4,a4]!3 ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~", // Am
K: "[e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~", // C
L: "[d#4,f#4,b4]@3 ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
M: "[e4,g4,c5]@3 ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~", // C
N: "[c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~", // Am
O: "[d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
P: "[e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Em
Q: "[e4,g4,b4]@3 ~ [e4,g4,b4]@3 ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Em
R: "[d#4,f#4,b4]@3 ~ [d#4,f#4,b4]@3 ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
S: "[a5,c6]@3 ~ [a5,c6]@3 ~ b5@3 ~ b5@3 ~", T: "c6 ~ b5 ~ a5 ~ g5 ~ e5@3 ~ e5@3 ~",
U: "a5 ~ g#5 ~ a5 ~ b5 ~ c6 ~ b5 ~ c6@3 ~", V: "c6 ~ a5 ~ g#5@3 ~ e5@5 ~@3",
W: "c6 ~ b5 ~ a5 ~ g5 ~ e6 ~ d6 ~ c6 ~ e6 ~", X: "e6 ~ f6 ~ d6 ~ e6 ~ c6 ~ b5 ~ a5@3 ~",
Y: "g#5 ~@3 e5 ~ g#5 ~ c6 ~ a5 ~ g5@3 ~", Z: "a5 ~@3 e5@3 ~ a5@5 ~@3", AA: "c6@3 ~ c6@3 ~ c6 ~ d6 ~ e6@3 ~",
AB: "c6 ~ b5 ~ a5 ~ g6 ~ e6 ~ d6 ~ c6 ~ e6 ~", AC: "d6@3 ~@13",
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.1)
// bass · fretless bass · "FretlsBass"
const bass = note(`<
~@4 A B A B A B A C D E F G H I J K L M N O P Q R S T Q N U V W X Y A B A B A B A C D E F G H I J K Z@5 AA@2 AB L M N
O P Q R S T Q N U V W X Y A B A B A B A C D E F G H I J K V AA V AC AD AE
>`.pickRestart({
A: "a1@4 ~@2 b1 c2 e2 ~ e2@3 ~ e2 ~", B: "a1@4 ~@2 e2 ~ g1@3 ~ g1@3 ~", C: "a1@4 ~@2 e2 ~ e1@3 ~ g1@3 ~",
D: "c2@3 ~@3 c2 ~ g1@3 ~@3 g1 ~", E: "a1@3 ~@3 a1 ~ a1@3 ~@5", F: "d2@3 ~@3 d2 ~ d2@3 ~@3 d2 ~",
G: "e1@3 ~@3 e2 ~ e1@3 ~ e1@3 ~", H: "a1@4 ~@2 b1 c2 e2 ~ e2@3 ~ a1 ~", I: "a1@4 ~@2 e2 ~ e1 ~ e1 ~ e1@3 ~",
J: "a1@4 ~@2 b1 c2 e2 ~ e1@3 ~ g1 ~", K: "a1@3 ~@3 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", L: "c2@3 ~@3 c2 ~ g1 ~ g1@3 ~ c2 ~",
M: "b1@3 ~@3 b1 ~ f#1@3 ~ a1@3 ~", N: "e1@5 ~@3 d2@5 ~@3", O: "c2@3 ~@3 c2 ~ c2 ~ c2@3 ~ c2 ~",
P: "a1@3 ~@3 a1 ~ a1 ~ a1@3 ~ a1 ~", Q: "b1@3 ~@3 b1 ~ b1 ~ b1@3 ~ b1 ~", R: "e1@3 ~ e1@3 ~ d2@3 ~ d2@3 ~",
S: "e1@3 ~ e1@3 ~ b1@3 ~ b1@3 ~", T: "c2@3 ~@3 c2 ~ g1@5 ~@3", U: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~",
V: "a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~", W: "b1@3 ~ b1@3 ~ b1@3 ~ b1@3 ~", X: "e1@3 ~@3 e2 ~ e1 ~ e1@3 ~ e1 ~",
Y: "e1@3 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~", Z: "a1@3 ~ a1@3 ~ b1@3 ~ e1@3 ~", AA: "a1@3 ~ a1@3 ~ e2@3 ~ e1@3 ~",
AB: "a1@3 ~ e2@3 ~ a1@3 ~ a1@3 ~", AC: "a1@4 ~@2 a1 ~ e2@3 ~ e1@3 ~", AD: "a1@4 ~@2 e2 ~ e1@3 ~ e1@3 ~",
AE: "a1@3 ~@13",
})).s("gm_fretless_bass").gain(0.4)
// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@20 A B@2 C D E@3 F G H I@5 ~@24 A B@2 C D E@3 F G H I@5 ~@22>".pickRestart({
A: "e5@3 ~ c5 ~ e5@3 ~ c5@3 ~ e5@2", B: "[d#5@3 ~ b4@3 ~ b4 ~ f#5@3 ~ g5@5 ~ f#5@3 ~ e5 ~ d5@3 ~ c5 ~]/2",
C: "~@4 d5@3 ~ e5@3 ~ e5@3 ~", D: "e5@3 ~ e5@3 ~ d#5 ~ c5@3 ~ b4@2",
E: "[a4@3 ~ a4 ~ f#4 ~ f#4 ~ b4@3 ~ b4@26 ~@8]/3", F: "c5@3 ~ c5 ~ c5@3 ~ c5@3 ~ c5@2",
G: "b4@3 ~ b4@3 ~ c#5 ~ d#5@3 ~ d#5@2", H: "e5@3 ~ d5@3 ~ e5 ~ d5@3 ~ c5 ~",
I: "[~@4 e5@3 ~ e5 ~ e5@3 ~ e5@5 ~ d5@3 ~ c5 ~ e5@3 ~ d#5@5 ~ d#5@3 ~ d#5 ~ e5@3 ~ e5@26 ~@8]/5",
})).s("gm_string_ensemble_1").gain(0.36).pan(0.7)
// drums · kick
const kick = s("bd").struct("<~@4 A@7 B A@15 B A@7 B A@7 B A@15 ~ A@7 B A@7 B A@7 B A@13 B>".pickRestart({
A: "x!2", B: "x",
})).gain(0.37)
// drums · snare
const snare = s("sd").struct(`<
~@3 A B@7 C B@3 D B@3 E B@7 F B@7 G B@7 C B@3 D B@3 E B@7 H B@7 F B@7 G B@7 C B@3 D B@3 E B I B J B ~
>`.pickRestart({
A: "~@5 x!3", B: "~ x ~ x", C: "~@4 x ~ x ~ x ~ x!5 ~", D: "~@4 x ~@3 x ~ x!3 ~ x!2", E: "~@4 x ~ x!2 ~@4 x ~@3",
F: "~@4 x ~@3 x ~ x!5 ~", G: "~@2 x ~ x ~@2 x ~@2 x ~ x!3 ~", H: "x ~@3 x ~ x ~ x ~ x!4 ~@2",
I: "~@4 x ~@5 x!3 ~ x ~", J: "~@4 x ~@5 x!6",
})).gain(0.37)
// drums · hihat
const hihat = s("hh").struct(`<
~@4 A@7 B A@3 C A@3 D E A@6 B E A@6 F A@7 B A@3 C A@3 D A@7 ~ E A@6 B E A@6 F A@7 B A@3 C A@3 D A C A C A G
>`.pickRestart({
A: "x!8", B: "x!4 ~@4", C: "x!5 ~@3", D: "x!3 ~ x!4", E: "~ x!7", F: "x", G: "x!2 ~@6",
})).gain(0.37)
// drums · low tom
const low_tom = s("lt").struct("<~@35 [~@3 x!2 ~@3] ~@39 [~@3 x!2 ~@3] ~@22>").gain(0.37)
// drums · crash
const crash = s("cr").struct("<~@12 A ~@7 A ~@7 A ~@15 A ~@15 A ~@7 A ~@15 A ~@13>".pickRestart({
A: "x",
})).gain(0.37)
// drums · tambourine
const tambourine = s("tb").struct("<~@52 [~ x ~ x]!7 ~@39>").gain(0.32)
stack(flute, acoustic_guitar_steel, bass, string_ensemble_1, kick, snare, hihat, low_tom, crash, tambourine)
More by The Hollies
Carrie-Anne1967 · C major · 120 bpmHe Ain't Heavy, He's My BrotherG major · 80 bpmLong Dark Road1972 · E major · 122 bpmLong Cool Woman (In a Black Dress)E minor · 134 bpmThe Air That I BreatheC major · 84 bpmBlowing in the WindF major · 120 bpmDear EloiseD major · 102 bpmKing Midas in ReverseG major · 96 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.