0:00/0:00
// Movie Star — Harpo
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.
// bass · fretless bass
const bass = note(`<
~ A B C D A B E F A B C G A B C D A B C G A B C H A B C D A B C F A I C F A I C J K C L M K C L N K C L O K C L N K C
L M K C L N K C L P Q L D R Q L D S Q L D R Q L T U Q L D U Q L D V Q L D U W
>`.pickRestart({
A: "d2@3 ~ a1@3 ~ d2@3 ~ a1@3 ~", B: "f#2@3 ~ c#2@3 ~ f#2@3 ~ c#2@3 ~", C: "g2@3 ~ d2@3 ~ g2@3 ~ d2@3 ~",
D: "a2@3 ~ e2@3 ~ a2@3 ~ e2@3 ~", E: "g2@3 ~ d2@3 ~ g2@2 ~@2 d2@3 ~", F: "a2@3 ~ g2@3 ~ f#2@3 ~ e2@3 ~",
G: "a2@3 ~ e2@2 ~@2 a2@3 ~ e2@2 ~@2", H: "a2@3 ~ g2@3 ~ f#2@3 ~ e2@4", I: "f#2@3 ~ c#2@3 ~ f#2@2 ~@2 c#2@3 ~",
J: "a2@3 ~ e2@3 ~ a#2@3 ~ g#2@3 ~, ~@8 g#2 ~@7", K: "d#2@3 ~ a#1@3 ~ d#2@3 ~ a#1@3 ~",
L: "g#2@3 ~ d#2@3 ~ g#2@3 ~ d#2@3 ~", M: "a#2@3 ~ f2@3 ~ a#2@3 ~ f2@3 ~", N: "a#2@3 ~ g#2@3 ~ g2@3 ~ f2@3 ~",
O: "a#2@3 ~ f2@3 ~ a#2@3 ~ f2@2 ~@2", P: "a#2@3 ~ f2@3 ~ b2@3 ~ a2@4", Q: "e2@3 ~ b1@3 ~ e2@3 ~ b1@3 ~",
R: "b2@3 ~ f#2@3 ~ b2@3 ~ f#2@3 ~", S: "b2@3 ~ a2@3 ~ g#2@3 ~ f#2@4", T: "a2@3 ~ e2@2 ~@2 a2@3 ~ e2@3 ~",
U: "b2@3 ~ a2@3 ~ g#2@3 ~ f#2@3 ~", V: "b2@3 ~ f#2@2 ~@2 b2@3 ~ f#2@3 ~", W: "e2@11 ~@5",
})).s("gm_fretless_bass").gain(0.31)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~ A@2 B C D E F C D E F C D G F H D I F C D E F C J E F C J E F C D E B C K@2 L M N@2 O P Q R S P Q R S P T U S P T U
S P T R S P Q R V@2 W@2 X Y Z@2 X AA AB AC X AA AB AC X AA AB AC X AA AD@2 X AA AE AF@2 AA AG
>`.pickRestart({
A: "[d4@15 ~ c#4@15 ~, [a3,f#4]@31 ~]/2", B: "[b3,d4,g4]", C: "[a3,c#4,e4]@15 ~", D: "[a3,d4,f#4]@15 ~",
E: "[a3,c#4,f#4]@15 ~", F: "[b3,d4,g4]@15 ~", G: "[a3,c#4,f#4]", H: "[a3,c#4,e4]", I: "[a3,c#4,f#4]@7 ~",
J: "[a3,d4,f#4]", K: "[d4@15 ~ c#4@16, [a3,f#4]@31 ~]/2", L: "[b3,d4,g4]@7 ~",
M: "[a3,c#4,e4]@7 ~ [a#3,d4,f4]@7 ~, ~@8 g4 ~@7", N: "[[a#3,d#4]@16 [a#3,d4]@15 ~, g4@31 ~]/2", O: "[c4,d#4,g#4]",
P: "[a#3,d4,f4]@15 ~", Q: "[a#3,d#4,g4]@15 ~", R: "[a#3,d4,g4]@15 ~", S: "[c4,d#4,g#4]@15 ~", T: "[a#3,d#4,g4]",
U: "[a#3,d4,g4]@7 ~", V: "[[c4,d#4,g#4]@15 [a#3,d4,f4]@8 ~ [b3,d#4,f#4]@6 ~@2]/2",
W: "[[b3,e4]@15 ~ [b3,d#4]@15 ~, g#4@31 ~]/2", X: "[c#4,e4,a4]@15 ~", Y: "[b3,f#4]@7 ~, d#4",
Z: "[[b3,e4,g#4]@15 [b3,g#4]@15 ~@2, ~@15 d#4@17]/2", AA: "[b3,d#4,f#4]@15 ~", AB: "[b3,e4,g#4]@15 ~",
AC: "[b3,d#4,g#4]@15 ~", AD: "[e4@15 ~ d#4@15 ~, [b3,g#4]@15 ~]/2", AE: "[b3,e4,g#4]",
AF: "[[b3,d#4,g#4]@15 [c#4,e4,a4]@15 ~@2]/2", AG: "[b3,e4,g#4]@5 ~@11",
})).s("gm_string_ensemble_2").gain(0.12)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
~ A B C D A E F G A E H I J K L M A N O P A E F P Q R L M J S T M U E F V A E W X Y Z AA AB Y AC AD AE Y AC AF AG AH
AI AJ AK AL AM AN AO Y AC AD AO AP Z AD AQ AR AS AT AU AR AV P AW AR AV M AX AY AZ BA BB BC BD BE BF AR AV P BF BG AS
P BH BI
>`.pickRestart({
A: "[f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4] ~ [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4] ~", // D
B: "[f#3,a3,c#4,f#4]@2 [f#3,a3,c#4,f#4]@2 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4] ~", // F#m
C: "[g3,b3,d4,g4]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] ~ [g3,b3,d4,g4] ~", // G
D: "~@2 [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4] ~", // A
E: "[f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4] ~", // F#m
F: "[g3,b3,d4,g4]@2 ~@2 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~", // G
G: "[a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4] ~", // A
H: "[g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~", // G
I: "[a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4] ~", // A
J: "[f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4] ~ [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4] ~", // D
K: "[f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4] ~", // F#m
L: "[g3,b3,d4,g4]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~", // G
M: "[a3,c#4,e4,a4]@4 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4] ~", // A
N: "[f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4] ~", // F#m
O: "[g3,b3,d4,g4]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@2 ~@2 [g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~", // G
P: "[a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4] ~", // A
Q: "[f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4] ~ [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4] ~", // D
R: "[f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4]@4 [f#3,a3,c#4,f#4] ~", // F#m
S: "[f#3,a3,c#4,f#4]@2 ~@2 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@2 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4]@3 ~ [f#3,a3,c#4,f#4] ~", // F#m
T: "[g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@4 [g3,b3,d4,g4] ~", // G
U: "[f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4] ~ [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4] ~", // D
V: "[a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~@3 [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4] ~", // A
W: "[g3,b3,d4,g4]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] ~ [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] ~", // G
X: "[a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4] ~", // A A#
Y: "[g3,a#3,d#4,g4]@2 [g3,a#3,d#4,g4]@2 [g3,a#3,d#4,g4] ~ [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4] ~", // D#
Z: "[g3,a#3,d4,g4]@2 ~@2 [g3,a#3,d4,g4] ~ [g3,a#3,d4,g4]@4 [g3,a#3,d4,g4]@4 [g3,a#3,d4,g4] ~", // Gm
AA: "[g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4] ~ [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4] ~ [g#3,c4,d#4,g#4] ~", // G#
AB: "~@2 [a#3,d4,f4,a#4]@2 ~@2 [a#3,d4,f4,a#4]@2 ~@2 [a#3,d4,f4,a#4]@3 ~ [a#3,d4,f4,a#4] ~", // A#
AC: "[g3,a#3,d4,g4]@4 [g3,a#3,d4,g4] ~ [g3,a#3,d4,g4]@4 [g3,a#3,d4,g4]@4 [g3,a#3,d4,g4] ~", // Gm
AD: "[g#3,c4,d#4,g#4]@2 ~@2 [g#3,c4,d#4,g#4] ~ [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4] ~", // G#
AE: "[a#3,d4,f4,a#4]@2 ~@2 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4]@2 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4]@2 ~@2 [a#3,d4,f4,a#4] ~", // A#
AF: "[g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4] ~ [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4] ~", // G#
AG: "[a#3,d4,f4,a#4]@2 ~@2 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4]@2 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4]@3 ~ [a#3,d4,f4,a#4] ~", // A#
AH: "[g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4] ~ [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4] ~", // D#
AI: "[g3,a#3,d4,g4]@2 ~@2 [g3,a#3,d4,g4] ~ [g3,a#3,d4,g4]@2 ~@2 [g3,a#3,d4,g4]@4 [g3,a#3,d4,g4] ~", // Gm
AJ: "[g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4] ~ [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4] ~", // G#
AK: "[a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4] ~", // A#
AL: "[g3,a#3,d#4,g4]@2 ~@2 [g3,a#3,d#4,g4] ~ [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4] ~", // D#
AM: "[g3,a#3,d4,g4]@4 [g3,a#3,d4,g4] ~ [g3,a#3,d4,g4]@2 ~@2 [g3,a#3,d4,g4]@2 ~@2 [g3,a#3,d4,g4] ~", // Gm
AN: "[g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4] ~ [g#3,c4,d#4,g#4]@2 ~@2 [g#3,c4,d#4,g#4]@4 [g#3,c4,d#4,g#4] ~", // G#
AO: "[a#3,d4,f4,a#4]@2 ~@2 [a#3,d4,f4,a#4] ~ [a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4] ~", // A#
AP: "[g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4] ~ [g3,a#3,d#4,g4]@2 ~@2 [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4] ~", // D#
AQ: "[a#3,d4,f4,a#4]@4 [a#3,d4,f4,a#4]@2 [a#3,d4,f4,a#4] ~ [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4] ~", // A# B
AR: "[g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4] ~ [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~", // E
AS: "[g#3,b3,d#4,g#4]@2 ~@2 [g#3,b3,d#4,g#4] ~ [g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4] ~", // G#m
AT: "[a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4] ~", // A
AU: "~@2 [b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4]@3 ~ [b3,d#4,f#4,b4] ~", // B
AV: "[g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4] ~ [g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4] ~", // G#m
AW: "[b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4] ~", // B
AX: "[b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4]@3 ~ [b3,d#4,f#4,b4] ~", // B
AY: "[g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~ [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~", // E
AZ: "[g#3,b3,d#4,g#4]@2 ~@2 [g#3,b3,d#4,g#4] ~ [g#3,b3,d#4,g#4]@2 ~@2 [g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4] ~", // G#m
BA: "[a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4] ~", // A
BB: "[b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4] ~", // B
BC: "[g#3,b3,e4,g#4]@2 ~@2 [g#3,b3,e4,g#4] ~ [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~", // E
BD: "[g#3,b3,d#4,g#4]@4 [g#3,b3,d#4,g#4] ~ [g#3,b3,d#4,g#4]@2 ~@2 [g#3,b3,d#4,g#4]@2 ~@2 [g#3,b3,d#4,g#4] ~", // G#m
BE: "[a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4] ~", // A
BF: "[b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4] ~", // B
BG: "[g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~ [g#3,b3,e4,g#4]@2 ~@2 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~", // E
BH: "[b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4] ~", // B
BI: "[g#3,b3,e4,g#4]@11 ~@5", // E
})).s("gm_electric_guitar_jazz").gain(0.1).pan(0.4)
// chords · electric guitar jazz · soft notes
const electric_guitar_jazz_2 = note(`<
~@4 A ~@2 B C ~@5 D ~@3 E F C ~@2 B C ~ G ~@3 G ~@4 B ~@6 H ~ I ~@2 J K ~@3 K ~ L ~@2 M N O K ~@2 J K P H J ~@2 Q ~ R
~@2 C S ~@3 S ~ T ~@2 U V W S ~@2 C S X Q C ~@2
>`.pickRestart({
A: "~@4 [a3,c#4,e4,a4] ~@11", B: "~ [g3,b3,d4,g4] ~@6", C: "~ [a3,c#4,e4,a4] ~@6",
D: "~ [f#3,a3,c#4,f#4] ~@2 [f#3,a3,c#4,f#4] ~@3", E: "~@4 [f#3,a3,c#4,f#4] ~ [f#3,a3,c#4,f#4] ~",
F: "~@4 [g3,b3,d4,g4] ~@3", G: "~ [f#3,a3,c#4,f#4] ~@6", H: "~ [g3,a#3,d4,g4] ~@6", I: "~@4 [a#3,d4,f4,a#4] ~@11",
J: "~ [g#3,c4,d#4,g#4] ~@6", K: "~ [a#3,d4,f4,a#4] ~@6", L: "~ [g3,a#3,d4,g4] ~@2 [g3,a#3,d4,g4] ~@3",
M: "~ [g3,a#3,d#4,g4] ~@6", N: "~@4 [g3,a#3,d4,g4] ~ [g3,a#3,d4,g4] ~", O: "~@4 [g#3,c4,d#4,g#4] ~@3",
P: "~@4 [g3,a#3,d#4,g4] ~@3", Q: "~ [g#3,b3,d#4,g#4] ~@6", R: "~@4 [b3,d#4,f#4,b4] ~@11", S: "~ [b3,d#4,f#4,b4] ~@6",
T: "~ [g#3,b3,d#4,g#4] ~@2 [g#3,b3,d#4,g#4] ~@3", U: "~ [g#3,b3,e4,g#4] ~@6",
V: "~@4 [g#3,b3,d#4,g#4] ~ [g#3,b3,d#4,g#4] ~", W: "~ [a3,c#4,e4,a4] ~@2 [a3,c#4,e4,a4] ~@3",
X: "~@4 [g#3,b3,e4,g#4] ~@3", // E
})).s("gm_electric_guitar_jazz").gain(0.05).pan(0.4)
// other · flute
const flute = note(`<
~ A B C@2 D E F@2 ~@24 G@2 H@2 G@2 I@2 ~@24 J@2 K@2 ~@4 L@2 M N ~@8 O P Q@2 O R S@2 T R U@2 V
>`.pickRestart({
A: "a5@3 ~ g5@3 ~ f#5@2 g5@2 a5 ~ a5@2", B: "~ c#6 ~ a5@2 f#5!2 ~",
C: "[f#5@3 ~ e5@4 d5 ~ e5@2 f#5 ~ f#5@5 ~ e5@4 d5@2 e5@5 ~]/2", D: "a5@3 ~ g5@3 ~ f#5 ~ g5@2 a5 ~ a5@2",
E: "~@2 c#6@3 ~ a5@4 f#5@2 f#5@2 ~@2", F: "[f#5@4 e5@3 ~ d5@2 e5@2 f#5 ~ f#5@5 ~ e5@3 ~ f#5@2 g5@4 ~@2]/2",
G: "[a5@3 ~ g5@3 ~ f#5@2 g5@2 a5 ~ a5@4 c#6@4 a5@4 f#5@2 f#5@2 ~@2]/2",
H: "[f#5@4 e5@4 d5@2 e5@2 f#5 ~ f#5@5 ~ e5@4 d5@2 e5@5 ~]/2", I: "[f#5@3 ~ e5@4 d5@2 e5@2 f#5 ~ f#5@5 ~ e5@4 ~@8]/2",
J: "[a#5@3 ~ g#5@3 ~ g5@2 g#5@2 a#5 ~ a#5@4 d6@3 ~ a#5@4 g5@2 g5@2 ~@2]/2",
K: "[g5@3 ~ f5@4 d#5@2 f5@2 g5 ~ g5@5 ~ f5@4 ~@8]/2", L: "[~@2 e5 f#5 e5 ~ c#5 ~ b4@2 c#5 ~@13 b4@8, ~@6 g#4@9 ~]/2",
M: "c#5@13 ~@3", N: "b5 a5 ~@2", O: "b5@3 ~ a5@3 ~ g#5@2 a5@2 b5 ~ b5@2", P: "~@2 d#6@3 ~ b5@2 ~@2 g#5 ~ g#5@2 ~@2",
Q: "[g#5@3 ~ f#5@3 ~ e5 ~ f#5@2 g#5 ~ g#5@5 ~ f#5@3 ~ e5@2 f#5@5 ~]/2", R: "~@2 d#6@3 ~ b5@3 ~ g#5 ~ g#5@2 ~@2",
S: "[g#5@3 ~ f#5@3 ~ e5@2 f#5 ~ g#5 ~ g#5@5 ~ f#5@3 ~ g#5@2 a5@5 ~]/2", T: "b5@4 a5@3 ~ g#5 ~ a5 ~ b5 ~ b5@2",
U: "[g#5@3 ~ f#5@4 e5@2 f#5 ~ g#5 ~ g#5@5 ~ f#5@3 ~ e5@2 f#5@5 ~]/2", V: "e5@7 ~@9",
})).s("gm_flute").gain(0.19).pan(0.3)
// other · glockenspiel
const glockenspiel = note(`<
A B C D@2 E@2 F@2 ~@16 G H I J G H I J K@2 L@2 K@2 M@2 ~@16 N G O P N G O P Q@2 R@2 ~@8 S N T U S N T U V W X@2 Y Z
AA@2 AB AC AD@2 AE
>`.pickRestart({
A: "~@13 [a4,b4] [c#5,d5] [e5,f#5]", B: "a5@3 ~ g5@4 f#5@2 g5 ~ a5 ~ a5@2, g5 ~@15", C: "~ c#6 ~ a5@2 f#5!2 ~",
D: "[f#5@3 ~ e5@4 d5@2 e5 ~ f#5 ~ f#5@5 ~ e5@3 ~ d5@2 e5@5 ~]/2",
E: "[a5@4 g5@3 ~ f#5@2 g5 ~ a5 ~ a5@4 c#6@2 ~@2 a5@4 f#5@2 f#5@2 ~@2]/2",
F: "[f#5@4 e5@3 ~ d5@2 e5 ~ f#5 ~ f#5@6 e5@3 ~ f#5 ~ g5@3 ~@3]/2", G: "d5 ~@15", H: "c#5 ~@15",
I: "b4 ~ d5 ~ g5 ~@11", J: "a4 ~ c#5 ~ e5 ~@11",
K: "[a5@3 ~ g5@3 ~ f#5@2 g5 ~ a5 ~ a5@4 c#6@2 ~@2 a5@4 f#5 ~ f#5@2 ~@2]/2",
L: "[f#5@3 ~ e5@4 d5@2 e5 ~ f#5 ~ f#5@6 e5@3 ~ d5@2 e5@5 ~]/2", M: "[f#5@3 ~ e5@4 d5@2 e5 ~ f#5 ~ f#5@6 e5@3 ~@9]/2",
N: "d#5 ~@15", O: "c5 ~ d#5 ~ g#5 ~@11", P: "a#4 ~ d5 ~ f5 ~@11",
Q: "[a#5@3 ~ g#5@3 ~ g5@2 g#5 ~ a#5 ~ a#5@4 d6@2 ~@2 a#5@4 g5 ~ g5@2 ~@2]/2",
R: "[g5@3 ~ f5@4 d#5@2 f5 ~ g5 ~ g5@5 ~ f5@3 ~@9]/2", S: "e5 ~@15", T: "c#5 ~ e5 ~ a5 ~@11", U: "b4 ~ d#5 ~ f#5 ~@11",
V: "b5@3 ~ a5@3 ~ g#5@2 a5 ~ b5 ~ b5@2", W: "~@2 d#6@2 ~@2 b5@3 ~ g#5 ~ g#5@2 ~@2",
X: "[g#5@4 f#5@4 e5@2 f#5@2 g#5 ~ g#5@6 f#5@2 ~@2 e5 ~ f#5@5 ~]/2", Y: "b5@4 a5@3 ~ g#5@2 a5 ~ b5 ~ b5@2",
Z: "~@2 d#6@3 ~ b5@3 ~ g#5 ~ g#5@2 ~@2", AA: "[g#5@3 ~ f#5@4 e5@2 f#5 ~ g#5 ~ g#5@5 ~ f#5@3 ~ g#5 ~ a5@5 ~]/2",
AB: "b5@3 ~ a5@4 g#5 ~ a5 ~ b5@2 b5@2", AC: "~@2 d#6@2 ~@2 b5@3 ~ g#5@2 g#5@2 ~@2",
AD: "[g#5@4 f#5@4 e5 ~ f#5@2 g#5 ~ g#5@5 ~ f#5@3 ~ e5 ~ f#5@5 ~]/2", AE: "e5@3 ~@5",
})).s("gm_glockenspiel").gain(0.21).pan(0.8)
// other · oboe
const oboe = note("<~@24 A ~@24 B C D E B F G H ~@19 I ~@21>".pickRestart({
A: "~@4 a4 b4 d5@2", B: "a#5@15 ~", C: "a#5@2 c6@2 a#5 ~ g5@3 ~ f5@2 d#5@2 ~@2", D: "c5",
E: "d5@11 [d#5,f5] [g5,g#5,a#5] c6@3", F: "a#5@2 g5@2 a#5 ~@2 c6@3 a#5@2 g5@3 ~", G: "d#5@15 ~",
H: "f5@7 ~ a#4@2 c5@2 d#5@2 ~@2", I: "~@8 b4@2 c#5@2 e5@3 ~",
})).s("gm_oboe").gain(0.21).pan(0.3)
// other · string ensemble 1
const string_ensemble_1 = note(`<
A B C D@2 E@2 F@2 ~@12 G H I J K@2 L M K@2 L N O@2 P@2 O@2 Q@2 R@2 S T R@2 U T R@2 S T R@2 U V W@2 X Y W@2 X Z AA@2
AB@2 AC AD AE S AF S AE AG AH@2 AI AJ AH@2 AI AK AL@2 AM@6 AN@5
>`.pickRestart({
A: "~@12 a4 [b4,c#5] [d5,e5] [f#5,g5]", B: "a5@4 g5@3 ~ f#5@2 g5 ~ a5 ~ a5@2", C: "~@2 c#6@3 ~ a5@4 f#5 ~ f#5@3 ~",
D: "[f#5@4 e5@4 d5@2 e5@2 f#5 ~ f#5@5 ~ e5@3 ~ d5@2 e5@5 ~]/2",
E: "[a5@4 g5@4 f#5@2 g5@2 a5 ~ a5@4 c#6@4 a5@4 f#5@2 f#5@3 ~]/2",
F: "[f#5@4 e5@4 d5@2 e5@2 f#5 ~ f#5@6 e5@3 ~ f#5@2 g5@5 ~]/2", G: "f#5@15 ~", H: "a5",
I: "b5@4 d6@4 b5@2 a5@2 f#5@3 ~", J: "e5@2 d5@3 ~ b4@3 ~ a4@4 f#4 ~", K: "[a5@13 f#5 a5@2]/2", L: "d5",
M: "e5@4 d5@4 b4@4 a4@3 ~", N: "a4@15 ~", O: "[a5@3 ~ g5@3 ~ f#5@2 g5@2 a5 ~ a5@4 c#6@4 a5@4 f#5@2 f#5 ~@3]/2",
P: "[f#5@4 e5@4 d5@2 e5@2 f#5 ~ f#5@6 e5@4 d5@2 e5@5 ~]/2",
Q: "[f#5@4 e5@3 ~ d5@2 e5@2 f#5 ~ f#5@6 e5@4 g#3 a#3 c4 d4 d#4 f4 g4 g#4]/2", R: "[a#4@6 g4 f4]/2", S: "d#4",
T: "f4@2 g4 g#4", U: "d#4@15 ~", V: "f4", W: "[a#5@13 g5 a#5@2]/2", X: "d#5", Y: "f5@4 d#5@4 c5@4 a#4@3 ~", Z: "a#4",
AA: "[a#5@3 ~ g#5@3 ~ g5@2 g#5@2 a#5 ~ a#5@4 d6@4 a#5@4 g5@2 g5 ~@3]/2",
AB: "[g5@4 f5@4 d#5@2 f5@2 g5 ~ g5@5 ~ f5@4 a3 b3 c#4 d#4 e4 f#4 g#4 a4]/2", AC: "g#4 ~@3 a#4@4 b4@8",
AD: "~ a#4 b4@2", AE: "c#4", AF: "e4@15 ~", AG: "b3@15 ~", AH: "[b5@13 g#5 b5@2]/2", AI: "e5",
AJ: "f#5@4 e5@4 c#5@4 b4@3 ~", AK: "b4@15 ~", AL: "[b4@4 a4@4 g#4@2 a4@2 b4 ~ b4@6 d#5@2 b4@5 ~ g#4@3 ~]/2",
AM: "[g#4@4 f#4@4 e4@2 f#4@2 g#4 ~ g#4@5 f#4@4 ~ e4@2 f#4@5 b4@4 ~ a4@4 g#4@2 a4@2 b4 ~ b4@6 d#5@2 b4@4 g#4@5 g#4@4 ~ f#4@4 e4@2 f#4@2 g#4 ~ g#4@6 f#4@3 g#4@2 ~ a4@6]/6",
AN: "[b4@4 a4@4 g#4@2 a4@2 b4 ~ b4@5 ~ d#5@2 b4@4 g#4@4 ~ g#4@4 ~ f#4@4 e4@2 f#4@2 g#4 ~ g#4@5 f#4@5 e4@2 f#4@5 e4@9 ~@8]/5",
})).s("gm_string_ensemble_1").gain(0.21).pan(0.7)
// other · vibraphone
const vibraphone = note(`<
~@9 A B C@2 D E F@5 G H@2 I@2 J K@2 L M N@2 O P ~@7 Q@2 R S T U V W X@2 Y Z AA@2 V AB AC AD@2 AE AF AG@2 AH AI ~@3 AJ
~ AK AL@2 AM AN AO AP AQ@2 AR AS AT@2 AU AP AV AW AR AX AY AZ AU ~@5
// … 53 more lines
More by Harpo
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.