0:00/0:00
// Piano Sonata No.19 Op.49 No.1 — Ludwig van Beethoven
// 132 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: metre changes (4/4 at bar 1, 1/4 at bar 175, 3/4 at bar 176, 2/4 at bar 274) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/56374; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 274 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/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 · violin · "Violine"
const violin = note(`<
A B C D E F G H I J K L M N O P O P Q R S T U V W@2 X Y S T U V Z@2 AA AB AC AD AE AF AG AH AD AI AJ AK AL AM AN AO AP
AQ A B C D E F G H I J K L M N O P O P Q R S T U V W@2 X Y S T U V Z@2 AA AB AC AD AE AF AG AH AD AI AJ AK AL AM AN AO
AP AQ AR AS AT AU AV AW AX AY AZ AY BA BB BC K A B C D E F BD BE BF BG BH BI BJ BK BL BM P O P Q BN BO BP BQ BR BS@2
BT BU BV BW BX BY BZ@2 CA CB CC CD CE CF CG CH CD CI CJ CK CL CM CN CO CN CO CP CQ CR ~ CS CT@2 CU@3 CV@3 CW@2 CX@2 CY
CZ DA@3 DB@2 DC@2 DD@2 DE@4 DF@5 DG DH@3 DI@2 DJ@3 DK@2 DL@2 DM DN DO@3 DP@2 DQ@2 DR@2 DS DT DU@2 DV DW@3 DX DY@2 DZ
EA EB EC DJ@3 DK@2 DL@2 DM DN DO@3 DP@2 DQ@2 ED EE@3 EF@2 EG@3 EH EI
>`.pickRestart({
A: "[g3,d4,b4,g5]@6 d4 g4 b4 d5 c5 a4", B: "g4!2 f#4 g4", C: "a4@3 a4 b4@3 b4", D: "d5@6 c5 d5 c5 b4 c5 ~ b4@3 ~@9",
E: "[g3,d4,b4,g5]@6 d5 g5 b5 d6 c6 a5", F: "g5!2 f#5 g5", G: "a5@3 a5 b5@3 b5",
H: "d6@6 c6 d6 c6 b5 c6 ~ b5@3 c6@3 c#6@3 d6@3", I: "d#6 e6 ~ e6 d6 c6 b5 a5", J: "c#6 d6 ~ d6 c6 b5 a5 g5",
K: "f#5 e5 d5 c5 b4 a4 g4 f#4", L: "g4@3 a4 g4 f#4 g4@3 a4@3 b4@3 c5@3 c#5@3 d5@3", M: "d#5 e5 ~ e5 d5 c5 b4 a4",
N: "d#5 e5 ~ e5!2 c#5 a4 g4", O: "f#4@3 ~@3 a5@2 f#5@2 d5@2 c5@3 ~@3 a5@2 f#5@2 c5@2",
P: "b4@3 ~@3 g5@2 d5@2 b4@2 g4@3 ~@3 d5@2 b4@2 g4@2", Q: "d4@3 ~@3 d5@2 b4@2 g4@2 d4@3 ~@3 d5@2 b4@2 g4@2",
R: "d4@3 ~@12 a4 ~@2 a4 ~@2 a4 ~@2", S: "d5 c#5 d5 e5", T: "g5@3 f#5@3 e5@6 ~@3 a4 ~@2 a4 ~@2 a4 ~@2",
U: "e5 d5 e5 f#5", V: "a5 g5 f#5@2 ~ a5 g5 f#5", W: "f#5@3 e5@3 e5 ~@2 e5 ~@2 d5@3 a5@3 g5@3 f#5@3",
X: "f#5@3 e5@3 ~@3 e5 ~@2 e5@3 d5@3 ~@3 d5 ~@2", Y: "d5 c#5 b4 a4 g#4 a4 b4 c#5",
Z: "f#5@3 e5@3 e5 ~@2 e5 ~@2 d5 ~@2 a5@3 g5@3 f#5@3", AA: "f#5 e5 g5 e5!2 d5!2 c#5",
AB: "d5 a5 g5@2 f#5@2 e5@2 d5@2 c#5@2 b4@2 a4@2 g4@2 f#4@2 e4@2 d4@2", AC: "c#4 ~ c#4 ~ c#4 ~ c#4 ~",
AD: "d4 e4 f#4 g4 a4 b4 c#5 d5 e5 f#5 g5 a5", AE: "g5 ~ g5 ~ g5 ~ g5 ~",
AF: "f#5 a5 g5@2 f#5@2 e5@2 d5@2 c#5@2 b4@2 a4@2 g4@2 f#4@2 e4@2 d4@2", AG: "c4 ~ c4 ~ c4 ~ c4 ~",
AH: "b3@2 d4@2 g4@2 b4@2 g4@2 e4@2 d4@6 f#4 e4@5", AI: "[d5,b5]", AJ: "a5 ~ g5 ~ f#5 ~ e5 ~",
AK: "a5 g5 f#5 e5 d5 c#5 b4 a4 g4 f#4 e4 d4", AL: "b4", AM: "a4 ~ g4 ~ f#4 ~ e4 ~",
AN: "d4@3 ~@3 a5@2 f#5@2 d5@2 c#5@3 ~@3 g5@2 e5@2 c#5@2", AO: "d5@3 ~@3 a4@2 f#4@2 d4@2 c#4@3 ~@3 g4@2 e4@2 c#4@2",
AP: "d4@3 ~@3 a4@2 f#4@2 d4@2 c#4@3 ~@3 g4@2 e4@2 c#4@2", AQ: "d4 ~ d4@2 d4@2 ~@2", AR: "d5@6 d5 f5 e5 d5 c5 b4",
AS: "a4 g#4 a4 b4", AT: "c5 d5 e5 d5", AU: "e5 [e5,a5]@12 ~ c6@2 b5@2 a5@2 g5@2 f#5@2, c5 ~", AV: "e5 d#5 e5 f#5",
AW: "g5@9 f#5 g5 ~ a5@3 g5@3 f#5@3 e5@3", AX: "d#5@6 ~@3 b5 ~@2 a5@3 ~@6 f#5 ~@2",
AY: "g5@3 ~@6 g5 ~@2 f#5@3 ~@3 g5@3 ~@3", AZ: "f#5@3 ~@6 b5 ~@2 a5@3 ~@6 f#5 ~@2", BA: "f#5 ~@7", BB: "g5 ~@7",
BC: "c6 b5 c6 b5 c6 b5 a5 g5", BD: "a5@2 ~ a5 b5@2 ~ b5", BE: "c6 g5 a5 f5 e5 g5 f5 d5",
BF: "c5 g5 f5@2 e5@2 d5@2 c5@2 b4@2 a4@2 g4@2 f4@2 e4@2 d4@2 c4@2", BG: "b3 ~ b3 ~ b3 ~ b3 ~",
BH: "c4 d4 e4 f4 g4 a4 b4 c5 d5 e5 f5 g5", BI: "f5 ~ f5 ~ f5 ~ f5 ~", BJ: "e5 d5 c5 b4 a4 g4 f4 e4 d4 c4 b3 a3",
BK: "g#3 ~ g#3 ~ g#3 ~ g#3 ~", BL: "a3 ~ a4@4 g4@2", BM: "f#4@6 a5@2 f#5@2 d5@2 c5@3 ~@3 a5@2 f#5@2 c5@2",
BN: "d4@3 ~@12 d4 ~@2 d4 ~@2 d4 ~@2", BO: "g4 f#4 g4 a4", BP: "c5@3 b4@3 a4@6 ~@3 d4 ~@2 d4 ~@2 d4 ~@2",
BQ: "a4 g4 a4 b4", BR: "d5 c5 b4@2 ~ d5 c5 b4", BS: "b4@3 a4@3 a4 ~@2 a4 ~@2 g4@3 d5@3 c5@3 b4@3",
BT: "b4@3 a4@3 ~@3 a4 ~@2 a4@3 g4@3 ~@3 g4 ~@2", BU: "f#4 ~@2 g4 ~@2 a4 ~@2 b4 ~@2 c5 ~@2 d5 ~@2 e5 ~@2 f#5 ~@2",
BV: "g5 f#5 g5 a5", BW: "c6@3 b5@3 a5@6 ~@3 d5 ~@2 d5 ~@2 d5 ~@2", BX: "a5 g5 a5 b5", BY: "d6 c6 b5@2 ~ d6 c6 b5",
BZ: "b5@3 a5@3 a5 ~@2 a5 ~@2 g5 ~@2 d6@3 c6@3 b5@3", CA: "b5 a5 c6 a5!2 g5!2 f#5",
CB: "g5 d6 c6@2 b5@2 a5@2 g5@2 f#5@2 e5@2 d5@2 c5@2 b4@2 a4@2 g4@2", CC: "f#4 ~ f#4 ~ f#4 ~ f#4 ~",
CD: "g4 a4 b4 c5 d5 e5 f#5 g5 a5 b5 c6 d6", CE: "c6 ~ c6 ~ c6 ~ c6 ~",
CF: "b5 d6 c6@2 b5@2 a5@2 g5@2 f#5@2 e5@2 d5@2 c5@2 b4@2 a4@2 g4@2", CG: "f4 ~ f4 ~ f4 ~ f4 ~",
CH: "e4@2 a4@2 c5@2 e5@2 c5@2 a4@2 g4@6 a4 b4 a4 g4 a4 ~", CI: "e6", CJ: "d6 ~ c6 ~ b5 ~ a5 ~",
CK: "d6 c6 b5 a5 g5 f#5 e5 d5 c5 b4 a4 g4", CL: "e5", CM: "d5 ~ c5 ~ b4 ~ a4 ~",
CN: "g4@3 ~@3 d6@2 b5@2 g5@2 f#5@3 ~@3 c6@2 a5@2 f#5@2", CO: "g5@3 ~@3 d5@2 b4@2 g4@2 f#4@3 ~@3 c5@2 a4@2 f#4@2",
CP: "g4@3 ~@3 c5@2 a4@2 f#4@2 g4@3 ~@3 c5@2 a4@2 f#4@2", CQ: "g4 ~@3 [d4,a4,f#5]@2 ~@2", CR: "[g3,d4,b4,g5] ~@3",
CS: "g4@5 f#4@2 f#4@13 f#4@4", CT: "[~ g4 g4@13 ~ g4@5 ~ d5@10 e5@3 d5@3 ~ c5@3 b4@6, ~@21 b4@2 ~@25]/2",
CU: "[~ g4@3 ~@3 g4@5 f#4@2 f#4@13 f#4@5 g4@2 g4@13 g4@5 ~ d5@10 c#5@3 ~ c5@3 a4@2, ~@26 b4 ~@9]/3",
CV: "[~ g4@7 ~@6 b4@5 b4@2 b4@7 c5@3 ~@3 c5@5 c5@2 c5@6 b4@3 ~@4 b4@5 b4@2 b4@3 a4@3 g#4@3 a4@2]/3",
CW: "[~@2 d#5@3 e5@3 g4@7 f#4@3 ~@4 g5@5 f#5 f#5@13 f#5@5 g5@2]/2",
CX: "[g5@13 g5@5 b5@2 d6@10 e6@3 d6@3 c6@3 ~ b5@6 g5@2]/2", CY: "~@5 g5@5 f#5 f#5@13", CZ: "~ f#5@5 g5 g5@13 g5@4",
DA: "[~ b5@2 d6@7 ~ c#6@2 d6@2 ~ d6@2 ~ b5@2 a5@2 g5@3 ~@10 d5@7 g5@7 ~@6 f#5@6 e5@7 ~@3, ~@10 d6@2 ~@3 c#6@2 ~ c6@2 ~@52]/3",
DB: "[~@4 d5@6 d5@3 ~@4 d5@3 ~@3 d5@3 ~@4 d5@7 ~@11]/2",
DC: "[~@3 d5@2 e5@2 ~ g5@2 a5@2 ~ c#6@2 d6@2 ~ d6@2 ~@3 d5@2 e5@2 ~ g5@2 ~ b5@2 c#6@2 d6@2 ~ d6@2 ~ b5@3 ~ a5@3, ~@7 f#5@2 ~@3 b5@2 ~@13 f#5@2 ~ a5@2 ~@16]/2",
DD: "[g5@3 f#5@3 ~ e5@3 d5@3 c#5 a5@9 b5@2 ~ g5@2 ~@3 g5@2 f#5@2 ~ g5@2 f#5@2 e5@2 ~ f#5@2 ~ d5@2, ~@25 a5@2 ~@3 a5@2 ~@13 e5@2 ~]/2",
DE: "[~ e5@2 d5@2 c#5@7 ~@3 c#5@3 d5@2 ~ b4@2 c#5@2 d5@7 ~@2 d5@3 ~@2 d5@2 c#5@2 ~ a5@10 b5@2 a5@2 g5@2 ~ a5@2 ~ f#5@2 ~ g5@2 f#5@2 e5@2 ~ f#5@2 ~ d5@2 ~@3 d5@2 c#5@3 ~@7 c#5@2, ~@20 c#5@2 ~@16 e5@2 ~@3 d5@2 ~@18 g5@2 ~@11 e5@2 ~@3 e5@2 ~@13]/4",
DF: "[~ e5@2 ~ c#5@2 d5@2 e5@5 ~ d5@7 c#5@7 d5@3 e5@2 ~ g5@2 ~ b5@2 c#6@2 d6@2 ~ d6@2 ~ d6@3 ~ a5@3 a5@3 f#5@3 ~ f#5@3 d5@3 d5@13 e5@5 c#5@2 d5@3 e5@2 f#5@2 ~ a5@2 b5@2 ~ d6@2 ~ d6@2 ~@2 d6@2 a5@2 a5 ~ a5@2 ~ f#5@2 f#5 ~, ~@3 d5@2 ~@8 g5@2 ~@18 f#5@2 ~ a5@2 ~@56 g5@2 ~@3 c#6@2 ~@19]/5",
DG: "f#5@2 d5@2 d5 ~@2 d5@13 e5@4",
DH: "[~@2 d5@5 d5@2 c#5@5 d5@2 c5@5 ~ b4@5 d5@2 b4@5 ~ c#5@5 e5@2 d5@5 d5@2 c#5@5 ~ c5@5 d5@2 b4@5 ~ b4@4, ~ c#5@2 ~@18 d5@2 ~@11 d5@2 ~@18 d5@2 ~@11 d5@2 ~@3]/3",
DI: "[~ d5@2 c#5@5 e5@2 d5@5 ~ c#5@5 d5@2 c5@5 ~ b4@5 d5@2 a4@5 d5@2 g4@5, ~@15 d5@2 ~@11 d5@2 ~@18]/2",
DJ: "[f#4 f#4@13 f#4@5 g4@2 g4@13 g4@5 b4@2 d5@10 e5@3 d5@3 c5@3 ~ b4@6 g4@3 ~@2]/3",
DK: "[~@2 g4@5 f#4 f#4@13 ~ f#4@5 g4 g4@13 g4@5 b4@2]/2",
DL: "[d5@10 c#5@3 c5@3 a4@3 ~ g4@7 ~@6 b4@5 b4@2 b4@6 c5@2]/2", DM: "~@5 c5@5 c5 c5@7 b4@3 ~@3",
DN: "~ b4@5 b4 b4@3 a4@3 ~ g#4@3 a4@3 d#5@3 ~",
DO: "[e5@3 g4@7 f#4@3 ~@3 g5@5 f#5@2 f#5@13 f#5@5 g5@2 g5@13 g5@5 ~ d6@10, ~@61 b5@2 ~@9]/3",
DP: "[e6@3 ~ d6@3 c6@3 b5@7 g5@3 ~@3 g5@5 f#5@2 f#5@13 f#5@5]/2",
DQ: "[g5@2 g5@13 g5@5 b5@2 d6@6 d6@2 ~ d6@2 c#6@2 ~ c6@2 b5@2 ~ g5@3 ~@4, ~@30 c#6@2 ~@3 d6@2 ~@3 a5@2 ~@6]/2",
DR: "[~@7 c5@5 ~ g5@10 e5@2 ~ f5@2 ~@2 d5@2 ~ c5@7 c5@3 g4@2 ~ c5@2, ~@6 e5 ~@17]/2",
DS: "~ e5@2 ~@2 g5@10 e5@2 ~ f5@2 ~ d5@2 ~", DT: "~ c5@7 ~@2 c5@3 ~ b4@3 c5@3 d5@3 ~",
DU: "[b4@3 g4@2 ~ d5@3 ~ c5@3 d5@3 e5@3 c5@3 ~ g4@2 ~ e5@3 d5@3 ~ e5@3 f5@3 g5@3 ~ a5@3 e5@2]/2",
DV: "~ f5@3 d5@3 ~ c5@6 b4@3 ~ g4@3 c5@3",
DW: "[e5@3 ~ g5@9 e5@2 ~@2 f5@2 ~ d5@2 ~ c5@7 c5@3 g4@2 ~@2 c5@2 ~ e5@2 ~ g5@10 e5@2 ~ f5@2 ~@2 d5@2 ~ c5@7 ~@2]/3",
DX: "~ c5@3 b4@3 c5@3 ~ d5@3 b4@3 g4@2 ~@2 d5@3",
DY: "[c5@3 d5@3 ~ e5@3 c5@3 g4@2 ~ e5@3 ~ d5@3 e5@3 f#5@3 ~ c5@3 a4@2 ~ f#5@3 ~ e5@3 f#5@3 g5@2]/2",
DZ: "~ d5@3 ~ b4@2 ~ g5@3 a5@3 ~ b5@3 c6@3 b5@3", EA: "~ a5@3 g5@3 f#5@3 e5@3 ~ d5@3 c5@3 b4@3 ~",
EB: "a4@3 g4@3 f#4@3 ~ e4@3 d4@3 ~@8", EC: "~@19 g4@5", ED: "~@7 g5@5 f5 f5@7 ~@4",
EE: "[~@2 f5@5 e5@2 e5@7 ~@6 e5@5 d5@2 d5@7 ~@6 d5@5 c5@2 c5@7 ~@6 c5@5 ~ g4@3 ~, ~@67 a4@2 ~@3]/3",
EF: "[f#4@3 d5@10 g4@3 g4@3 f#4@3 ~ d5@10 b4@3 ~@3 a4@2 c5@2 ~@3 g4@2]/2",
EG: "[b4@2 ~@2 f#4@2 a4@2 ~ g4@2 a4@2 ~ c5@2 d5@2 ~ f#5@2 g5@2 ~ b5@2 g5@2 f#5@2 ~ d6@6 d6@3 ~@2 b5@2 a5@2 ~ f#5@2 d6@2 ~ d6@2 c#6@2 ~ c#6@2 d6@2 ~ b5@2 a5@2 ~ d#6@2 ~ d#6@2, ~@13 b4@2 ~@3 e5@2 ~@3 a5@2 ~@16 c6@2 ~@3 g5@2 ~@3 c#6@2 ~@3 d6@2 ~@3 c6@2 ~@3 g5@2 ~ e6@2 ~]/3",
EH: "e6@2 g5@6 b5@2 a5@2 ~ a5@2 g5@7 ~@2, ~@6 g5 ~@5", EI: "~@4 [d4,a4,f#5]@7 [g3,d4,b4,g5]@7 ~@6",
})).s("gm_violin").gain(0.29)
// other · french horn · "Horn in F"
const french_horn = note(`<
A ~@3 A B@2 ~ C@2 D E C@2 F G F G H I J@2 ~@2 K@2 L M N@4 O@2 P Q F I F I R S ~@8 T U A ~@3 A B@2 ~ C@2 D E C@2 F G F
G H I J@2 ~@2 K@2 L M N@4 O@2 P Q F I F I R S ~@8 T U V W@2 ~ X@2 Y Z AA Z AB AC ~ AD A ~@3 A B@2 ~@2 AE AF AG AH ~ AI
AJ AG AK G H I AL@2 AM@2 AN@2 AO AP AQ@4 AR@2 AS AT AU AV F AW AX AY AZ BA BB ~ BA BB BC@4 BD BE E ~ BF BG@2 BH BI@6
BJ BK@2 BL BM BN@3 BO@2 BP@2 ~@6 BQ@2 ~ BR ~ BS@3 BT BU BV BW@2 BX BY BZ CA@2 CB CC@4 CD@2 CE CF CG@2 CH CI CJ@2 CK
CL@3 CM CN CO CP CQ ~ BV BW@2 BX BY BZ CA@2 CB CR@4 CD@2 CE CF CS@2 CT@4 CU CV@3 CW
>`.pickRestart({
A: "g4 ~", B: "[~ d5@2 d5@2 d5@2 d5@2 d5@2 d5@2 d5@2 d5]/2", C: "~ a4 ~@2", D: "c5 ~ d5 ~", E: "g4 ~@3", F: "a4",
G: "b4", H: "a4 b4 a4 b4", I: "f#4 ~@3", J: "[~@3 a4@2 a4@2 a4@2 a4@2 a4 ~@4]/2", K: "b4@4 a4 ~@3", L: "~ g4 ~ g#4",
M: "a4@2 a3 ~@5", N: "[~ a4@2 a4@2 a4@2 a4@2 a4@2 a4 ~@4]/2", O: "b4@2 a4 ~", P: "~ g4 a4 a3", Q: "d4 ~@3", R: "a3",
S: "~ g3 f#3 g3", T: "~@6 a4@2 f#4@2 d4@2 c#4@3 ~@3 g4@2 e4@2 c#4@2", U: "d4 ~ f#3@2 f#3@2 ~@2", V: "f4 ~",
W: "[~ e4@2 e4@2 e4@2 e4@2 e4@2 e4@2 e4@2 e4]/2", X: "[~ b4@2 b4@2 b4@2 b4@2 b4@2 b4@2 a#4@2 a#4]/2",
Y: "b4@3 ~@6 g4 ~@2 f#4@3 ~@6 d5 ~@2", Z: "e5@3 ~@6 e5 ~@2 d#5@3 ~@3 e5@3 ~@3",
AA: "d#5@3 ~@6 g4 ~@2 f#4@3 ~@6 d5 ~@2", AB: "d#5 ~@3", AC: "e4 d#4 e4 d#4 e4 d4 c4 b3", AD: "~ c4", AE: "g3",
AF: "e3 ~@3", AG: "g4", AH: "e4 ~@3", AI: "c4 c#4", AJ: "d4 a4", AK: "f#4",
AL: "[~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 ~@3]/2", AM: "[~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 ~]/2", AN: "e4@4 d4 ~@3",
AO: "~@2 e4 ~@3 e4 ~", AP: "d4 ~@7", AQ: "[~ d5@2 d5@2 d5@2 d5@2 d5@2 d5@2 ~@3]/2", AR: "e5@2 f#5@2 d5 ~@3",
AS: "~ c5 d5 d4", AT: "g4 ~@7", AU: "c4", AV: "b3 ~@7", AW: "b4 ~@7", AX: "g4 g#4", AY: "a4@2 b4 c5", AZ: "b4 ~@3",
BA: "c5", BB: "b4 ~ a4 ~ g4 ~ f#4 ~", BC: "b4 c5", BD: "b4 c5 b4 c5", BE: "b4 ~ d5 ~", BF: "b4@3 ~@4 c5@7 ~@6 c5@3 ~",
BG: "[~@2 b4@7 ~@7 b4@3 ~@3 a4@7 ~@6 a4@3 ~@4 b4@6]/2", BH: "~@7 b4@3 ~@4 c5@7 ~@3",
BI: "[~@3 c5@3 ~@4 b4@7 ~@6 b4@3 ~@10 c5@7 c5@6 b4@7 ~@13 f#4@7 g4@3 ~@10 g4@6 f#4@3 ~@17 c4@7 c4@6 b3@7 a3@3 ~@6]/6",
BJ: "~@4 c5@7 ~@6 c5@3 ~@4", BK: "[b4@7 ~@6 b4@3 ~@4 a4@7 ~@6 a4@3 ~@4 b4@7 ~]/2", BL: "~@5 b4@3 ~@3 c5@7 ~@6",
BM: "~ c5@3 ~@3 b4@7 ~@6 b4@3 ~", BN: "[~@10 c5@6 c5@7 b4@7 ~@6 b4@7 e5@7 ~@6 d5@6 c5@7 ~@3]/3",
BO: "[~@4 b4@6 c5@3 ~@4 c5@3 ~@3 c5@3 ~@4 b4@3 d4@3 ~ e4@3 f#4@3 g4@3 a4@2]/2",
BP: "[~@2 b4@7 ~@6 a4@7 g4@7 ~@6 f#4@7 ~@6]/2", BQ: "[~@11 g4@3 f#4@3 ~@4 e4@7 f#4@7 ~@13]/2",
BR: "~@2 f#4@6 g4@7 f#4@7 ~@2", BS: "[~@13 f#4@7 g4@6 f#4@7 ~@7 f#4@6 g4@7 ~@6 e4@7 f#4@6]/3",
BT: "~@7 f#4@7 g4@7 ~@3", BU: "~@3 e4@7 f#4@7 ~@7", BV: "~@19 b4@3 ~@2",
BW: "[~ c5@7 ~@6 c5@3 ~@4 b4@7 ~@6 b4@3 ~@4 a4@7]/2", BX: "~@6 a4@3 ~@4 b4@7 ~@4", BY: "~@2 b4@3 ~@3 c5@7 ~@7 c5@2",
BZ: "~@4 b4@7 ~@6 b4@3 ~@4", CA: "[~@7 c5@6 c5@7 b4@7 ~@13 f#4@6 g4@2]/2", CB: "~@11 g4@7 f#4@3 ~@3",
CC: "[~@14 c4@6 c4@7 b3@7 a3@3 ~@10 c5@7 ~@6 c5@3 ~@4 b4@7 ~@6 b4@3 ~@3 a4@7 ~@3]/4",
CD: "[~@4 a4@3 ~@3 b4@7 ~@6 b4@3 ~@4 c5@7 ~@6 c5@3 ~@2]/2", CE: "~@2 b4@7 ~@6 b4@3 ~@6", CF: "~@4 c5@7 c5@6 b4@7",
CG: "[~@13 e5@10 g4@2 ~ a4@2 ~@2 f4@2 ~ e4@7 e4@3 g4@2 ~ c5@2]/2", CH: "~ e5@2 ~@2 e5@10 g4@2 ~ a4@2 ~ f4@2 ~",
CI: "~ e4@7 ~@16", CJ: "[~@3 d4@3 ~@17 e4@3 ~@20 c#4@2]/2", CK: "~ d4@3 f4@3 ~ e4@6 d4@3 ~@7",
CL: "[~@4 e5@9 g4@2 ~@2 a4@2 ~ f4@2 ~ e4@7 e4@3 g4@2 ~@2 c5@2 ~ e5@2 ~ e5@10 g4@2 ~ a4@2 ~@2 f4@2 ~ e4@7 ~@2]/3",
CM: "~@17 d4@3 ~@4", CN: "~@13 e4@7 ~@4", CO: "~@9 d4@7 ~@8", CP: "~@5 d4@7 ~@12", CQ: "~ d4@7 ~@16",
CR: "[~@14 c4@6 c4@7 b3@7 a3@3 ~@3 b4@3 ~@4 c5@3 ~@10 c5@3 ~@4 b4@7 ~@6 b4@3 ~@3 a4@7 ~@3]/4",
CS: "[~@16 g4@7 g4@7 g4@6 e4@7 e4@5]/2",
CT: "[~ e4@7 e4@7 e4@6 e4@7 e4@6 e4@7 e4@3 c4@7 a3@7 b3@6 c4@7 a3@6 b3@7 c4@3 ~@9]/4", CU: "~@8 g4@7 ~@9",
CV: "[b4@3 ~ c5@6 a4@7 b4@6 c5@7 a4@7 b4@6 c5@7 b4@6 c5@7 b4@3 ~@6]/3", CW: "~@4 c4@7 b3@7 ~@6",
})).s("gm_french_horn").gain(0.26).pan(0.3)
// other · french horn · "Horn in F" · soft notes
const french_horn_soft = note(`<
~@20 A B C@2 ~@18 D E F ~ E F G H@2 ~@21 A B C@2 ~@18 D E F ~ E F G H@2 ~@171
>`.pickRestart({
A: "~ a4@2 ~@5", B: "~@2 a4 ~", C: "[~ a4@2 a4@2 a4@2 a4@2 a4@2 a4 d5@2 ~@2]/2", D: "f#3 ~@3", E: "g4",
F: "f#4 ~ e4 ~ d4 ~ c#4 ~", G: "d4 ~ a4@6", H: "[a4@5 ~@3]/2",
})).s("gm_french_horn").gain(0.17).pan(0.3)
stack(violin, french_horn, french_horn_soft)
More by Ludwig van Beethoven
5th SymphonyC minor · 160 bpmFur EliseA minor · 105 bpm12 Variations on 'Menuet a la Vigano' WoO 68D major · 120 bpmAir from 'little Russia' Op.107 No.3B♭ major · 120 bpmChristus am Ölberge Op.85C major · 156 bpmCoriolan Op.62E♭ major · 150 bpmDie Ruinen von Athen Op.113E major · 84 bpmDuett mit zwei obligaten AugengläsernE♭ major · 71 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.