0:00/0:00
// Let Me Be There — Olivia Newton-John
// 130 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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, A@4 for four bars: edit a riff to change every repeat.
// chords · piano · "A.PIANO 1"
const piano = note(`<
~ A@2 B C D E F G D@2 H I J@2 K L D M N O P Q R S T U V W X Y Z AA AB AC AD@2 AE AF AG AH AI@2 AJ AK AL@2 AM AN AI@2
AJ AL@2 AO AP AQ AR AS AT AU AV@2 AW W AR AS AX AY AS AZ BA AQ ~@4 BB BC BD BE BF@2 BG@2 V BH BI BJ BK BL BM BN ~
>`.pickRestart({
A: "[a3,f#4]@2 ~@2 [d4,f#4]@6 ~@2 d4@2 f#4 ~, d4 ~@3 a3@4 ~@2 a3@4 ~@2", // D
B: "[a3,d4,f#4]@2 ~@2 [a3,d4]@5 ~ a3@2 d4@2 f#4 ~, ~@2 f#4@3 ~@3", C: "[a3,d4,f#4]@3 ~",
D: "[d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@6 d4@2 [f#4,a4]@2 d4 ~", // D F#m
E: "[d4,f#4,a4]@2 ~@2 [f#4,a4]@6 d4@2 [f#4,a4]@2 d4 ~, ~ d4 ~@2", // D F#m
F: "[d4,g4,b4]@2 ~@2 [g4,b4]@6 d4@2 [g4,b4]@2 d4 ~, ~@4 d4@5 ~@7", // G
G: "[d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~", // D
H: "[e4,a4,c#5] ~ [e4,a4,c#5] ~ [a4,c#5] e4 [a4,c#5] e4", // A
I: "[a4,c#5]@2 e4 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@2 ~@2", // A
J: "d4 f#4 d5 f#4 d4 f#4 [a4,d5] f#4, ~ a4 ~@2", K: "[d4,g4,b4] ~@3 [g4,b4]@6 d4@2 [g4,b4]@2 d4@2, ~ d4 ~@2",
L: "[f#4,a4]@2 d4@2 [f#4,a4]@6 d4@2 [f#4,a4]@2 d4 ~", M: "[e4,a4] ~@3 [e4,a4,c#5]@6 e4@2 [a4,c#5]@2 e4 ~, c#5 ~@7",
N: "[d4,f#4,a4]@2 ~@2 [d4,f#4]@5 ~ d4@2 [e4,g4]@3 ~, ~@2 a4@3 ~@3", O: "[d4,f#4]@3 ~",
P: "[d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [f#4,a4]@2 ~@2 [f#4,a4]@3 ~, ~@5 d4@2 ~", // D F#m
Q: "[d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [f#4,a4]@2 d4 ~ [d4,f#4,a4]@3 ~, ~@8 d4 ~@7", // D F#m D
R: "[d4,g4,b4]@2 ~@2 [d4,g4,b4]@3 ~ [g4,b4]@2 d4 ~ [g4,b4]@2 d4 ~, ~@8 d4 ~@3 d4 ~@3", // G
S: "[d4,g4,b4]@2 ~@2 [d4,g4,b4]@3 ~ [g4,b4]@2 d4 ~ [d4,g4,b4]@3 ~, ~@8 d4 ~@7", // G
T: "[d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@3 ~ [f#4,a4]@2 d4 ~ [f#4,a4]@2 d4 ~, ~@8 d4 ~@3 d4 ~@3", // D F#m
U: "[d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [f#4,a4]@2 d4 ~ [d4,f#4,a4]@2 ~@2, ~@8 d4 ~@7", // D F#m D
V: "[e4,g#4,b4]@2 ~@2 [e4,g#4,b4]@3 ~ [g#4,b4]@2 e4@2 [g#4,b4] ~@3", // E G#m
W: "[a4,c#5]@2 e4@2 [a4,c#5]@2 e4@2 [a4,c#5]@2 e4@2 [a4,c#5]@2 e4 ~", // A
X: "[d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [f#4,a4]@2 ~@2 [f#4,a4]@3 ~, ~@8 d4 ~ d4@5 ~", // D F#m
Y: "[d4,f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@2 d4 ~ [d4,f#4,a4]@2 ~@2, ~@2 d4@3 ~@3", // D F#m D
Z: "[d4,g4,b4]@3 ~ [d4,g4,b4]@3 ~ [g4,b4]@2 d4 ~ [d4,g4,b4]@3 ~, ~@8 d4 ~@7", // G
AA: "[d4,g4,b4]@3 ~ [d4,g4,b4]@3 ~ [g4,b4]@2 ~@2 [g4,b4]@2 ~@2, ~@8 d4 ~ d4@4 ~@2", // G
AB: "[d4,f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@2 d4@2 [f#4,a4] ~@3, ~ d4 ~@2", // D F#m
AC: "[e4,a4]@2 c#4@2 [e4,a4]@2 c#4@2 [e4,a4]@2 c#4@2 [e4,a4]@2 c#4 ~", // A5
AD: "[[d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [d4,g4,b4] ~ [d4,g4,b4]@3 ~ [d4,f#4,a4]@15 ~@3]/2", // D G D
AE: "[f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4,d5]@3 ~ [f#4,a4]@3 ~, d5@4 ~@8 d5 ~@3", // F#m D F#m
AF: "[e4,a4,c#5]@3 ~ [e4,a4]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~", // A A5 A
AG: "[f#4,a4,d5]@3 ~ [f#4,a4]@3 ~ [f#4,a4,d5]@3 ~ [f#4,a4]@4", AH: "[f#4,a4,d5]@3 ~",
AI: "[[d4,f#4,a4]@2 ~@2 [f#4,a4]@6 d4@2 [f#4,a4]@2 ~@2 [f#4,a4]@2 ~@2 [d4,a4]@5 ~ d4@2 [f#4,a4]@2 d4 ~, ~@2 d4@2 ~@3 d4@2 ~ f#4@3 ~@3]/2", // D F#m D5 F#m
AJ: "[d4,g4,b4]@2 ~@2 [g4,b4]@6 d4@2 [g4,b4]@2 d4 ~, ~ d4 ~@2", // G
AK: "[f#4,a4]@2 d4@2 [f#4,a4]@2 d4@2 [f#4,a4]@2 d4@2 [f#4,a4]@2 d4 ~", // F#m
AL: "[[d4,f#4,a4]@2 ~@2 [f#4,a4]@6 d4@2 [f#4,a4]@2 ~@2 [f#4,a4]@2 ~@2 [f#4,a4]@6 d4@2 [f#4,a4]@2 d4 ~, ~@2 d4@2 ~@3 d4@2 ~ d4@2 ~@4]/2", // D F#m
AM: "[e4,a4,c#5] ~ [a4,c#5]@3 e4 [a4,c#5] e4, ~ e4 ~@2", // A
AN: "[a4,c#5]@2 e4 ~ e4 ~ e4 ~@3 e4@2 [a4,c#5]@2 e4 ~, ~@4 [a4,c#5]@7 ~@5", // A
AO: "[e4,a4,c#5]@2 ~@2 [e4,a4,c#5]@4 e4 ~ [e4,a4,c#5]@5 ~", // A
AP: "[d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@3 ~ [g4,b4]@2 d4 ~ [d4,g4,b4]@2 ~@2", AQ: "[d4,f#4,a4]@13 ~@3",
AR: "[d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@3 ~ [f#4,a4]@2 d4@2 [f#4,a4]@2 d4 ~", // D F#m
AS: "[d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@4 [f#4,a4]@2 d4@2 [f#4,a4]@2 d4 ~", // D F#m
AT: "[d4,g4,b4]@2 ~@2 [g4,b4]@3 ~ [g4,b4]@2 d4@2 [g4,b4]@2 d4@2, ~ d4 ~@2", // G
AU: "[g4,b4]@2 ~@2 [d4,g4,b4]@3 ~ [g4,b4]@2 d4@2 [g4,b4]@2 d4@2, d4 ~@15", // G
AV: "[[f#4,a4]@2 ~@2 [f#4,a4]@3 ~ [f#4,a4]@2 d4@2 [f#4,a4]@2 ~@2 [f#4,a4]@2 ~@2 [d4,f#4,a4]@3 ~ [f#4,a4]@2 d4@2 [f#4,a4]@2 d4 ~, ~@2 d4@2 ~@3 d4@2 ~@7]/2", // F#m D F#m
AW: "[e4,g#4,b4]@2 ~@2 [g#4,b4]@3 ~ [g#4,b4]@2 e4@2 [g#4,b4]@2 e4 ~, ~ e4 ~@2", // E G#m
AX: "[d4,g4,b4]@2 ~@2 [g4,b4]@3 ~ [g4,b4]@2 d4@2 [g4,b4]@2 d4 ~, ~ d4 ~@2", // G
AY: "[g4,b4]@2 ~@2 [g4,b4]@3 ~ [g4,b4]@2 d4@2 [g4,b4]@2 d4@2, ~ d4 ~@2", // G
AZ: "[e4,a4,c#5] ~@3 [e4,a4,c#5]@4 [a4,c#5]@2 e4@2 [a4,c#5]@2 e4 ~", // A
BA: "[f#4,a4] ~@3 [f#4,a4]@2 d4@2 [g4,b4]@2 d4@2 [g4,b4]@2 ~@2, d4@2 ~@2 d4 ~@11", // F#m G
BB: "[e4,g#4,b4] ~ [e4,g#4,b4]@2 [g#4,b4] ~ [g#4,b4] ~, ~@8 e4 ~ e4@5 ~", // E G#m
BC: "[e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [g#4,b4]@2 e4@2 [g#4,b4] ~@3, ~@8 e4 ~@7", // E G#m
BD: "[a#4,c#5]@2 ~@2 [a#4,c#5]@3 ~ [a#4,c#5]@2 f#4@2 [a#4,c#5] ~@3", // A#m
BE: "[b4,d#5]@3 ~ [b4,d#5]@3 ~ [b4,d#5]@2 f#4@2 [b4,d#5] ~@3", // B
BF: "[[e4,g#4,b4]@2 ~@2 [e4,g#4,b4]@4 [g#4,b4]@2 e4@2 [g#4,b4]@2 ~@2 [g#4,b4]@2 ~@2 [e4,g#4,b4]@3 ~ [g#4,b4]@2 e4@2 [g#4,b4] ~@3, ~@8 e4 ~@5 e4@5 ~@13]/2", // E G#m E G#m
BG: "[[e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [a4,c#5]@2 e4@2 [a4,c#5]@2 ~@2 [a4,c#5]@2 ~@2 [e4,a4,c#5]@4 [a4,c#5]@2 e4@2 c#5@2 e4 ~, ~@14 e4@5 ~@5 e4 ~@3 a4 ~@3]/2", // A
BH: "[b4,d#5]@2 ~@2 [f#4,b4,d#5]@3 ~ [b4,d#5]@2 f#4@2 [b4,d#5] ~@3", // B
BI: "[e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [g#4,b4]@2 e4@2 [g#4,b4]@2 e4 ~", // E G#m
BJ: "[e4,a4,c#5]@3 ~ [e4,a4,c#5]@4 [a4,c#5]@2 e4@2 [a4,c#5]@2 ~@2, ~@8 e4 ~@7", // A
BK: "[e4,g#4,b4]@3 ~ [e4,g#4,b4]@4 [g#4,b4]@2 e4@2 [g#4,b4] ~@3", // E G#m
BL: "[b4,d#5]@3 ~ [b4,d#5]@3 ~ [b4,d#5]@2 f#4@2 [b4,d#5] ~@3, f#4 ~@3 f#4 ~@11", // B
BM: "[e4,g#4,b4]@3 ~ [g#4,b4]@2 e4@2 [a4,c#5]@2 e4@2 [a4,c#5]@2 e4 ~", BN: "[e4,g#4,b4]",
})).s("gm_piano").gain(0.29).pan(0.8)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~ A B C D E F G H@2 I J K H L G H I M N O P Q R S P@2 T U P@2 V W X Y P D Z AA AB AC H AD AE AF H AG J AH H AI AJ H AK
AL P D P@2 AM W P AN AO AP P Q AM W AQ AR AS AT ~@2 AU AV AW AX AY AZ AW AX BA BB AX BC AX BD AX BE BF BG@2
>`.pickRestart({
A: "d2@3 ~ d2@3 ~ a1 ~ a1 ~ b1@2 c#2@2", B: "d2@3 ~ d2@3 ~ f#2@2 a2@2 f#2@3 ~", C: "d2@2 a2 b2 d3 b2 a2 f#2",
D: "d2@3 ~", E: "d2@3 ~ d2@3 ~ a1 ~ a1@2 b1@2 a1@2", F: "d2@4 ~@2 d2@2 d2 ~ d2@2 e1@2 f#1@2",
G: "g1@6 d2@2 g2 ~ g2@2 d2@2 b1@2", H: "d2@4 ~@2 d2@2 a1 ~ a1@2 b1@2 a1@2", I: "d2@5 ~ d2 ~ d2 ~ d2@2 c#2@2 b1@2",
J: "a1@4 ~@2 a1@2 e1 ~ e1@2 f#1@2 e1@2", K: "a1@3 ~ a1@3 ~ b1@2 a1@2 b1@2 c#2@2",
L: "d2@5 ~ d2@2 a1 ~ a1@2 b1@2 a1 ~", M: "a1@5 ~ a1 ~ a1 ~ a1@2 b1@2 a1@2", N: "d2@5 ~ e2@2 f#2@2 a2@2 b2@2 a2@2",
O: "d3@3 ~", P: "d2@4 b1@4 a1 ~ a1@2 b1@2 a1@2", Q: "d2@4 b1@3 ~ a1 ~ a1@2 e1@2 f#1@2",
R: "g1@4 e2@4 d2@3 ~ e2@2 d2@2, ~@4 d#2 ~@11", S: "g2@4 e2@4 d2 ~ d2@2 b1@4", T: "e1 f#1 g1 g#1",
U: "a1 ~ a1@2 b1@4 c2 ~ c2@2 c#2@3 ~", V: "g2@4 e2@4 d2 ~ d2@2 e2@2 d2@2", W: "g2@4 e2@4 d2 ~ d2@2 a1@2 b1@2",
X: "d2@4 b1@4 a1 ~ a1@2 b1@2 f#1@2", Y: "a1@4 g1@4 f#1 ~ f#1@2 e1@4", Z: "d2@4 ~@4 d2 ~ d2@2 c#2@2 b1@2",
AA: "a1@4 ~@2 a1 ~ a1 ~ a1@2 b1@2 c#2@2", AB: "d2@2 f#2 a2 b2 d3 b2 a2", AC: "d2@5 ~@3",
AD: "d2@4 ~@2 d2@2 a1 ~ a1@2 b1@2 a1 ~", AE: "g1@5 ~ b1@2 d2 ~ d2@2 b1@2 g1@2",
AF: "d2@4 ~@2 b1@2 a1 ~ a1@2 b1@2 a1@2", AG: "d2@4 ~@2 d2@2 a1 ~ a1@2 f#1@2 g1@2",
AH: "a1 ~ a1@2 b1 ~ b1@2 c#2 ~ c#2@2 a1 ~ a1@2", AI: "d2@3 ~@3 d2@2 a1 ~ a1 ~ e1@2 f#1@2",
AJ: "g1@4 ~@2 d2@2 g2 ~ g2@2 b1@2 g1@2", AK: "d2@4 ~@2 d2@2 c2 ~ c2@2 b1 ~ b1@2",
AL: "a1@4 ~@2 a1@2 g1 ~ g1@2 f#1@2 e1@2", AM: "g1@3 ~ e2@4 d2 ~ d2@2 e2@2 d2@2", AN: "d2@4 b1@4 a1 ~ a1@2 f#1@2 f1@2",
AO: "e1@2 f#1@2 g1!2 g#1!2", AP: "a1@4 b1@4 c2@2 c#2@2 d2@2 b1 ~", AQ: "d2@4 b1@4 a1 ~ a1@2 b1@4",
AR: "a1@4 g1@3 ~ f#1@4 e1@3 ~", AS: "d2@4 b1@4 a1 ~ a1@2 b1@2 a1 ~", AT: "d2@3 ~@5", AU: "~@7 b2",
AV: "c#3@2 e3 ~ e3 ~ e3@2 c#3 b2 a2@2 g#2@2 f#2@2", AW: "e2@4 c#2@4 b1 ~ b1@2 c#2@2 b1@2",
AX: "e2@4 c#2@4 b1 ~ b1@2 c#2@2 b1 ~", AY: "f#1@4 g#1@3 ~ a1 ~ a1@2 a#1 ~ a#1@2", AZ: "b1@4 f#2@4 b2@4 f#2@2 b1 ~",
BA: "a1@4 f#1@3 ~ e1 ~ e1@2 f#1@2 e1@2", BB: "a1@4 f#1@4 e1 ~ e1@2 f#1@2 e1 ~",
BC: "b1@4 g#1@3 ~ f#1 ~ f#1@2 g#1@2 f#1 ~", BD: "a1@4 c#2@2 a1@2 e2 ~ e2@2 f#2@2 e2 ~",
BE: "b1@3 ~ b1@3 ~ b1 ~ b1@2 c#2@2 b1@2", BF: "e2@3 ~ c#2@4 b1 ~ b1@2 c#2@4", BG: "[e2@3 ~ b1@2 ~@2 e2@16 ~@8]/2",
})).s("gm_electric_bass_finger").gain(0.37)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
~ A@3 B C@2 D E@3 F@2 G@2 H I@2 J K L M@2 N@2 I@2 O P Q@2 R@2 S J T U V W X@2 Y@2 Z AA@3 AB@2 I@2 AC AD@2 J AE U AF@2
AG@2 I@2 AH AI AJ@2 R@2 AK W AE AL ~@4 AM@2 AN AO AP@2 AQ@2 AR AS AT W AU AS AV AW@2
>`.pickRestart({
A: "[~@4 a4@4 a4@4 ~@2 f#4@2 ~@8 a4@2 f#4@2 ~@2 f#4@2 ~@8 a4@2 f#4@2 ~@2 f#4 ~, f#4@3 ~@3 a4@4 a4@2 ~@2 a4@4 a4@2 ~@2 a4@2, ~@11 f#4@2 ~@6 f#4@2 ~@3]/3",
B: "f#4@11 ~@5",
C: "[~@3 f#4 ~ f#4 ~ f#4 ~@3 f#4 ~@2 a4 f#4, f#4@3 ~@5 f#4@3 ~@2 f#4@2 ~, ~@4 a4@4 a4@4 a4@7 ~ a4@4 a4@4 ~@4]/2",
D: "~@2 b4@2 b4 g4 b4 g4, g4@3 ~@5",
E: "[~@4 a4@4 ~@2 f#4@2 ~@2 f#4@2 ~@6 f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~@6 f#4@2 ~@2 f#4@2 a4@2 f#4 ~, f#4@6 ~@2 a4@4 a4@7 ~ a4@4 a4@4 a4@7 ~ a4@4 a4@4 ~@4, ~@8 f#4@3 ~@5 f#4@3 ~@5]/3",
F: "[~@4 c#5@4 ~@6 a4@2 a4@4 ~@2 a4@2 ~@2 a4@2 c#5@2 a4 ~, a4@6 ~@2 c#5@4 c#5@7 ~ c#5@4 c#5@4 ~@4, ~@5 a4@2 ~@9]/2",
G: "[~@4 a4@2 ~@16 f#4@2 ~@2 f#4@2 a4@2 f#4 ~, f#4@3 f#4@2 f#4@2 ~ f#4@3 ~@5, ~@2 a4 a4@2 a4!2 ~]/2",
H: "~@8 b4@3 ~ b4@2 g4 ~, g4@3 g4@2 ~@3, ~ b4 ~@2",
I: "[~@6 f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~@6 f#4@2 ~@2 f#4@2 a4@2 f#4 ~, f#4@3 ~@5 f#4@3 ~@5, ~@4 a4@4 a4@4 a4@7 ~ a4@4 a4@4 ~@4]/2",
J: "a4@4 ~@2 a4@2 ~@2 a4@2 c#5@2 a4 ~, ~ c#5!2 ~", K: "f#4@2 ~@3 a4 ~ a4, ~@2 a4@3 ~@3, ~@3 f#4@3 f#4@2",
L: "[d4,f#4,a4]@3 ~", // D
M: "[~@6 f#4@2 ~@2 f#4@2 ~@2 f#4@2 f#4@4 a4@4 a4@2 ~@2 a4@2 f#4 ~, f#4@3 ~@10 f#4@2 ~, ~@4 a4@4 a4@4 a4@7 ~@13]/2",
N: "[~@2 b4 g4 ~ g4 ~ g4 ~@2 b4 g4 b4 g4 b4 g4, g4@3 ~ b4@2 b4@4 ~@6, ~@8 g4@3 ~@5]/2",
O: "~@2 b4@2 ~ g#4 b4 g#4, g#4@3 ~ b4@2 ~@2", P: "~@4 c#5@4 c#5@3 ~ c#5@3 ~, a4@9 ~@7",
Q: "[~@4 a4@4 ~@2 f#4@2 ~@2 f#4@2 ~@4 a4@2 f#4@2 a4@4 a4@2 f#4 ~, f#4@6 ~@2 a4@4 a4@7 ~@13, ~@8 f#4@3 ~@5]/2",
R: "[g4@4 ~@2 g4@2 b4@3 ~@3 g4@2 g4@4 b4@4 b4@4 ~@2 g4 ~, ~@4 b4@4 ~@4 b4@7 ~@9 b4@4]/2",
S: "~@6 f#4@2 ~@2 f#4@2 a4@2 f#4 ~, f#4@3 ~@5, ~ a4!2 ~", T: "f#4@4 a4@2 f#4 ~ g4@2 ~@2 g4@2 g4@2, ~@10 b4@5 ~",
U: "[f#4,a4]@3 ~", V: "~@4 a4@2 f#4@2 a4@4 a4@2 f#4 ~, f#4@3 ~@5",
W: "~@4 c#5@4 ~@4 c#5@2 a4 ~, a4@3 ~ c#5@2 ~@2, ~@5 a4@2 ~",
X: "[~@4 a4@2 f#4@2 ~@6 a4@2 ~ a4@11 ~@4, f#4@3 ~ a4@3 ~@9, ~@5 f#4@3 f#4@6 ~@2, ~@3 d4@4 ~]/2",
Y: "[~@6 f#4@2 a4@3 ~@3 f#4@2 ~@6 f#4@2 ~@2 f#4@2 a4@2 f#4 ~, f#4@3 ~@5 f#4@3 ~@5, ~ a4 ~ a4@2 a4!2 ~]/2",
Z: "~@3 g4 b4@2 ~ g4, g4@3 ~@5, ~ b4 ~ b4",
AA: "[~@6 f#4@2 ~@2 f#4@2 ~@8 a4@2 f#4@2 a4@4 ~@2 f#4@2 ~@6 f#4@2 ~@2 f#4@2 a4@2 f#4 ~, f#4@3 ~@4 f#4@4 ~@5 f#4@3 ~@5, ~@4 a4@4 a4@4 a4@7 ~@9 a4@7 ~ a4@4 a4@4 ~@4]/3",
AB: "[~@2 c#5@2 ~ a4 ~ a4 ~@2 c#5@2 ~ a4 ~ a4, a4@2 c#5 c#5@2 ~ c#5!2, ~@16 a4@9 ~@7]/2",
AC: "~@2 b4 g4 b4 g4 b4 g4, g4@3 ~@5",
AD: "[~@4 a4@4 ~@2 f#4@2 ~@2 f#4@2 f#4@4 a4@4 a4@2 ~@2 a4@2 f#4 ~, f#4@6 ~@2 a4@4 a4@7 ~@7 f#4@4 ~@2]/2",
AE: "f#4@4 ~@2 f#4@2 g4@2 ~@2 g4@3 ~, ~@4 a4@4 ~@2 b4@5 ~",
AF: "[~@6 f#4@2 a4@3 ~@3 f#4@2 f#4@4 a4@4 a4@4 ~@2 f#4@2, f#4@3 ~@13, ~ a4 ~ a4@2 ~@2 a4]/2",
AG: "[~@2 b4 g4 ~ g4 ~ g4 ~@2 b4@2 b4 g4 b4 g4, g4@3 ~ b4@2 b4@4 ~@6, ~@8 g4@3 ~@5]/2",
AH: "~@4 b4@3 ~ b4@3 ~ b4@2 g#4@2, g#4@3 ~@5", AI: "~@4 c#5@2 a4@2 ~@2 a4@2 c#5@3 ~, ~@2 c#5 ~",
AJ: "[~@4 a4@4 a4@4 ~@2 f#4@2 f#4@4 a4@4 a4@2 ~@2 a4@2 f#4 ~, f#4@3 ~@3 a4@4 ~@3 f#4@2 ~]/2",
AK: "f#4@2 a4@2 ~ f#4 a4 ~, ~@2 a4 ~", AL: "[f#4,a4]@7 ~",
AM: "[g#4@4 b4@2 ~@4 g#4@2 ~@8 b4@2 g#4@2 ~@2 g#4@2 b4@2 g#4 ~, ~@3 g#4@2 ~@3 g#4@3 ~@5, ~@2 b4 b4@2 ~ b4 ~]/2",
AN: "~@4 c#5@4 ~@4 c#5@2 a#4 ~, a#4@3 ~ c#5@2 ~@2, ~@5 a#4@2 ~", AO: "~@4 d#5@3 ~@3 b4@2 d#5@2 ~@2, b4@3 ~ d#5@2 ~@2",
AP: "[g#4@4 ~@2 g#4@2 ~@2 g#4@2 ~@2 g#4@2 ~@6 g#4@2 ~@4 b4@2 g#4 ~, ~ b4!2 b4@2 b4!2 ~, ~@8 g#4@3 ~@2 g#4@2 ~]/2",
AQ: "[a4@4 ~@2 a4@2 c#5@2 a4@2 ~@2 a4@2 a4@4 ~@2 a4@2 ~@2 a4@2 c#5@2 a4 ~, ~ c#5 ~ c#5@2 c#5!2 ~]/2",
AR: "~@4 b4@2 g#4@2 ~@2 g#4@2 b4@2 g#4 ~, g#4@3 ~ b4@2 ~@2",
AS: "~@4 d#5@2 b4@2 d#5@2 ~@2 d#5@2 b4 ~, b4@3 ~@2 b4@2 ~", AT: "~@6 g#4@2 b4@4 b4@2 g#4 ~, g#4@3 ~@5, ~ b4 ~@2",
AU: "g#4@4 ~@2 g#4@2 b4@3 ~ b4@2 ~@2, ~ b4 ~@2", AV: "~@4 b4@2 g#4@2 ~@4 a4@2 a4 ~, g#4@3 ~ a4@2 ~@2, ~@10 c#5@5 ~",
AW: "[[g#4,b4]@2 ~@2 [b4,d#5]@2 ~@3 e5@15 ~@8, ~ [g#4,b4]@2 ~]/2", // G#m B G#m
})).s("gm_electric_guitar_clean").gain(0.18).pan(0.2)
// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
~ A B C ~@3 D E ~@2 F ~@3 G ~@6 E ~@4 H I E J G K ~@4 J F ~@2 J ~ G ~ J ~@7 E ~@3 J A ~ L ~@2 M ~ A E G ~ E ~@7 N ~
O@2 ~@6 P F P ~@2 Q ~
>`.pickRestart({
A: "~@3 f#4@2 f#4@2 ~", B: "f#4@5 ~@11", C: "f#4 ~@3", D: "b4@4 ~@2 g4@3 ~@7", E: "~@6 f#4@3 ~@7", F: "~@6 a4@3 ~@7",
G: "~@10 g4@3 ~@3", H: "~@6 g#4@3 ~@7", I: "~@10 a4@3 ~@3", J: "~@10 f#4@3 ~@3", K: "~@6 g4@3 ~ g4@4 ~@2",
L: "~@6 g4@3 ~@7", M: "~@6 g#4@3 ~ g#4@3 ~@3", N: "~@7 g#4", O: "[~@6 a#4@3 ~@6 d#5@4 ~@3 b4@3 ~@7]/2",
P: "~@10 g#4@3 ~@3", Q: "~@2 f#4 ~@5",
})).s("gm_electric_guitar_clean").gain(0.12).pan(0.2)
// chords · harpsichord · "HARPSICHRD"
const harpsichord = note(`<
~ A@3 B C@6 D E F@5 G H@2 I@6 J K L@5 M N@2 O M P Q R@6 M S T@4 U M V@2 W@3 X@3 Y Z AA@4 AB M AC@2 ~@4 AD@2 AE AF AG
AH M AI@2 AJ AK AL@2 AM AN AO@2
>`.pickRestart({
A: "[[d4,f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 ~@2 d4@2 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 ~@2 d4@2 ~@2 d4@2 [f#4,a4]@2 d4 ~, ~@2 [f#4,a4] ~@2 [f#4,a4]!2 ~@2 [f#4,a4]!2 ~, ~@5 d4@2 d4@4 ~@2 d4@2 d4@4 ~@5]/3", // D F#m
B: "[d4,f#4,a4]@13 ~@3", // D
C: "[[d4,f#4,a4]@4 d4@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [g4,b4]@4 [d4,g4,b4]@4 ~@4 [g4,b4]@2 ~@6 [f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 d4@2 d4@2 ~@4 [f#4,a4]@2 d4 ~, ~ [f#4,a4]@2 ~@3 [f#4,a4] ~@3 [g4,b4] ~ [f#4,a4] ~ [f#4,a4] ~@3 [f#4,a4] ~@2 [f#4,a4]!2 ~, ~@4 d4@3 d4@3 ~@3 d4@2 d4@3 ~@2 d3@7 ~@21, ~@21 d4@2 d4@2 d4@3 ~ d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 ~]/6", // D F#m D F#m G F#m D F#m …
D: "[e4,a4,c#5]@2 [e4,a4,c#5]@2 ~@2 [a4,c#5] e4, ~@2 [a4,c#5] ~, ~@5 e4@2 ~", // A
E: "~@2 e4@2 [a4,c#5]@4 ~@2 e4@2 [a4,c#5]@2 e4 ~, [a4,c#5] ~ [a4,c#5] ~", // A
F: "[[d4,f#4,a4]@4 d4@2 d4@2 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 d4@2 d4@2 ~@2 d4@2 [f#4,a4]@2 ~@8 d4@2 ~@4 [g4,b4]@2 ~@4 d4@2 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 ~@2 d4@2 ~@2 d4@2 [f#4,a4]@2 d4 ~, ~ [f#4,a4]!2 ~@2 [f#4,a4]!2 ~ [g4,b4]!3 ~ [f#4,a4] ~ [f#4,a4] ~@2 [f#4,a4]!2 ~, ~@5 d4@2 d4@3 ~@5 d4@2 d4@2 ~@2 d4@2 d4@2 ~@4 d4@2 d4@4 ~@5]/5", // D F#m G D F#m G F#m
G: "[e4,a4,c#5]@4 e4@2 e4@2 ~@4 [a4,c#5]@2 e4 ~, ~ [a4,c#5]!2 ~, ~@5 e4@2 ~", // A
H: "[d4@2 ~@4 d4@2 ~@4 [e4,g4]@2 ~@2 [f#4,a4]@13 ~@3, [f#4,a4]@4 [f#4,a4]@4 [f#4,a4]@7 ~@17, ~@2 d4@4 ~@4 d4@4 d4@15 ~@3]/2", // Em F#m
I: "[[d4,f#4,a4]@3 ~ [f#4,a4]@4 ~@2 d4@2 [f#4,a4]@2 ~@2 [f#4,a4]@4 [f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [g4,b4]@4 ~@2 [g3,d4]@2 ~@4 [g4,b4]@2 ~@2 [g4,b4]@4 ~@2 d4@2 ~@4 [g4,b4]@2 ~@2 [f#4,a4]@4 [f#4,a4]@3 ~ [f#4,a4]@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 ~@2 d4@2 ~@2 d4@2 [f#4,a4]@2 d4 ~, ~@4 d4@6 ~@4 d4@9 ~@3 d4@4 d4@4 ~@2 [g4,b4]@4 [g4,b4]@4 ~@8 [g4,b4]@4 [g4,b4]@4 ~@24 [f#4,a4]@4 [f#4,a4]@4 ~@4, ~@8 [f#4,a4]@4 ~@12 [f#4,a4]@4 ~@4 g3@6 ~@4 d4@4 d4@8 ~@4 d4@4 d4@6 d4@4 ~@6 d4@7 ~@11]/6", // D F#m G G5 G F#m G F#m
J: "[e3,e4,g#4,b4]@2 e4!2 ~@2 [g#4,b4] e4, ~ [g#4,b4]!2 ~, ~@5 e4@2 ~", // E G#m
K: "[a4,c#5]@4 ~@2 e4@2 ~@4 [a4,c#5]@2 e4 ~, ~ [a4,c#5]!2 ~, ~@5 e4@2 ~", // A
L: "[[d4,f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [g4,b4]@4 [d4,g4,b4]@4 ~@4 [g4,b4]@2 ~@2 [g4,b4]@4 [d4,g4,b4]@4 ~@4 [g4,b4]@2 ~@2 [f#4,a4]@4 d4@2 d4@2 ~@4 [f#4,a4]@2 d4 ~, ~@2 [f#4,a4] ~@3 [f#4,a4] ~@3 [g4,b4] ~@3 [g4,b4] ~@2 [f#4,a4]!2 ~, ~@5 d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 ~]/5", // D F#m D F#m G F#m G F#m
M: "[e4,a4,c#5]@4 ~@2 e4@2 ~@4 [a4,c#5]@2 e4 ~, ~ [a4,c#5]!2 ~, ~@5 e4@2 ~", // A
N: "[[d4,f#4,a4]@4 d4@2 d4@2 [g4,b4] ~ d4@2 d4@2 [d4,f#4,a4]@12 ~@6, ~@4 [f#4,a4]@4 ~@2 [g4,b4]@5 ~@17]/2", // D G D F#m G
O: "[d4,f#4,a4]@4 [d4,f#4,a4]@4 ~@2 d4@2 [f#4,a4]@2 d4 ~, ~@2 [f#4,a4] ~", // D F#m
P: "[f#4,a4]@4 ~@4 a4@2 ~@2 d4@2 f#4 ~, d4@3 d4@3 ~@2, ~@4 [f#4,a4]@4 f#4 ~ [f#4,a4]@5 ~", Q: "[d4,f#4,a4]@15 ~",
R: "[[d4,f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [g4,b4]@4 d4@2 d4@2 ~@4 [g4,b4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@4 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 ~@2 d4@2 ~@2 d4@2 ~@2 d4 ~, ~@2 [f#4,a4] ~@3 [f#4,a4] ~@2 [g4,b4]!2 ~@3 [f#4,a4] ~@3 [f#4,a4] ~@2 [f#4,a4]!2 ~, ~@5 d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 d4@3 ~@3 d4@2 d4@4 ~@3 [d3,f#4,a4]@2]/6", // D F#m D F#m G F#m D F#m …
S: "[a4,c#5]@4 ~@2 e4@2 ~@4 a4@2 c#5 ~, ~@4 [a4,c#5]@4 [a4,c#5]@5 ~@3, ~@10 e4@5 ~", // A
T: "[[d4,f#4,a4]@2 d4 ~@3 [f#4,a4] ~ [f#4,a4]@2 ~ d4 ~@2 [f#4,a4] ~ [g4,b4]@2 ~ d4 ~ d4 [g4,b4] ~ [f#4,a4]@2 ~@2 f#4 ~ d4 f#4, ~@2 [f#4,a4]@2 [f#4,a4]@2 ~@4 [f#4,a4]@2 [f#4,a4]@2 ~@2 g3@3 ~@13, ~@3 d4@2 d4@2 d4@4 ~@2 d4@2 d4@4 ~@4 d4@4 d4@3 ~@2, ~@36 [g4,b4]@4 [g4,b4]@4 ~@8 [f#4,a4]@4 ~@2 [f#4,a4]@5 ~]/4", // D F#m G F#m G F#m
U: "[d4,f#4,a4]@4 ~@4 a4 ~@3 d4@2 [f#4,a4] ~, ~@2 [f#4,a4]@2 f#4@3 ~, ~@3 d4@3 ~@2, ~@5 a4@2 ~", // D F#m
V: "[[f#4,a4]@4 ~@2 d4@2 [g4,b4] ~@3 d4@2 ~@2 [f#4,a4]@13 ~@3, d4@3 ~@4 d4@8 ~, ~@4 [f#4,a4]@4 ~@2 [g4,b4]@5 ~@17]/2", // F#m G F#m G
W: "[[f#4,a4]@2 ~ d4 ~ d4 [f#4,a4] ~ [f#4,a4]@2 ~ d4 ~@2 [f#4,a4] ~ [g4,b4]@2 ~ d4 ~@2 [g4,b4] d4, d4@3 ~@4 d4@4 ~@2 d4@2 d4@4 ~@2 d4@2 ~, ~ [f#4,a4]!2 ~@2 [f#4,a4]!2 ~@2 [g4,b4]!2 ~]/3", // F#m G F#m G
X: "[[g4,b4]@4 ~@2 d4@2 ~@4 [g4,b4]@2 ~@2 [f#4,a4]@4 [d4,f#4,a4]@2 d4@2 ~@4 [f#4,a4]@2 ~@2 [f#4,a4]@4 d4@2 ~@6 f#4@2 d4 ~, d4@6 ~@4 d4@4 d4@6 ~@6 d4@4 d4@5 ~@3 d4@8 ~@2, ~ [g4,b4]!2 ~@3 [f#4,a4] ~@2 [f#4,a4] f#4 ~, ~@42 a4@5 ~]/3", // G F#m D F#m G F#m
Y: "[e4,g#4,b4]@4 e4@2 ~@6 e4@2 g#4 ~, ~@2 [g#4,b4]@2 g#4@3 ~, ~@3 e4@3 ~@2, ~@10 b4@5 ~", // E G#m
Z: "~@6 e4@2 ~@4 [a4,c#5]@2 e4 ~, [a4,c#5]!3 ~, ~ e4@2 ~@2 e4@2 ~", // A
AA: "[[f#4,a4]@4 [f#4,a4]@4 ~@4 [f#4,a4]@2 ~@8 d4@2 ~@4 [f#4,a4]@2 ~@2 [g4,b4]@4 ~@10 g4@2 [g4,b4]@4 ~@8 d4@2 [g4,b4] ~, ~@8 [f#4,a4]@4 ~@4 [f#4,a4]@4 [f#4,a4]@4 [f#4,a4]@4 ~@8 [g4,b4]@4 g4@5 ~@7 [g4,b4]@4 g4@6 ~@2, ~@10 d4@4 d4@4 d4@4 ~@4 d4@4 d4@4 ~@4 d4@6 d4@10 d4@5 ~@5, ~@42 b4@5 ~@11 b4@4 ~@2]/4", // F#m G F#m G
AB: "[f#4,a4]@4 ~@8 d4@2 f#4 ~, ~@4 [f#4,a4]@4 f#4@5 ~@3, ~@3 d4@3 ~@2, ~@10 a4@5 ~", // F#m
AC: "[[d4,f#4,a4]@4 ~@2 d4@2 [g4,b4] ~ d4@2 d4@2 ~@2 [f#4,a4]@8 ~@8, ~@4 [f#4,a4]@4 ~@2 [g4,b4]@4 d4@9 ~@9]/2", // D G F#m G
AD: "[[e4,g#4,b4]@4 [g#4,b4]@3 ~@5 [g#4,b4]@2 ~@2 [g#4,b4]@4 [e4,g#4,b4]@4 ~@4 [g#4,b4]@2 e4 ~, e3@3 ~@2 e4@2 e4@3 ~@3 e4@2 ~, ~ e4 b4 ~@3 [g#4,b4] ~]/2", // E G#m E G#m
AE: "[f#4,a#4,c#5]@4 f#4@2 f#4@2 ~@2 f#4@2 [a#4,c#5]@2 f#4 ~, ~ [a#4,c#5]!2 ~", // F# A#m
AF: "[b4,d#5]@4 ~@2 f#4@2 ~@4 [b4,d#5]@2 f#4 ~, [b3,f#4]@3 ~@2 f#4@2 ~, ~ [b4,d#5]!2 ~", // B B5 B
AG: "[e4,g#4,b4]@4 [e4,g#4,b4]@4 ~@4 [g#4,b4]@2 e4 ~, ~@2 [g#4,b4] ~, ~@5 e4@2 ~", // E G#m
// … 173 more lines
More by Olivia Newton-John
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.