0:00/0:00
// Water Music: Bouree — George Frideric Handel
// 210 bpm, 3/2, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: duplicate parts dropped: ch 2 "Bassoon" bassoon (copy of ch 7 "Cello" cello)
// note: Full arrangement: all 153 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(210/6)
// 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.
// chords · oboe
const oboe = note(`<
A B C D E F G H I@2 J ~@6 K H L ~ M N O P Q R ~@3 K S T@2 U S T@2 V W B C D E F G H I@2 J ~@6 K H L ~ M N O P Q R ~@3
K S T@2 U S T@2 V X Y Z AA AB AC@3 AD AE AF AG AH AI@2 AJ@2 AK AL AM AN AO AP@2 AQ AR AS ~@8 W B C D E F G H I@2 J ~@6
K H L ~ M N O P Q R ~@3 K S T@2 U S AT@4
>`.pickRestart({
A: "a4@7 ~ [a4,d5]@7 ~ [c#5,e5]@7 ~", B: "[d5,f#5]@4 [a4,d5]@7 ~ [c#5,e5]@4 [d5,f#5]@4 [a4,d5]@4",
C: "[c#5,e5]@4 [e5,a5]@7 ~ [c#5,e5]@4 [d5,f#5]@4 e5@2 d5@2, ~@5 a4", // C#m A5 C#m D
D: "[c#5,e5]@4 [c#5,a5]@7 ~ [c#5,e5]@4 [d5,f#5]@4 e5@2 d5@2, ~@5 a4", E: "e5 ~@2 a5!3, c#5@7 ~@17, ~@4 a4@11 ~@9",
F: "a5@2 g5 f#5 g5@2 g5@2 g5@2 g5@2", G: "g5@2 f#5 e5 f#5@2 [f#5,a5]@2 [f#5,a5]@2 [f#5,a5]@2",
H: "[f#5,a5]@2 [e5,g5] [d5,f#5] [e5,g5]@2 [e5,g5]@2 [e5,g5]@2 [e5,g5]@2", // F#m Em D Em
I: "[[c#5,g5]@11 ~ [c#5,a5]@4 f#5@4 e5@4 f#5@4 [d5,g5]@4 d5@7 ~@5 d5@4, ~@16 d5@11 ~@5 e5@11 ~@5, ~@40 c#5@7 ~]/2", // C#dim F#m G5
J: "d5@7 ~@5", K: "~@3 [f#5,a5]!3", L: "[e5,g5]@4 [d5,f#5]@2 [c#5,e5]@2 [d5,f#5]@7 ~@9", M: "~@3 f#5!3",
N: "g#5@7 ~@5 e5@4 a5@4 e5@4", O: "f#5@7 ~@5 f#5@4 f#5@4 f#5@4", P: "b4@11 ~ b4@4 e5@7 ~", Q: "a5@7 ~ a5@7 ~ g#5@7 ~",
R: "a5@7 ~@5", S: "[f#5,a5]@2 [e5,g5] [d5,f#5] [e5,g5]@2 [e5,g5]@2 [e5,g5]@2 [d5,g5]@2",
T: "[[c#5,g5]@11 ~ [c#5,a5]@4 f#5@4 e5@4 f#5@4 [e5,g5]@4 [c#5,e5]@11 ~ d5@4, ~@16 d5@11 ~@21]/2", // C#dim F#m Em C#m
U: "d5@7 ~@5 [f#5,a5]@4 [f#5,a5]@4 [f#5,a5]@4", V: "d5@11 ~", W: "[f#4,a4]@7 ~ [a4,d5]@7 ~ [c#5,e5]@7 ~",
X: "f#5 d5 b4 f#5!3", Y: "f#5@2 e5 d5 e5@2 e5@2 e5@2 e5@2", Z: "e5@2 d5 c#5 d5@2 d5@2 d5@2 d5@2",
AA: "d5@2 e5 d5 c#5@2 e5@2 e5@2 e5@2", AB: "e5@11 ~ e5@4 f#5@4 c#5@4",
AC: "[d5@4 f#5@7 ~ b5@7 ~ f#5@11 ~ e5@4 g5@4 g5@18 ~@2 g5@4 f#5@4 e5@4]/3", AD: "f#5@4 b5@7 ~ g#5@7 ~ f#5@4",
AE: "f5@7 ~@5 c#5@4 c#5@5 ~ b4 c#5", AF: "f#5@7 ~@5 c#5@4 c#5@5 ~ b4 c#5", AG: "g#5@7 ~@5 c#5@4 c#5@5 ~ b4 c#5",
AH: "a5@7 ~@5 c#5@4 a5@4 c#5@4", AI: "g#5@2 a5 b5 b4@2 b4@2 b4@2 b4@2",
AJ: "[f5@11 ~ c#5@4 f#5@11 ~ g#5@4 g#5@11 ~ f#5@4]/2", AK: "f#5@7 ~@5 c#5@4 f#5@4 c#5@4",
AL: "d#5@4 f#5@7 ~ b4@7 ~@5", AM: "~@4 g#5@7 ~ e5@7 ~ b4@4", AN: "c#5@2 d5@2 e5@4 a4@4 a5@7 ~ e5@4",
AO: "f#5@7 ~@5 f#5@4 e5@4 e5@4", AP: "e5@7 ~@5 e5@4 e5@4 e5@4", AQ: "a#5@11 ~ g#5@2 f#5@2 b5@4 a5@2 g5@2",
AR: "f#5@2 g5@2 e5@4 d5@7 ~ c#5@5 ~ b4@2", AS: "b4@7 ~@17",
AT: "[[c#5,g5]@11 ~ [c#5,a5]@4 ~ f#5@4 e5@4 f#5@4 [e5,g5]@4 ~ [c#5,e5]@12 ~ d5@4 ~ d5@25 ~@19, ~@17 d5@12 ~@67]/4", // C#dim F#m Em C#m
})).s("gm_oboe").gain(0.36)
// chords · english horn · "Horn"
const english_horn = note(`<
~@14 A B C D ~ E F G ~@6 E H I ~@3 J K L M N ~@14 A B C D ~ E F G ~@6 E H I ~@3 J K L M N ~@49 A B C D ~ E F G ~@6 E H
I ~@3 J K O P@3
>`.pickRestart({
A: "[d3,a3]@3 ~ [f#3,d4]@3 ~ [a3,e4]@3 ~", B: "[d4,f#4]@3 ~ [f#3,d4]@6 ~@2 [a3,e4]@3 ~ [d4,f#4]@3 ~ [f#3,d4]@3 ~",
C: "[a3,e4]@3 ~ [e4,a4]@6 ~@2 [a3,e4]@3 ~ [d4,f#4]@3 ~ [f#3,e4]@2 d4@2", // A5 D F#7
D: "[a3,e4]@3 ~ [e4,a4]@6 ~@2 [a3,e4]@3 ~ a3@6 ~@2", E: "~@12 [f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@3 ~",
F: "[f#4,a4]@3 ~ [e4,g4]@2 [d4,f#4]@2 [e4,g4]@3 ~ [e4,g4]@3 ~ [e4,g4]@3 ~ [e4,g4]@3 ~", // F#m Em D Em
G: "[e4,g4]@3 ~ [a3,f#4]@2 e4@2 [d4,f#4]@6 ~@10", // Em D
H: "[e4,g4]@3 ~ [f#4,a4]@2 [e4,g4]@2 [d4,f#4]@3 ~ [f#4,a4]@3 ~ [e4,g4]@3 ~ [d4,f#4]@3 ~", // Em F#m Em D F#m Em D
I: "[d4,f#4]@3 ~ [f#3,e4]@2 d4@2 [a3,e4]@6 ~@10", J: "~@3 [f#4,a4]!3",
K: "[f#4,a4]@2 [e4,g4] [d4,f#4] [e4,g4]@2 [e4,g4]@2 [e4,g4]@2 [e4,g4]@2", // F#m Em D Em
L: "e4 a3!2 [a3,a4] [d4,f#4] [a3,e4], g4@11 ~@13", M: "[d3,f#4] [d3,g4] a3!3 [a3,d4], ~@8 e4@11 ~@5",
N: "[f#3,d4]@11 ~", O: "e4@4 a3@4 a3@4 [a3,a4]@4 ~ [d4,f#4]@4 [a3,e4]@3, g4@11 ~@13",
P: "[~ [d3,f#4]@4 [d3,g4]@4 ~ a3@4 a3@4 a3@4 ~ [a3,d4]@4 ~ [f#3,d4]@25 ~@19, ~@5 e4@6 ~@25]/3", // D G5 D5 D
})).s("gm_english_horn").gain(0.36)
// chords · trumpet
const trumpet = note(`<
~@10 A B C D ~@3 E F G ~@6 H I J ~@5 E F K L M ~@10 A B C D ~@3 E F G ~@6 H I J ~@5 E F K L M ~@45 A B C D ~@3 E F G
~@6 H I J ~@5 E F N O@3
>`.pickRestart({
A: "[d4,a4]@3 ~ [f#4,d5]@3 ~ [a4,e5]@3 ~", B: "[d5,f#5]@3 ~ [f#4,d5]@6 ~@2 [a4,e5]@3 ~ [d5,f#5]@3 ~ [f#4,d5]@3 ~",
C: "[a4,e5]@3 ~ [e5,a5]@6 ~@2 [a4,e5]@3 ~ [d5,f#5]@3 ~ f#4@2 d5 ~, ~@20 e5 ~@3", // A5 D
D: "[a4,e5]@3 ~ [e5,a5]@6 ~@2 [a4,e5]@3 ~ [a4,e5]@3 ~ a4@3 ~", E: "~@3 [f#5,a5]!3",
F: "[f#5,a5]@2 [e5,g5] [d5,f#5] [e5,g5]@2 [e5,g5]@2 [e5,g5]@2 [e5,g5]@2", // F#m Em D Em
G: "[e5,g5]@4 f#5@2 e5@2 [d5,f#5]@7 ~@9, ~ a4 ~@4", H: "~@12 [f#5,a5]@3 ~ [f#5,a5]@3 ~ [f#5,a5]@3 ~",
I: "[e5,g5]@3 ~ [f#5,a5] ~ [e5,g5] ~ [d5,f#5]@3 ~ [f#5,a5]@3 ~ [e5,g5]@3 ~ [d5,f#5]@3 ~", // Em F#m Em D F#m Em D
J: "[d5,f#5]@3 ~ f#4@2 d5 ~ [a4,e5]@6 ~@10, ~@4 e5 ~@19", K: "e5 a4!2 [a4,a5] [d5,f#5] [a4,e5], g5@11 ~@13",
L: "[d4,f#5] [d4,g5] a4!3 [a4,d5], ~@8 e5@11 ~@5", M: "[f#4,d5]@11 ~",
N: "e5@4 a4@4 a4@4 [a4,a5]@4 ~ [d5,f#5]@4 [a4,e5]@3, g5@11 ~@13", // A D A5
O: "[~ [d4,f#5]@4 [d4,g5]@4 ~ a4@4 a4@4 a4@4 ~ [a4,d5]@4 ~ [f#4,d5]@25 ~@19, ~@5 e5@6 ~@25]/3", // D G5 D5 D
})).s("gm_trumpet").gain(0.36)
// chords · violin
const violin = note(`<
A B C D E F G H I@2 J ~@6 K H L ~ M N O P@2 Q ~@3 K R S@2 T R S@2 U A B C D E F G H I@2 J ~@6 K H L ~ M N O P@2 Q ~@3
K R S@2 T R S@2 U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ@2 Z AK AL AM AN AO@2 AP AQ AR AS AT AU AV AW AX@2 AY A B C
D E F G H I@2 J ~@6 K H L ~ M N O P@2 Q ~@3 K R S@2 T R AZ@4
>`.pickRestart({
A: "[f#4,a4]@7 ~ [a4,d5]@7 ~ [c#5,e5]@7 ~", B: "[d5,f#5]@4 [a4,d5]@7 ~ [c#5,e5]@4 [d5,f#5]@4 [a4,d5]@4",
C: "[c#5,e5]@4 [e5,a5]@7 ~ [c#5,e5]@4 [d5,f#5]@4 e5@2 d5@2, ~@5 a4", // C#m A5 C#m D
D: "[c#5,e5]@4 [c#5,a5]@7 ~ [c#5,e5]@4 [d5,f#5]@4 e5@2 d5@2, ~@5 a4", E: "e5 ~@2 a5!3, c#5@7 ~@17, ~@4 a4@11 ~@9",
F: "a5@2 g5 f#5 g5@2 g5@2 g5@2 g5@2", G: "g5@2 f#5 e5 f#5@2 [f#5,a5]@2 [f#5,a5]@2 [f#5,a5]@2",
H: "[f#5,a5]@2 [e5,g5] [d5,f#5] [e5,g5]@2 [e5,g5]@2 [e5,g5]@2 [e5,g5]@2", // F#m Em D Em
I: "[[c#5,g5]@11 ~ [c#5,a5]@4 f#5@4 e5@4 f#5@4 [d5,g5]@4 d5@7 ~@5 d5@4, ~@16 d5@11 ~@5 e5@11 ~@5, ~@40 c#5@7 ~]/2", // C#dim F#m G5
J: "d5@7 ~@5", K: "~@3 [f#5,a5]!3", L: "[e5,g5]@4 [d5,f#5]@2 [c#5,e5]@2 [d5,f#5]@7 ~@9", M: "~@3 d6!3",
N: "d6@2 c#6 b5 c#6@2 c#6@2 c#6@2 c#6@2", O: "c#6@2 b5 a5 b5 d6 c#6 d6 b5 d6 c#6 d6",
P: "[e5@11 ~ e5@4 a5@11 ~ d6@4 c#6@7 ~ b5@4 a5@4]/2", Q: "a5@7 ~@5",
R: "[f#5,a5]@2 [e5,g5] [d5,f#5] [e5,g5]@2 [e5,g5]@2 [e5,g5]@2 [d5,g5]@2", // F#m Em D Em G5
S: "[[c#5,g5]@11 ~ [c#5,a5]@4 f#5@4 e5@4 f#5@4 [e5,g5]@4 [c#5,e5]@11 ~ d5@4, ~@16 d5@11 ~@21]/2", // C#dim F#m Em C#m
T: "d5@7 ~@5 [f#5,a5]@4 [f#5,a5]@4 [f#5,a5]@4", U: "d5@11 ~", V: "f#5@3 ~ d5@3 ~ b4@3 ~ f#5@3 ~ f#5@3 ~ f#5@3 ~",
W: "f#5@3 ~ e5@2 d5@2 e5@3 ~ e5@3 ~ e5@3 ~ e5@3 ~", X: "e5@3 ~ d5@2 c#5@2 d5@3 ~ d5@3 ~ d5@3 ~ d5@3 ~",
Y: "d5@3 ~ g5@2 f#5@2 e5@2 f#5@2 d5@2 e5@2 c#5@2 d5@2 b4@2 c#5@2", Z: "a#4 c#5 b4 c#5 a#4 c#5 b4 c#5 f#4 f#5 e5 f#5",
AA: "d5 f#5 e5 f#5 d5 e5 c#5 d5 b4 b5 a5 b5", AB: "g5 a5 b5 a5 g5 a5 f#5 g5 e5 f#5 d5 e5",
AC: "c#5 d5 e5 d5 c#5 d5 b4 c#5 a4 a5 g5 a5", AD: "f#5@3 ~ b5@2 a5@2 g#5@3 ~ b5@2 a5@2 g#5@2 a5@2 f#5@2 g#5@2",
AE: "f5@3 ~ c#5@3 ~ c#5@2 d5@2 c#5@3 ~ c#5@5 ~ b4 c#5", AF: "f#5@3 ~ c#5@3 ~ c#5@2 d5@2 c#5@3 ~ c#5@5 ~ b4 c#5",
AG: "g#5@3 ~ c#5@3 ~ c#5@2 d5@2 c#5@3 ~ c#5@5 ~ b4 c#5", AH: "a5@3 ~ c#5@3 ~ c#5@2 d5@2 c#5@3 ~ a5@3 ~ c#5@3 ~",
AI: "g#5@3 ~ a5@2 b5@2 b4@3 ~ b4@3 ~ b4@3 ~ b4@3 ~",
AJ: "[f5@10 ~@2 c#5@3 ~ f#5@10 ~@2 g#5@3 ~ c#5@3 ~ f#5@3 ~ f5@3 ~ b4@3 ~]/2",
AK: "d#5 f#5 e5 f#5 d#5 e5 c#5 d#5 b4 b5 a5 b5", AL: "g#5 a5 b5 a5 g#5 b5 a5 b5 e5 f#5 d5 e5",
AM: "c#5@2 d5@2 e5@3 ~ a4@2 a5@2 g#5@2 a5@2 e5@2 a5@2 g#5@2 a5@2",
AN: "f#5@2 a5@2 g#5@2 a5@2 b4@2 b5@2 a5@2 b5@2 e5@3 ~ e5@3 ~", AO: "a#5@3 ~ b5@2 c#6@2 e5@3 ~ e5@3 ~ e5@3 ~ e5@3 ~",
AP: "a#5@10 ~@2 g#5@2 f#5@2 b5@3 ~ a5@2 g5@2", AQ: "f#5@2 g5@2 e5@3 ~ d5@6 ~@2 c#5@5 ~ b4@2",
AR: "b4@3 ~ b5@3 ~ b4@3 ~ b5@3 ~ b5@3 ~ a5@2 g5@2", AS: "a5@3 ~ a5@3 ~ b4@3 ~ a5@3 ~ a5@3 ~ g5@2 f#5@2",
AT: "g5@3 ~ g5@3 ~ b4@3 ~ g5@3 ~ g5@3 ~ f#5@2 e5@2", AU: "f#5@3 ~ f#5@3 ~ b4@3 ~ f#5@3 ~ f#5@3 ~ d#5@3 ~",
AV: "g5@3 ~ f#5@3 ~ f#5@3 ~ e5@3 ~ e5@3 ~ d5@3 ~", AW: "d5@3 ~ c5@3 ~ c5@3 ~ b4@3 ~ b4@3 ~ a#4@3 ~",
AX: "[a#4@10 ~@2 g5@3 ~ f#5@10 ~@2 g5@3 ~ d5@6 ~@2 c#5@3 ~ b4@3 ~]/2", AY: "b4@19 ~@5",
AZ: "[[c#5,g5]@11 ~ [c#5,a5]@4 ~ f#5@4 e5@4 f#5@4 [e5,g5]@4 ~ [c#5,e5]@12 ~ d5@4 ~ d5@25 ~@19, ~@17 d5@12 ~@67]/4", // C#dim F#m Em C#m
})).s("gm_violin").gain(0.36)
// other · violin
const violin_2 = note("<~@78 A B C D E F@3 G H I J K L M N@2 O P Q R S T@2 U V W ~ X Y Z AA AB@2 AC ~@40>".pickRestart({
A: "f#5 d5 b4 f#5!3", B: "f#5@2 e5 d5 e5@2 e5@2 e5@2 e5@2", C: "e5@2 d5 c#5 d5@2 d5@2 d5@2 d5@2",
D: "d5@2 e5 d5 c#5@2 e5@2 e5@2 e5@2", E: "e5@11 ~ e5@4 f#5@4 c#5@4",
F: "[d5@4 f#5@7 ~ b5@7 ~ f#5@11 ~ e5@4 g5@4 g5@18 ~@2 g5@4 f#5@4 e5@4]/3", G: "f#5@4 b5@7 ~ g#5@7 ~ f#5@4",
H: "[b4,f5]@7 ~@5 [g#4,b4]@4 [f#4,a4]@4 [f4,g#4]@4", I: "[f#4,a4]@7 ~@5 [a4,c#5]@4 [g#4,b4]@4 [f#4,a4]@4",
J: "[b4,f5]@7 ~@5 [b3,g#4]@4 [f4,g#4]@4 [f4,g#4]@4", K: "[c#5,f#5]@7 ~@5 [a3,f#4]@4 [a3,f#4]@4 [a3,f#4]@4",
L: "[f4,b4]@7 ~@5 [f#4,g#4]@4 [f#4,g#4]@4 [f#4,g#4]@4", M: "[f4,b4]@7 ~@5 [f#4,b4]@4 [f#4,b4]@4 [f#4,b4]@4",
N: "[b4@11 ~ c#5@4 a4@11 ~ g#5@4 g#5@11 ~ f#5@4]/2", O: "f#5@7 ~@5 c#5@4 f#5@4 c#5@4", P: "d#5@4 f#5@7 ~ b4@7 ~@5",
Q: "~@4 g#5@7 ~ e5@7 ~ b4@4", R: "c#5@2 d5@2 e5@4 a4@4 a5@7 ~ e5@4", S: "f#5@7 ~@5 f#5@4 e5@4 e5@4",
T: "a#5@2 b5 c#6 e5@2 e5@2 e5@2 e5@2", U: "e5@7 ~ c#5@7 ~ f#5@7 ~", V: "~@4 b4@4 b4@7 ~ a#4@7 ~", W: "b4@7 ~@17",
X: "~@2 b5@2 b4@2 b5@2 b5@2 a5 g5", Y: "a5@2 a5@2 b4@2 a5@2 a5@2 g5 f#5", Z: "b4 a4!2 g4!2 f#4",
AA: "f#4 e4!2 d4!2 c#4", AB: "[f#4@11 ~ a#4@4 b4@11 ~ b4@4 b4@7 ~ a#4@7 ~]/2", AC: "b4@11 ~",
})).s("gm_violin").gain(0.36)
// other · viola
const viola = note(`<
A B C@2 D E F G H@2 I ~@6 J K L ~ M N O P Q R ~@3 S T U@2 V W U@2 X A B C@2 D E F G H@2 I ~@6 J K L ~ M N O P Q R ~@3
S T U@2 V W U@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC ~ BD BE
BF A B C@2 D E F G H@2 I ~@6 J K L ~ M N O P Q R ~@3 S T U@2 V W BG@4
>`.pickRestart({
A: "d4@7 ~ a4@7 ~ a4@7 ~", B: "a4@4 d4@7 ~ a4@4 a4@4 a4@4", C: "a4@7 ~@5 a4@4 a4@4 a4@4",
D: "a4@11 ~ c#5@4 a4@4 c#5@4", E: "d5@11 ~ b4@4 g4@4 e4@4", F: "c#4@7 ~ a3@7 ~ a4@7 ~", G: "b4@7 ~@5 b4@4 b4@4 b4@4",
H: "[a4@11 ~ a4@4 a4@11 ~ b4@4 e4@7 ~ a4@7 ~]/2", I: "f#4@7 ~@5", J: "~@3 c#5 a4 c#5",
K: "d5@7 ~ g4@4 b4@4 g4@4 b4@4", L: "c#5@7 ~ a4@7 ~@9", M: "~@3 a4 b4!2", N: "b4@7 ~@5 a4@4 a4@4 a4@4",
O: "a4@7 ~ d4@7 ~ f#4@7 ~", P: "g#4@11 ~ g#4@4 a4@7 ~", Q: "f#4@7 ~ e4@7 ~ e4@7 ~", R: "c#4@7 ~@5",
S: "~@3 a4 c#5 a4", T: "d5@7 ~ f#4@7 ~ b4@7 ~", U: "[a4@11 ~ a4@4 d4@11 ~ b4@4 e4@7 ~ a4@7 ~]/2",
V: "f#4@7 ~@5 a4@4 c#5@4 a4@4", W: "d5@7 ~ e4@7 ~ b4@7 ~", X: "f#4@11 ~",
Y: "[d4,b4]@7 ~@5 [b4,d5]@4 [b4,d5]@4 [b4,d5]@4", Z: "[b3,b4]@7 ~@5 [e4,b4]@4 [g4,b4]@4 [e4,b4]@4",
AA: "[c#4,a#4]@7 ~@5 [f#4,b4]@4 [f#4,b4]@4 [f#4,b4]@4", AB: "[e4,g4]@7 ~@5 [e4,g4]@4 [e4,g4]@4 [e4,g4]@4",
AC: "[c#4,f#4]@7 ~@5 [c#4,f#4]@4 [c#4,c#5]@4 [c#4,a#4]@4", AD: "[b3,f#4]@7 ~@5 [b3,f#4]@4 [b3,f#4]@4 [b3,f#4]@4",
AE: "[b3,g4]@7 ~@5 [b3,b4]@4 [e4,b4]@4 [e4,b4]@4", AF: "[e4,c#5]@7 ~@5 [e4,c#5]@4 [e4,c#5]@4 [e4,c#5]@4",
AG: "[d4,d5]@7 ~@5 [d4,d5]@4 [d4,d5]@4 [d4,b4]@4", AH: "g#4@7 ~@5 g#4@4 c#4@4 c#4@4", AI: "a3@7 ~@5 f#4@4 g#4@4 a4@4",
AJ: "g#4@7 ~@5 g#4@4 g#4@4 g#4@4", AK: "a4@7 ~@5 a4@4 c#4@4 c#4@4", AL: "b3@7 ~@5 b3@4 b3@4 b3@4",
AM: "b4@7 ~@5 d4@4 d4@4 d4@4", AN: "[g#3,g#4]@11 ~ [f4,g#4]@4 [f#4,a4]@7 ~",
AO: "d4@7 ~@5 d#4@4 [c#4,f4]@7 ~, f#4@11 ~@13, ~@8 d4@7 ~@9", // C#
AP: "[c#4,f#4]@7 ~@5 [f#4,a#4]@4 [f#4,a#4]@4 [f#4,a#4]@4", AQ: "[f#4,b4]@7 ~@5 [d#4,f#4]@4 [d#4,f#4]@4 [d#4,f#4]@4",
AR: "[e4,g#4]@7 ~@5 [g#4,b4]@4 [g#4,b4]@4 [g#4,b4]@4", AS: "[e4,a4]@7 ~@5 [c#4,e4]@4 [c#4,e4]@4 [c#4,e4]@4",
AT: "[d4,a4]@7 ~@5 [d4,f#4]@4 [g4,b4]@4 [g4,b4]@4", AU: "[f#4,c#5]@7 ~@5 [a#4,c#5]@4 [a#4,c#5]@4 [a#4,c#5]@4",
AV: "[a#4,c#5]@7 ~@5 [a#4,c#5]@4 [a#4,c#5]@4 [a#4,c#5]@4", AW: "[a#4,c#5]@11 ~ [c#4,e4]@4 [d4,f#4]@7 ~",
AX: "~@4 g4@4 [d4,f#4]@7 ~ [c#4,f#4]@7 ~", AY: "[d4,f#4]@7 ~@5 [d4,f#4]@4 [d4,f#4]@4 [d4,f#4]@4",
AZ: "[d#4,f#4]@7 ~@5 [d#4,f#4]@4 [d#4,f#4]@4 [d#4,b4]@4", BA: "[e4,b4]@7 ~@5 e4@4 e4@4 [e4,g4]@4",
BB: "[d#4,f#4]@7 ~@5 [d#4,f#4]@4 [d#4,f#4]@4 [d#4,f#4]@4", BC: "[c#4,e4]@7 ~@17",
BD: "[a#3,c#4]@11 ~ c#4@4 [b3,d4]@7 ~", BE: "b3@7 ~ [d4,f#4]@7 ~ f#4@7 ~", BF: "[d4,f#4]@11 ~",
BG: "[a4@11 ~ a4@4 ~ d4@12 b4@4 ~ e4@8 a4@8 ~@2 f#4@25 ~@19]/4",
})).s("gm_viola").gain(0.36)
// bass · contrabass · "ContraBs"
const bass = note(`<
A B C@2 D E F G H@2 I ~@6 J E K ~ L M N O P Q ~@3 R S T@2 U V W X Y Z B C@2 D E F G H@2 I ~@6 J E K ~ L M N O P Q ~@3
R S T@2 U V W X Y AA AB AC AD AE AF AD AG AH AI AJ@3 AK AL AM AN AE AO AP AG AQ AR@2 AS AT AU AV@3 AW@2 AX@2 AY Z B
C@2 D E F G H@2 I ~@6 J E K ~ L M N O P Q ~@3 R S T@2 U V AZ BA@3
>`.pickRestart({
A: "~@8 f#2@7 ~ a2@7 ~", B: "d3@4 f#2@7 ~ a2@4 d3@4 f#2@4", C: "a2@4 c#3@7 ~ a2@4 d3@4 f#2@4",
D: "a2@7 ~@5 a2@4 f#2@4 a2@4", E: "b2@7 ~@5 g2@4 e2@4 g2@4", F: "a2@7 ~@5 f#2@4 d2@4 f#2@4",
G: "g2@7 ~@5 e2@4 g2@4 e2@4", H: "[a2@11 ~ a2@4 d3@11 ~ g2@4 a2@7 ~ a1@7 ~]/2", I: "d2@7 ~@5", J: "~@3 a2 f#2 a2",
K: "a2@7 ~ d2@7 ~@9", L: "~@3 d2 b1 d2", M: "e2@7 ~@5 c#2@4 a1@4 c#2@4", N: "d2@7 ~@5 d2@4 d3@4 d3@4",
O: "d3@11 ~ d3@4 c#3@4 b2@4", P: "c#3@4 a2@4 e3@7 ~ e2@7 ~", Q: "a2@7 ~@5", R: "~@3 f#2 a2 f#2",
S: "b2@7 ~@5 e2@4 g2@4 e2@4", T: "[a2@11 ~ a2@4 b2@11 ~ g2@4 a2@7 ~ a1@7 ~]/2", U: "d2 d3 a2 f#2 a2 f#2",
V: "b2@11 ~ e2@4 g2@4 e2@4", W: "a2@11 ~ a2@4 b2@7 ~", X: "g2@7 ~ a2@7 ~ a1@7 ~", Y: "d2@11 ~",
Z: "d2@7 ~ f#2@7 ~ a2@7 ~", AA: "b1@7 ~@5 b1@4 d2@4 b1@4", AB: "g2@7 ~@5 c#2@4 e2@4 c#2@4",
AC: "f#2@7 ~@5 b1@4 d2@4 b1@4", AD: "e2@7 ~@5 e2@4 g2@4 e2@4", AE: "f#2@7 ~@5 f#2@4 a#2@4 f#2@4",
AF: "b2@7 ~@5 b1@4 d2@4 b1@4", AG: "a2@7 ~@5 a1@4 c#2@4 a1@4", AH: "d2@7 ~@5 d2@4 b1@4 d2@4",
AI: "c#2@7 ~@5 c#2@4 c#3@4 c#2@4", AJ: "c#3@7 ~@5 c#2@4 c#3@4 c#2@4", AK: "d2@7 ~@5 d2@4 d3@4 d2@4",
AL: "d3@7 ~@5 d2@4 d3@4 d2@4", AM: "c#2@11 ~ c#3@4 d3@7 ~", AN: "b2@7 ~ c#3@7 ~ c#2@7 ~",
AO: "b2@7 ~@5 b1@4 d#2@4 b1@4", AP: "e2@7 ~@5 e2@4 g#2@4 e2@4", AQ: "d2@7 ~@5 d2@4 g2@4 e2@4",
AR: "f#2@7 ~@5 c#3@4 a#2@4 c#3@4", AS: "f#2@11 ~ e2@4 d2@7 ~", AT: "e2@7 ~ f#2@7 ~ f#1@7 ~",
AU: "b1@7 ~@5 b1@4 b2@4 b1@4", AV: "b2@7 ~@5 b1@4 b2@4 b1@4", AW: "e2@7 ~ e2@7 ~ e2@7 ~",
AX: "[e2@11 ~ e2@4 d2@11 ~ e2@4 f#2@7 ~ f#1@7 ~]/2", AY: "b1@11 ~", AZ: "a2@11 ~ a2@4 ~ b2@7",
BA: "[~ g2@8 ~ a2@8 a1@8 ~@2 d2@25 ~@19]/3",
})).s("gm_contrabass").gain(0.36)
stack(oboe, english_horn, trumpet, violin, violin_2, viola, bass)
More by George Frideric Handel
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.