0:00/0:00
// Overture to Poet and Peasant — Franz Von Suppe
// 160 bpm, 2/4, 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: metre changes (4/4 at bar 1, 2/4 at bar 286, 3/8 at bar 358, 2/4 at bar 409, ...) are rendered on a constant 2/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5733821; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 673 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(160/2)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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(`<
~@58 A@4 B C@5 D@4 E@2 ~@166 F@2 G@4 H I J K ~@6 L@2 M@4 N O P Q R S R S R S R T U ~@3 V ~@3 V@2 W X Y Z AA AB AC AD
AE AF Y Z AA AG ~ AH AI AJ AK AL@2 AM AN AO@2 AP AQ AR@4 AS AT AU@2 AV@5 AW AX AY AV@5 AW AZ BA BB BC BD ~@4 BE BF BG
BH ~@71 BI BJ BK@3 ~ BL@3 ~ BM@5 ~@3 BN@8 BO BP@8 BQ@4 BR@6 BS@7 ~@93 BT BU BV BW BX ~ BY BZ@2 ~ CA CB@4 ~@3 BY CC@7
CD@8 CE CF CG CH CI@2 CJ@2 CE CF CG CH CK@2 CL CM CN CO@5 CP CQ@2 CR@8 CS CL CM CN CO@5 CP CQ@2 CR@8 CS CT CU CT CU
CV@3 CW@6 CX@8 CY@2
>`.pickRestart({
A: "[~@12 f#5@28 ~ f#5@5 f#5@4 f#5@9 ~ a5@4]/4", B: "~ a5@5 a5@9 ~", C: "[d6@4 d6@5 d6@71]/5",
D: "[~@7 f#6@37 ~@2 f#6@18]/4", E: "[~ e6@18 ~ d6@9 ~@3]/2", F: "[g5@15 ~]/2",
G: "[a#5 d6@2 c6@2 a#5@2 a5@2 g5@2 f5@2 d#5@2 d5]/4", H: "c5 a#4 ~@2", I: "d#5 d5 ~@2", J: "g5 f5 ~@2",
K: "c6 a#5 ~@2", L: "[d6@15 ~]/2", M: "[a5 d6@2 c6@2 a#5@2 a5@2 g5@2 f5@2 e5@2 d5]/4", N: "d5 a4 ~@2", O: "f5 d5 ~@2",
P: "a5 f5 ~@2", Q: "a#5 a5 ~@2", R: "f6!8", S: "f6@2 d6 e6 f6 g6 f6 e6", T: "f6@2 e6 f6 g6 f6 e6 d6", U: "c#6 ~ a6@2",
V: "~ a6", W: "~@2 a6 ~", X: "a6 ~ a6 ~", Y: "a6@11 ~ g6@2 f6@2", Z: "f6@11 ~ e6@2 d6@2", AA: "d6@11 ~ c6@2 a#5@2",
AB: "a5@11 ~ g5@2 f5@2", AC: "d#5@11 ~ d5@2 d#5@2", AD: "g5@11 ~ a#5@4", AE: "a#5@11 ~ a5@2 g#5@2",
AF: "a5@11 ~ g#5@2 a5@2", AG: "a5@11 ~ a5@2 g5@2", AH: "~@6 a5 a#5", AI: "c6@11 ~ b5@2 c6@2",
AJ: "c#6@11 ~ c6@2 c#6@2", AK: "d6@11 ~ c#6@2 d6@2", AL: "d#6!8", AM: "d#6!4 a#5!2 g5!2",
AN: "d#5!2 g5!2 a#5!2 d#6!2", AO: "d6!8", AP: "d6!4 a5!2 f5!2", AQ: "d5!2 f5!2 a5!2 d6!2",
AR: "[c#6@2 c#6@2 c#6@2 c#6@2 c#6@2 c#6@2 c#6@2 c#6@4 ~ c#6@2 d6@3 e6@3 d6@2 c#6@3]/2", AS: "c#6 g6@2 g6",
AT: "~ g6@2 g6", AU: "[~ g6@2 g6@2 g6@2 g6]/2", AV: "[f6 a6@2 g6@2 f6@2 d#6@2 d6@2 c6@2 a#5@2 f#5@2 f5@2 a5]/5",
AW: "d6 c6", AX: "c6 a#5@2 d6", AY: "g6 f6", AZ: "a#5@2 g5 f5 e5 f5 g5 a5", BA: "a#5 ~ c6 ~", BB: "d6 c6 a#5 ~",
BC: "c#6 ~ d#6 ~", BD: "f6 d#6 c#6 ~", BE: "g5 ~ a5 ~", BF: "a#5 a5 g5 ~", BG: "d#6 ~ f6 ~", BH: "g6 f6 d#6 ~",
BI: "~@3 d5@2 c5@2 a#4@2 ~@2 a4@2 g4@2 f5", BJ: "g5 f5 g5 e5@2 f5@2 a#5@2 ~@2 d6@2 ~@2 g5",
BK: "[a5 g5 a5 f#5@2 g5@2 c6@2 ~@2 a#5@2 ~@2 a5@4 g5@2 f5@2 f5@2 ~@2 g5@2 f5@2 f5@2 ~@2 g5@2 f5@2 f5@2 ~@2 g5@2 f5@2 ~]/3",
BL: "[~@15 f5@4 ~@4 f5@4 ~@4 f5@11 ~@6]/3",
BM: "[~@15 g5@4 ~@4 a5@4 ~@4 g5@11 ~ f#5@2 g5@2 a5@2 g5@2 c#5@2 d5@2 d#5@2 d5@2 a4@2 a#4@2 c5@2 a#4@2 a#4@2 a4@2 g4@4 ~@5]/5",
BN: "[~@15 f5@4 e5@2 f5@2 g5@2 a5@2 a#5@2 c6@2 d#6@2 d6@2 a5@2 a#5@2 c6@2 a#5@2 f#5@2 g5@2 a5@2 g5@2 d5@2 d#5@2 f5@2 d#5@2 c5@2 g5@2 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 e5@2 f5@2 g5@2 a5@2 a#5@2 c6@2 d#6@2 d6@2 a5@2 a#5@2 c6@2 a#5@2 f#5@2 g5@2 a5@2 g5@2 d5@2 d#5@2 f5@2 d#5@2 c5@2 g5@2 f5]/8",
BO: "~ g5@2 a5@2 a#5@2 c6@2 d6@2 d#6@2 f6@2 g6",
BP: "[~ f6@2 d#6 ~ c6 ~ a5@2 g5@2 d#5 ~ c5 ~ a#4@4 a#5@2 a#5@2 a#5@4 a#5@4 a#5@4 a#5@4 a#5@4 a#5@4 c#6@4 c#6@2 c6@2 c6@2 a#5@2 g#5@2 g5@2 c#6@4 c#6@2 c6@2 c6@2 a#5@2 g#5@2 g5@2 c#6@4 c#6@2 c#6@2 c#6@4 c#6@4 c#6@4 c#6@2 c#6@2 c#6@4 c#6@4 f6@4 f6@2 d#6@2 c#6@2 c6@2 a#5@2 g#5@2 f6]/8",
BQ: "[~@3 f6@2 d#6@2 c#6@2 c6@2 a#5@2 g#5@2 f#6@4 f#6@2 f#6@2 f#6@4 f#6@4 f#6@4 f#6@2 f#6@2 f#6@4 f#6@4 f#6@2 f6@2 f#6@2 g#6@2 a6@2 g#6@2 f#6@2 f6@2 f#6]/4",
BR: "[~ f6@2 f#6@2 g#6@2 a6@2 g#6@2 f#6@2 f6@2 f#6@4 f#6@2 f#6@2 f#6@4 f#6@4 f#6@4 f#6@2 f#6@2 f#6@4 f#6@4 f#6@4 a6@8 f#6@8 d6@8 a5@8 f#5@8 d5@5]/6",
BS: "[~@3 a4@8 f#4@4 d4@87 ~@10]/7", BT: "~ d5@2 c5@2 a#4@2 ~@2 a4@2 g4@2 f5 g5 f5",
BU: "g5 e5@2 f5@2 a#5@2 ~@2 d6@2 ~@2 g5 a5 g5", BV: "a5 f#5@2 g5@2 c6@2 ~@2 a#5@2 ~@2 a5@3",
BW: "~ g5@2 f5@2 f5@2 ~@2 g5@2 f5@2 f5@2 ~", BX: "~ g5@2 f5@2 f5@2 ~@2 g5@2 f5@2 ~@3", BY: "~@13 f5@3",
BZ: "[~@5 f5@4 ~@4 f5@11 ~@8]/2", CA: "~@13 g5@3",
CB: "[~@5 a5@4 ~@4 g5@11 ~ f#5@2 g5@2 a5@2 g5@2 c#5@2 d5@2 d#5@2 d5@2 a4@2 a#4@2 c5@2 a#4@2 a#4@2 a4@2 g4@4 ~@7]/4",
CC: "[~ e5@2 f5@2 g5@2 a5@2 a#5@2 c6@2 d#6@2 d6@2 a5@2 a#5@2 c6@2 a#5@2 f#5@2 g5@2 a5@2 g5@2 d5@2 d#5@2 f5@2 d#5@2 c5@2 g5@2 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 e5@2 f5@2 g5@2 a5@2 a#5@2 c6@2 d#6@2 d6@2 a5@2 a#5@2 c6@2 a#5@2 f#5@2 g5@2 a5@2 g5@2 d5@2 d#5@2 f5@2 d#5@2 c5@2 g5@2 g5@2 f5]/7",
CD: "[~@13 d6@16 c#6@16 c6@16 g5@2 f5@2 g5@2 f5@2 g5@2 f5@2 e5@2 f5@2 a5@2 g5@2 f#5@2 g5@2 a#5@2 a5@2 g#5@2 a5@2 c6@2 a#5@2 a5@2 a#5@2 d6@2 c6@2 b5@2 c6@2 d#6@2 d6@2 c#6@2 d6@2 f6@2 d#6@2 d6@2 d#6@2 f6@3]/8",
CE: "~ a6@8 g6@7", CF: "~ f6@8 d#6@7", CG: "~ d6@8 c6@7", CH: "~ a#5@8 f#5@7", CI: "[~ f5@8 a5@4 d6@8 c6@8 c6@3]/2",
CJ: "[~ a#5@8 d6@4 g6@8 f6@8 f6@3]/2", CK: "[~ f5@8 a5@4 d6@8 c6@8 a#5@3]/2",
CL: "~ a4@2 a#4@2 c5@2 a#4@2 a4@2 g4@2 f4@3", CM: "~ d5@2 d#5@2 f5@2 d#5@2 d5@2 c5@2 a#4@3",
CN: "~ e5@2 f5@2 g5@2 f5@2 d#5@2 d5@2 c5@3",
CO: "[~ f#5@2 g5@2 a5@2 g5@2 f5@2 d#5@2 c#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a5@2 a#5@2 a#5@2 a#5@2 a5@2 a#5@2 a#5@2 a#5@2 a5@2 a#5@2 a#5@2 a#5@2 a5@2 a#5@2 a#5@2 a#5@2 c#6@3]/5",
CP: "~ c#6@2 c#6@2 c#6@4 c#6@4 c#6@3",
CQ: "[~ c#6@4 c#6@4 c#6@4 c6@2 c#6@2 c#6@2 c#6@2 c6@2 c#6@2 c#6@2 c#6@2 c6@2 c#6]/2",
CR: "[~ c#6@2 c#6@2 c6@2 c#6@2 c#6@2 c#6@2 d6@8 a#5@4 e5@2 f5@2 g5@8 f5@4 g5@2 a5@2 c6@8 a#5@4 a5@2 a#5@2 d#6@8 d6@4 d#6@2 d6@2 d6@8 c6@4 b5@2 c6@2 d6@8 c6@4 b5@2 c6@2 g6@8 f6@4 e6@2 f6@2 g6@3]/8",
CS: "~@5 f6@4 d#6@2 c6@2 a#5@3", CT: "~ a5@2 a#5@2 c6@2 a#5@2 a5@2 g5@2 f5@3", CU: "~ d#6@4 d6@4 c6@4 a#5@3",
CV: "~ d6@2 d#6@2 f6@2 d#6@2 d6@2 c6@2 a#5@3",
CW: "[~ d6@2 d#6@2 f6@2 d#6@2 d6@2 c6@2 a#5@2 a#5@2 a5@2 a5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 a#5@2 d6@2 d6@2 a#5@2 a#5@2 d6@2 d6@2 f5@2 f5@2 e5@2 e5@2 f5@2 f5@2 f5@2 f5@2 f5@2 f5@2 a#5@2 a#5@2 f5@2 f5@2 a#5@2 a#5@2 d5@2 d5@2 c#5@2 c#5@2 d5@2 d5@2 d5@2 d5@2 d5@2 d5]/6",
CX: "[~ f5@2 f5@2 d5@2 d5@2 f5@2 f5@2 a#4@8 a#5@4 a#5@4 a#5@8 a#5@8 a#5@8 a#5@4 a#5@4 a#5@8 a#5@8 a#5@8 ~@8 d6@8 ~@8 a#5@8 ~@8 d7@3]/8",
CY: "[~@13 a#5@15 ~@4]/2",
})).s("gm_flute").gain(0.45)
// other · flute · soft notes
const flute_soft = note(`<
~@39 A@4 B C@5 D@2 E@8 ~@24 F@8 ~@4 G@7 H@5 I@5 J@2 ~@7 K@8 ~@4 L@8 M@3 ~@3 N O@2 P@2 Q R S T@2 U V W X Y Z AA O@2 P@2
Q R S T@2 U V W AB AC AD@2 AE AF AG AH AE AF AH AI AG AJ AK@2 AL AM AN AO AP@5 AQ AR N O@2 AS@2 AT AU AV N O@2 AS@2 AT
AU AW@2 AX AY AZ@4 BA@6 ~@66 BB BC ~@58 BD@2 BE BF@5 BG@4 BH@5 BI@2 ~@5 BJ@6 ~@3 BK@4 BL BM@8 BN@2 BO@4 ~@3 BP BQ BR
BS@2 ~@13 BT@5 ~@32 BU@6 BV@3 BW@3 BX@6 ~@16 BY@4 BZ@4 CA CB@4 CC@4 CD@3 ~@5 CE@6 ~@3 CF@4 CG CH@3 CI@5 CJ CK CL@2 CM
~@4 CN CO CP CQ ~@14 CR CS@2 CT@2 ~@92
>`.pickRestart({
A: "[~@5 f#4@28 ~ f#4@5 f#4@5 f#4@18 ~@2]/4", B: "f#4", C: "[~@3 a4@74 ~@3]/5", D: "[f#4@14 ~ f#4]/2",
E: "[~@2 f#4@5 f#4@18 ~@2 f#4@18 ~ a4@74 ~@8]/8", F: "[g4@77 f#4@46 ~@5]/8", G: "[~ e4@37 ~@2 d4@72]/7",
H: "[~@6 c#4@37 ~@2 d4@35]/5", I: "[~@3 c#4@37 ~@2 e4@37 ~]/5", J: "[~ f#4@28 ~@3]/2", K: "[~@6 g4@39 f#4@19]/8",
L: "[~@14 e4@39 d4@37 ~@2 e4@36]/8", M: "[~@2 f#4@37 ~@9]/3", N: "~@5 a5@5 ~ g#5@5",
O: "[b5@5 a5@15 ~ d6@5 ~ c#6@5]/2", P: "[e6@5 d6@15 ~ f#6@5 ~ e6@5]/2", Q: "e6@5 d6@5 ~ c#6@5",
R: "c#6@5 b5@5 ~ a5@5", S: "a5@5 g5@10 ~", T: "[g5 g6@25 ~@2 f#6@4]/2", U: "e6@11 ~ d6@4", V: "d6@11 ~ c#6@4",
W: "f#6@11 ~ e6@4", X: "a6@11 ~ g6@4", Y: "a6 g6@4 f#6@5 ~ e6@5", Z: "f6", AA: "f#6@5 a5@5 ~ g#5@5",
AB: "c#6@11 ~ b5@4", AC: "c#6 b5@4 a5@5 ~ g5@5", AD: "[f5@15 ~]/2", AE: "e5 f5", AF: "a5@5 g5@5 ~ f5@5",
AG: "g5@15 ~", AH: "f5@15 ~", AI: "f#5@15 ~", AJ: "g#5@15 ~", AK: "[a5@15 ~]/2", AL: "d6@5 c#6@5 ~ b5@5",
AM: "a5@5 g5@5 ~ f#5@5", AN: "f#5", AO: "e5@15 ~", AP: "[b4 b5@71 a5@8]/5", AQ: "g5 e5", AR: "d5@15 ~",
AS: "[b5@15 ~]/2", AT: "d6@15 ~", AU: "e6@15 ~", AV: "f#6@15 ~", AW: "[f#6@15 ~]/2", AX: "d4@5 f#4@5 ~ a4@5",
AY: "d5@5 f#5@5 ~ a5@5", AZ: "[d6@61 ~@3]/4", BA: "[d6@91 ~@5]/6", BB: "f5@11 ~ e5@2 f5@2", BC: "g5@11 ~@5",
BD: "[d#5@25 ~ d#5@6]/2", BE: "d#5@6 ~ d#5@6 ~@3", BF: "[~@4 d#5@6 d5@18 ~@2 d#5@25 d5@6 ~ c5@6 d5@6 ~@6]/5",
BG: "[~ d5@6 ~ a#4@18 ~ d#5@25 ~ d#5@6 d#5@5]/4", BH: "[~@2 d#5@6 ~@7 d#5@6 d5@18 ~@2 d#5@25 ~ d5@6 c5@6 ~]/5",
BI: "[a#4@25 ~@7]/2", BJ: "[~@4 a5@18 ~ a5@18 ~@2 a5@18 ~ a5@25 ~@9]/6", BK: "[~@15 c5@25 ~ a#4@6 a4@6 ~ d5@6 ~@4]/4",
BL: "~@3 d5@6 d5@6 ~", BM: "[~@6 d5@6 ~ f#5@25 f5@6 ~ f#5@6 g5@37 ~@2 g6@25 ~ f6@6 ~ d#6@5]/8",
BN: "[~ f6@6 ~@7 d#6@6 d6@12]/2", BO: "[~ f5@6 ~ d#6@25 ~ d6@6 c6@3 ~@4 a#5@4 ~@13]/4", BP: "~@15 f4",
BQ: "g4 f4 g4 e4@2 f4@2 a#4@2 ~@2 d5@2 ~@2 g4", BR: "a4 g4 a4 f#4@2 g4@2 c5@2 ~@2 a#4@2 ~@2 a4",
BS: "[a#4 a4 a#4 g#4@2 a4@2 g5@2 ~@2 f5@2 ~@2 d#5@2 ~@15]/2",
BT: "[~@15 c5@4 b4@2 c5@2 d5@2 e5@2 f5@2 g5@2 a5@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 c5@4 b4@2 c5@2 d5@2 e5@2 f5@2 g5@2 a5@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 ~]/5",
BU: "[~@10 a#4@43 ~@3 a#4@40]/6", BV: "[~@5 a4@43]/3", BW: "[~@3 a4@43 ~@2]/3", BX: "[~ a#4@43 ~@3 a#4@43 ~@6]/6",
BY: "[~@15 d#5@25 d#5@6 ~ d#5@6 d#5@6 ~@5]/4", BZ: "[~@2 d#5@6 ~ d5@18 ~ d#5@25 ~ d5@6 c5@4]/4", CA: "~@3 d5@6 ~@7",
CB: "[d5@6 a#4@18 ~@2 d#5@25 ~ d#5@6 d#5@6]/4", CC: "[d#5@6 ~@7 d#5@6 ~ d5@18 ~ d#5@25]/4",
CD: "[~ d5@6 ~ c5@6 a#4@25 ~@9]/3", CE: "[~@2 a5@18 ~@2 a5@18 ~ a5@18 ~@2 a5@25 ~@10]/6",
CF: "[~@14 c5@25 a#4@6 ~ a4@6 d5@6 ~@6]/4", CG: "~ d5@6 ~ d5@6 ~@2", CH: "[~@5 d5@6 f#5@25 ~ f5@6 f#5@5]/3",
CI: "[~@2 g5@37 ~@2 g6@25 ~ f6@6 d#6@6 ~]/5", CJ: "f6@3 ~@3 d#6@2", CK: "~@3 d6@12 ~", CL: "[f5@6 d#6@25 ~]/2",
CM: "d6@6 ~ c6@6 a#5@3", CN: "~@13 f4 g4 f4", CO: "g4 e4@2 f4@2 a#4@2 ~@2 d5@2 ~@2 g4 a4 g4",
CP: "a4 f#4@2 g4@2 c5@2 ~@2 a#4@2 ~@2 a4 a#4 a4", CQ: "a#4 g#4@2 a4@2 g5@2 ~@2 f5@2 ~@2 d#5@2 ~", CR: "~@13 c5@3",
CS: "[~ b4@2 c5@2 d5@2 e5@2 f5@2 g5@2 a5@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 c5@3]/2",
CT: "[~ b4@2 c5@2 d5@2 e5@2 f5@2 g5@2 a5@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 c6@2 ~@3]/2",
})).s("gm_flute").gain(0.2)
// other · oboe
const oboe = note(`<
~@28 A@6 B@5 ~@19 C@4 D E@5 F@6 ~@166 G@2 H@4 I J I J ~@6 K@2 L@4 M@4 N O N O N O N O P ~@3 Q ~@3 R@2 S T U V W X Y Z
AA AB U V W AC ~ AD AE AF AG AH@2 AI ~ AJ@2 AK ~ AL AI AL AI AM@2 AN@2 AO@5 AP AQ AR AO@5 AP AI AS AT AU AV ~@4 AW AX
AY AZ ~@11 R ~@59 BA@2 BB@4 BC@3 ~ BD@3 ~ BE ~@3 BF@4 BG@7 BH@8 BI@8 BJ@7 ~@93 BK@2 BL BM@2 ~ BN BO@2 ~ BN BP@2 ~ BQ
~@3 BR@2 BS BT BU BV BS BV BW@4 ~@3 BX BY BZ CA CB CC@2 CD@2 BY BZ CA CB CE@2 CF CG CH CI@3 CJ CK CL CM CJ CN CO@3
CP@5 CF CG CH CI@3 CJ CK CL CM CJ CN CO@3 CQ@5 CF CR CF CR CS@3 CT CU@5 CV@8 CW@2
>`.pickRestart({
A: "[~@7 d5@19 c#5@39 c#5@6 d5@6 ~ c#5@6 b4@6 ~ c#5@5]/6", B: "[~ b4@6 ~ b4@39 a4@19 ~@14]/5",
C: "[~@12 d5@29 d5@5 d5@4 d5@10 f#5@4]/4", D: "~ f#5@5 f#5@10", E: "[a5@4 a5@5 a5@71]/5",
F: "[~@7 d6@39 d6@19 c#6@19 d6@10 ~@2]/6", G: "a#4/2", H: "d4!2", I: "d4!2 ~@2", J: "a#3!2 ~@2", K: "f5/2", L: "f4!2",
M: "f4!2 ~@2", N: "d5!4", O: "d5", P: "e5 ~ a4@2", Q: "~ a4", R: "~ a5", S: "~@2 a5 ~", T: "a5 ~ a5 ~",
U: "a5@6 g5 f5", V: "f5@6 e5 d5", W: "d5@6 c5 a#4", X: "a4@6 g4 f4", Y: "d#4@6 d4 d#4", Z: "g4@3 a#4",
AA: "a#4@6 a4 g#4", AB: "a4@6 g#4 a4", AC: "a4@6 a4 g4", AD: "~@6 a4 a#4", AE: "c5@6 b4 c5", AF: "c#5@6 c5 c#5",
AG: "d5@6 c#5 d5", AH: "a#4!4", AI: "a#4 ~@3", AJ: "a4!8", AK: "a4 ~@3", AL: "~ a#4!3", AM: "~ g5@2 g5",
AN: "[~ g5@2 g5@2 g5@2 g5]/2", AO: "[f5 a5@2 g5@2 f5@2 d#5@2 d5@2 c5@2 a#4@2 f#4@2 f4@2 a4]/5", AP: "d5 c5",
AQ: "c5 a#4@2 d5", AR: "g5 f5", AS: "d5 ~ c5 ~", AT: "a#4 a4 a#4 ~", AU: "f5 ~ d#5 ~", AV: "c#5 c5 c#5 ~",
AW: "a#4 ~ a4 ~", AX: "g4 f#4 g4 ~", AY: "g5 ~ f5 ~", AZ: "d#5 d5 d#5 ~", BA: "~@3 f4@4 ~@4 f4@4 ~",
BB: "[~@3 g4@4 ~@4 g4@4 f4@4 ~@4 c4@8 c#4@8 d4@8 d#4@4 ~@13]/4", BC: "[~@15 a#4@4 ~@4 a4@4 ~@4 a#4@12 ~@5]/3",
BD: "[~@15 a#4@4 ~@4 c5@4 ~@4 d5@12 ~@5]/3", BE: "~@3 d4@4 d4@4 d4@4 ~",
BF: "[~@15 d#4@16 d4@4 ~@4 d4@4 ~@4 c4@4 ~@4 c4@4 ~@5]/4",
BG: "[~@3 d4@4 d4@4 d4@4 c4@4 ~@4 c4@4 ~@4 d4@4 ~@4 d4@4 ~@4 c4@4 ~@4 c4@4 ~@4 d4@4 ~@12 c4@4 ~@12 a#3@4 a#4@2 a#4@2 a#4@4 a#4@4 a#4]/7",
BH: "[~@3 a#4@4 a#4@4 a#4@4 e5@16 e5@16 f5@4 f5@2 f5@2 f5@4 f5@4 f5@4 f5@2 f5@2 f5@4 f5@4 f5@16 f5@16 f#5@4 f#5@2 f#5@2 f#5@4 f#5@4 f#5]/8",
BI: "[~@3 f#5@2 f#5@2 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 f#5@2 f#5@2 f#5@4 f#5@4 f#5@4 f#5@2 f#5@2 f#5@4 f#5@4 f#5@4 a5@8 f#5@8 d5@8 a4@8 f#5@8 d5@5]/8",
BJ: "[~@3 a4@8 f#4@4 d4@91 ~@6]/7", BK: "~ f4@4 ~@4 f4@4 ~@3", BL: "~ g4@4 ~@4 g4@4 f4@3",
BM: "[~@5 c4@8 c#4@8 d4@8 d#4@3]/2", BN: "~@13 a#4@3", BO: "[~@5 a4@4 ~@4 a#4@12 ~@7]/2",
BP: "[~@5 c5@4 ~@4 d5@12 ~@7]/2", BQ: "~ d4@4 d4@4 d4@4 ~@3", BR: "[~@13 d#4@16 d4@3]/2", BS: "~@5 d4@4 ~@4 c4@3",
BT: "~@5 c4@4 ~@7", BU: "~ d4@4 d4@4 d4@4 c4@3", BV: "~@5 c4@4 ~@4 d4@3", BW: "[~@13 d4@16 c#4@16 c4@16 c4@3]/4",
BX: "~@13 f5@3", BY: "~ a5@8 g5@7", BZ: "~ f5@8 d#5@7", CA: "~ d5@8 c5@7", CB: "~ a#4@8 f#4@7",
CC: "[~ f4@8 a4@4 d5@8 c5@8 c5@3]/2", CD: "[~ a#4@8 d5@4 g5@8 f5@8 f5@3]/2", CE: "[~ f4@8 a4@4 d5@8 c5@8 d5@3]/2",
CF: "~ a4@2 a#4@2 c5@2 a#4@2 a4@2 g4@2 f4@3", CG: "~ d5@2 d#5@2 f5@2 d#5@2 d5@2 c5@2 a#4@3",
CH: "~ e5@2 f5@2 g5@2 f5@2 d#5@2 d5@2 c5@3",
CI: "[~ f#5@2 g5@2 a5@2 g5@2 f5@2 d#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@2 c#5@3]/3",
CJ: "~@5 c#5@4 ~@4 c#5@3", CK: "~@5 c#5@4 ~@4 e5@3", CL: "~ e5@2 e5@2 e5@4 e5@4 e5@3", CM: "~ e5@4 e5@4 e5@4 c#5@3",
CN: "~@5 c#5@4 ~@4 d4@3", CO: "~ d4@2 d4@2 d4@4 ~@4 d4@3",
CP: "[~ d4@2 d4@2 d4@4 ~@4 e4@16 e4@16 d#4@16 d#4@16 d4@3]/5",
CQ: "[~ d4@2 d4@2 d4@4 ~@4 e4@16 e4@16 d#4@16 d#4@16 a#4@3]/5", CR: "~ c5@4 a#4@4 a4@4 a#4@3", CS: "~@5 a4@8 a#4@3",
CT: "~@5 a4@8 f4@3", CU: "~ f4@4 f4@4 f4@4 f4@3",
CV: "[~ f4@4 f4@4 f4@4 f4@8 f5@4 f5@4 f5@8 f5@8 f5@8 f5@4 f5@4 f5@8 f5@8 f5@8 ~@8 d5@8 ~@8 f5@8 ~@8 d5@3]/8",
CW: "[~@13 f5@16 ~@3]/2",
})).s("gm_oboe").gain(0.45)
// other · oboe · soft notes
const oboe_soft = note(`<
A@3 B@2 C@4 D@3 E@7 F@3 G H@6 ~@10 I@4 J@6 K@2 L@8 ~@88 M N@2 O@2 P Q R ~@8 M N@2 O@2 P Q R ~@7 S@2 T@2 S@2 T@2 U V W
X Y@4 Z@8 ~ M AA@2 AB@4 AC M AA@2 AB@4 AD@2 ~@6 AE@6 ~@66 AF AG ~@58 AH@2 AI AJ@5 AK@4 AL@5 AM@2 AN@2 AO@2 AP@4 AQ@2
AR AS AT@2 AU@4 AV AW@8 AX@2 AY@4 AZ BA AZ@3 BA AZ ~@14 BB@5 ~@32 BC@6 BD@6 BE@7 BF@3 BG@3 BH@2 BI BJ@4 BK@6 BL@4 BM
BN@4 BO@7 BP@3 BQ@2 BR@2 BS BT@2 BU BV BW@2 BX@4 BY BZ@3 CA@5 CB CC CD@2 CE CF@2 CG CF@3 CG CF ~@14 CH@5 ~@92
>`.pickRestart({
A: "[~@9 f#4@29 f#4@5 f#4@5]/3", B: "[f#4@9 a4@5 a4@5 a4@10 d5@3]/2", C: "[~ d5@5 d5@39 a4@19]/4",
D: "[~@10 a4@5 a4@5 d5@28]/3", E: "[~ a4@10 c#5@14 b4@5 g4@15 b4@4 a4@39 f#4@19 ~@5]/7", F: "[~@15 f#4@29 f#4@4]/3",
G: "~ f#4@5 f#4@10", H: "[b4@4 b4@5 b4@10 d5@5 d5@5 d5@38 b4@19 ~@10]/6", I: "[~@5 d4@29 d4@5 d4@5 d4@19 ~]/4",
J: "[d4@19 c#4@77]/6", K: "[d4@29 ~ d4@2]/2", L: "[~@2 d4@5 d4@19 ~ d4@19 c#4@78 ~@4]/8", M: "~@5 f#5@5 ~ f5@5",
N: "[g5@5 f#5@16 f#5@5 ~ f5@5]/2", O: "[g5@5 f#5@16 a5@5 ~ g5@5]/2", P: "g5@5 f#5@5 ~ a5@5", Q: "a5@5 g5@5 ~ f#5@5",
R: "f#5@5 e5@11", S: "d4@5 d4@5 ~ d4@5", T: "d#4@5 d#4@5 ~ d#4@5", U: "f4@5 f4@5 ~ f4@5", V: "f#4@5 f#4@5 ~ f#4@5",
W: "g4@5 g4@5 ~ g4@5", X: "g#4@5 g#4@5 ~ g#4@5", Y: "f#4/4", Z: "g4/4", AA: "[g5@5 f#5@16 f#5@5 ~ a5@5]/2",
AB: "g5/2", AC: "a5", AD: "a5/2", AE: "a4/6", AF: "f4@6 e4 f4", AG: "g4@3 ~", AH: "[a5@13 g5@3]/2",
AI: "f5@6 ~ g5@6 ~@3", AJ: "[~@4 g5@6 f5@19 ~ g5@25 f5@6 ~ d#5@6 f5@6 ~@6]/5",
AK: "[~ f5@6 ~ d5@19 a5@26 g5@6 f5@5]/4", AL: "[~@2 g5@6 ~@7 g5@6 f5@19 ~ g5@26 f5@6 d#5@6 ~]/5", AM: "[d5@13 ~@3]/2",
AN: "[~@6 d5@19 ~ e5@6]/2", AO: "[f#5@6 ~ e5@6 d5@6 ~ f#5@6 b5@6]/2",
AP: "[a5@6 ~ e5@6 f#5@6 ~ d5@19 e5@6 ~ f#5@6 e5@6 ~ d5@5]/4", AQ: "[~ f#5@6 ~ b5@6 a5@6 ~ e5@6 f#5@5]/2",
AR: "~ d5@6 ~ c#5@6 d5@2", AS: "~@5 d5@6 c#5@5", AT: "[~@2 d5@3 ~@3 d5@6 ~ c#5@6 d5@3 ~@4 d5@4]/2",
AU: "[~@2 c#5@6 ~ d5@3 ~@3 d#5@26 d5@6 c5@6 ~ f5@6 ~@4]/4", AV: "~@3 f5@6 f5@6 ~",
AW: "[~@6 g5@6 ~ a5@25 g#5@6 ~ a5@6 a#5@39 g5@26 f5@6 ~ d#5@5]/8", AX: "[~ f5@6 ~@7 d#5@6 d5@12]/2",
AY: "[~ f5@6 ~ g5@26 f5@6 d#5@3 ~@4 d5@4 f4@4 ~@4 f4@4 ~]/4", AZ: "~@3 f4@4 ~@4 f4@4 ~", BA: "~@3 g4@4 ~@4 g4@4 ~",
BB: "[~@15 e4@16 f4@16 e4@16 f4@16 ~]/5", BC: "[~@5 g4@23 g4@20]/6", BD: "[~@5 f#4@46 f#4@45]/6",
BE: "[~ g4@46 g4@45 d5@11 ~ d5@8]/7", BF: "[~@15 d5@11 d5@11 d5@11]/3", BG: "[~@12 d5@11 ~ d#5@11 d#5@11 ~@2]/3",
BH: "[~@10 d#5@11 e5@11]/2", BI: "~ e5@11 ~@4", BJ: "[~@8 e5@11 f5@11 ~ f5@11 f#5@11 f#5@11]/4",
BK: "[~ g5@11 g5@11 ~ g#5@11 g#5@11 ~ a5@25 g5@6 ~ f5@6 g5@6 ~@5]/6", BL: "[~@2 g5@6 ~ f5@19 g5@26 f5@6 d#5@4]/4",
BM: "~@3 f5@6 ~@7", BN: "[f5@6 d5@19 ~ a5@26 g5@6 f5@6]/4",
BO: "[g5@6 ~@7 g5@6 ~ f5@19 g5@26 f5@6 ~ d#5@6 d5@26 ~@8]/7", BP: "[~@5 d5@19 e5@6 ~ f#5@6 e5@6 ~ d5@4]/3",
BQ: "[~@2 f#5@6 ~ b5@6 a5@6 e5@6 ~ f#5@4]/2", BR: "[~@2 d5@19 ~ e5@6 f#5@4]/2", BS: "~@3 e5@6 d5@6 ~",
BT: "[f#5@6 b5@6 ~ a5@6 e5@6 ~ f#5@6]/2", BU: "d5@6 c#5@6 ~ d5@3", BV: "~@3 d5@6 ~ c#5@6",
BW: "[d5@3 ~@4 d5@6 c#5@6 ~ d5@3 ~@3 d5@6]/2", BX: "[~ c#5@6 d5@3 ~@4 d#5@25 d5@6 ~ c5@6 f5@6 ~@6]/4",
BY: "~ f5@6 ~ f5@6 ~@2", BZ: "[~@5 g5@6 a5@26 g#5@6 a5@5]/3", CA: "[~@2 a#5@39 g5@26 f5@6 d#5@6 ~]/5",
CB: "f5@3 ~@3 d#5@2", CC: "~@3 d5@13", CD: "[f5@3 g5@13]/2", CE: "f5@6 ~ d#5@6 d5@3", CF: "~ f4@4 ~@4 f4@4 ~@3",
CG: "~ g4@4 ~@4 g4@4 ~@3", CH: "[~@13 e4@16 f4@16 e4@16 f4@16 ~@3]/5",
})).s("gm_oboe").gain(0.2)
// other · french horn · "Horn in F"
const french_horn = note(`<
~@28 A@4 B@7 ~@19 C@4 D E@5 F@6 ~@166 G@2 H@2 I@2 J@4 ~@6 G@2 K@4 L@4 M N O P Q R M N S ~@3 T ~@3 U@2 V W X@4 Y@2 Z@2
X@4 ~ AA AB AC AB AD AE AF ~ AG AH AI ~ AJ AK AJ AK AL@2 AM@2 AN@2 AO@2 AP@2 AO@2 AN@2 AO@2 AP@2 AQ AR AS AT AU ~@4 AV
AW AX AY ~@71 AZ@2 BA@4 BB@3 ~ BC@3 ~ BD ~@3 BE@4 BF@7 BG@8 BH@8 BI@6 ~@94 BJ@2 BK BL@2 ~ BM BN@2 ~ BM BO@2 ~ BP ~@3
BQ@2 BR BS BT BU BR BV BW@4 ~@4 BX@2 BP@2 BY@2 BP@2 BX@2 BP@2 BY BZ CA CB CC CB CD CE CF@2 CD CE CF@2 CG@3 CH@5 CA CB
CC CB CD CE CF@2 CD CE CF@2 CG@3 CI@5 ~ CJ ~ CJ CK@3 CL CE@5 CM@8 CN@2
>`.pickRestart({
A: "[~@7 f#3@19 a3@38]/4", B: "[~ a3@19 g#3@19 ~ g#3@39 a3@19 ~@14]/7", C: "[~@12 a3@29 a3@5 a3@4 a3@10 a3@4]/4",
D: "~ a3@5 a3@10", E: "[a3@4 a3@5 d4@71]/5", F: "[~@7 f#4@39 f#4@19 e4@19 ~@12]/6", G: "d3/2", H: "f3!2", I: "a#3!2",
J: "f3!2 ~@2", K: "d3!2", L: "d3!2 ~@2", M: "g#3!4", N: "g#3", O: "a3!4", P: "a3", Q: "a#3!4", R: "a#3",
S: "a3 ~ e4@2", T: "~ e4", U: "~ e3", V: "~@2 e3 ~", W: "e3 ~ e3 ~", X: "f3@2 f3!2 f3@2 ~@2", Y: "g3@2 g3!2 g3@2 ~@2",
Z: "e3@2 e3!2 e3@2 ~@2", AA: "~@3 e3", AB: "f3!4", AC: "g3!4", AD: "g3@2 g3 a#3", AE: "d#3 g3 a#3 d#4", AF: "g4 ~@3",
AG: "f3@2 f3 a3", AH: "d3 f3 a3 d4", AI: "f4 ~@3", AJ: "~ g3!3", AK: "g3 ~@3", AL: "~ a#3@2 a#3",
AM: "[~ a#3@2 a#3@2 a#3@2 a#3]/2", AN: "~ c4!3", AO: "~ a#3!3", AP: "~ a3!3", AQ: "a#3 ~@3", AR: "f4 ~ f4 ~",
AS: "f4!3 ~", AT: "g#4 ~ g#4 ~", AU: "g#4!3 ~", AV: "d4 ~ d4 ~", AW: "d4!3 ~", AX: "a#3 ~ a#3 ~", AY: "a#3!3 ~",
// … 160 more lines
More by
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.