0:00/0:00
// Symphony No.1 Op.68 — J. Wilson
// 51 bpm, 3/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Flute" named as a pipe, played on flute (its string ensemble 1 patch is not one); ch 2 "Oboe" named as a reed, played on oboe (its pizzicato strings patch is not one); ch 3 "A Clarinet" named as a reed, played on clarinet (its tremolo strings patch is not one); ch 4 "Bassoon" named as a reed, played on bassoon (its string ensemble 1 patch is not one); ch 5 "Contrabassoon" named as a reed, played on bassoon (its pizzicato strings patch is not one); ch 6 "Horn" named as a brass, played on brass section (its tremolo strings patch is not one); ch 7 "C Trumpet" named as a brass, played on trumpet (its string ensemble 1 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/81435; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 128 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(51/3)
// 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 · flute
const flute = note(`<
A B C D@2 E F G H I J K@2 L@2 M N O P O Q R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV@2 AW@2 AX AY AZ BA BB BC BD BE BF@3 BG BH BI BJ@2 BK BL BM BN BO BP BQ BR BS BT@2 BU@2 BV BW@2 BX BY BZ CA CB
CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR@2 ~@2 CS CT@4 CU CV CW@4 CX@2 CY@2 CZ
>`.pickRestart({
A: "b3 a3 a4", B: "f#4 e4 ~", C: "e4@8 e4@3 g3", D: "[b3@3 ~ f#4@4 f4@2 e4@2]/2", E: "d#4@2 d#4@2 ~ a4",
F: "c5@2 g3@2 c4 c5", G: "c#5 c#4 b4 b3 a#4 c#4", H: "f#4 ~", I: "[a3,f#4] ~", J: "[g#3,e4]@3 ~@2 [g#4,g#5,c6]",
K: "[[b4,b5,d#6]@3 [a5,c#6]@2 [g#5,b5]@3 [f#5,a5] ~ d#4@2, ~@3 a4 ~@4 c#4@2 ~@2]/2", L: "[e4@7 d#4!3 [a#3,c#4]@2]/2",
M: "b3@3 ~ g3@2", N: "b3@2 ~", O: "b4!3", P: "b4!2 ~", Q: "b4 [b4,d#5]@2", R: "[g#3,b4] a3 [c#4,a4], e5@2 ~, ~ c#5@2",
S: "[b3,f#4]@3 a3 [g#3,g#4]@4 ~@4, b4@2 ~", T: "e4@2 e4", U: "~ b3 g#3", V: "a#3@8 b3@3 a3", W: "a3 g#3 ~",
X: "~@8 g#4@2 ~ b3", Y: "g#4@2 ~ b3 g#4@2 ~ b3 g#4@2 ~ b3", Z: "f#4@2 ~ b3 f#4@2 ~ b3 f#4@2 ~ b3",
AA: "d#4@4 e4@2 ~ b3 g#4@2 ~ e4", AB: "[b4@2 ~ g#4 e5@2 ~ b4 g#5@6 a5@4 a#5@4 e6@2]/2",
AC: "e6@5 f6 f#6 e6 d#6 c#6 c6 a5", AD: "g#5@3 a5 f#5 d#5", AE: "e5 f5 f#5 e5 d#5 c#5 c5 a4 g#4@2 a4@2",
AF: "f#4@2 c#4@2 d#4 c#4 d#4 c#4 d#4 c#4 d#4 e4", AG: "c#4 c4 a#3", AH: "g#3 d#4@2 d#4 ~ e4@2 e4 ~ g#4@2 g#4",
AI: "~ f#4@2 f#4 ~ d#4@2 d#4 ~ e4@2 f#4", AJ: "~ e4@2 f#4 ~ e4@2 f#4 ~ e4@2 e4",
AK: "~ e4@2 e4 ~ g#4@2 g#4 ~ g4@2 g4", AL: "~ g#4@2 g#4 ~ f4@2 f4 ~ c#4@2 c#4",
AM: "~ d#4@2 d#4 ~ d#4@2 d#4 ~ f4@2 f4", AN: "~ g4@2 f4 ~ g4@2 f4 ~ d#4@2 d#4",
AO: "~ f4@2 d#4 ~ f4@2 d#4 ~ c#4@2 d#4", AP: "~ c#4@2 c#4 ~ c#4@2 c#4 ~ f#4@2 f#4",
AQ: "~@3 d#4 ~@3 c4 ~ c#4@2 c#4, ~ d#4@2 ~@2 c4@2 ~@5, ~ d#6 g#5 f#5 f5@2", AR: "~ c#4@2 c#4 ~ c#4@2 c#4 ~ a#3@2 a#3",
AS: "~@2 f#6 [g#4,f6] d#6 f#6 f6 d#6 [c#4,c#6] g#5 f#5 [c#4,f5], g#6 ~@5, ~ g#4@2 ~ c4@4 ~ c#4@2 ~", // C#
AT: "~ c#4@2 c#4 ~ c#4@2 c#4 ~ a#3@2 [a#3,c#6], ~@8 e6@3 ~", // A#m
AU: "~ c#4@2 c#4 ~ c#4@2 c#4 ~ g3@2 [g3,c#6], ~@8 e6@3 ~", // Gdim
AV: "[~ [g3,g4,c#6,e6]@2 [g3,g5,c#6] g#3@2 g#4@4 f#4 e4 d#4 f#4 e4 d#4 c#4 d#4 c4 d#4 c#4 e4 c4 d#4, ~@2 [g#5,g#6]@6 [a5,a6]@2 ~ [g#5,g#6]]/2", // C#dim Gdim G# A G#
AW: "[c#4 e4 a4 c#5 f#4 a4 d5 f#5 [d#6,f#6] [d#6,f#6]@2 [d#6,f#6]@2 [d#6,f#6] [c#6,e6]!2 [c6,d#6]!2 [g#5,c#6]!2 [f#5,a5]!2 [d#5,f#5]!2, [a5,a6] [a5,a6]@2 [a5,a6] a5@3 g#5 f#5 e5 d#5 c5]/2", // D#m C#m Cm C#5 F#m D#m A
AX: "e5!2 b4 d#5 a4 c#5 g#4 b4 f#4 a4 e4 g#4, c#5 ~@5", AY: "c#5 e5 c5 d#5 b4 d5 a#4 c#5 a4 c5 g#4 b4",
AZ: "f#4 a4 d#4 f#4 e4 a4 c#4 a#4 d4 a4 d#4 f#4, ~@3 e6 d6 c6",
BA: "c#4 e4 a#4 c#5 a4 d5 f#4 a4 d#4 f#4 c4 d#4, c#6 a#6 a6 f#6 d#6 c6", BB: "c#6 d#6 c6 d#6 d#5 e5 c#5 a4 ~@4",
BC: "d#4 e4 c#4 a3 ~@8", BD: "~ [b4,d#5] [c#5,e5] [d#5,f#5] [d#5,g5] [e5,g#5]", BE: "f#5 g#5@2 [a5,f#6] e6 c#6",
BF: "[b5 a4@2 e4@2 e4@2 c4 ~@3 e5 d#5 e5 f#5 e5 c#5 a4, ~ a5 ~@8 g#6@4 ~@4, ~@5 e6 e6 [a5,a6] c#6]/3", // A
BG: "g#4@2 ~ a5 e4@2 d#4@2 c#4@2 b3@2, [f#5,b5] g#5 ~, ~ f#4 ~@4", // B5
BH: "f#5@4 f#5@2 f#5@2 [a#3,g5]@3 e5, e5@11 ~, a#3@2 ~", BI: "e5 d#5 a#3, b3 ~",
BJ: "[b3@3 ~ [a5,a6]@4 [a5,f6]@2 [a#5,e6]@2]/2", BK: "d#4 ~@2 d#4@2 b4, [b5,d#6]!2 ~, ~ d#4@2 ~@3",
BL: "a#4 ~@2 a#4@2 a#4, [a#5,f#6]!2 ~, ~ a#4@2 ~@3", BM: "b4!2 a#4!2 d5!2, [f#5,b5] [a#5,e6] [d6,f6]",
BN: "c#5@5 a#4@5 ~ c#5@5 c#5@8 f#6@8 ~@16, [c#6,g#6] ~", BO: "e4@5 c#4@5 ~ e4@5 e4@8 ~@24",
BP: "a4@5 d#4@5 ~ a4@5 a4@8 f#5@8 ~@16, [d#5,g#5] ~", // G#5
BQ: "e5@5 d#5@5 ~ e5@5 g#5@5 d#5@5 ~ e5@5 g#5@5 f#5@5 ~ e5@5, [e6,g#6]@2 [e6,g#6]", // E
BR: "~ [c6,f#6] [c#6,f6] [g#5,b5] ~ [a#5,e6], d#4 b4 c#4", BS: "[a4,d#6] a5 g#3@2 a#3@2, f#5 ~@2",
BT: "[b3@7 a#3!3 g#3@2]/2", BU: "[g#3@2 a#3@2 ~ a#5 c6 d#6 c#6 b5 a#5 c#6, ~@2 f#6@2 f6 e6]/2",
BV: "b5 a5 d6@2 ~@2, d#6@2 g#5 ~@3", BW: "[~ g#3 a#3@2 b3@2]/2", BX: "a#3 b3 g#3", BY: "a#3@2 b3",
BZ: "~ b3 d#4 f#4 g#4 b4, [f#5,a5]@2 [e5,g#5]", CA: "[c#5,g5]@2 [b4,d#5,f#5] ~@3, a#4 ~@5",
CB: "~ b4 d#5 f#5 g#5 [e5,b5], d#4@2 e4", CC: "[g4,a#5,e6] ~ [f#4,b5,d#6] ~@3",
CD: "e6 d#6 c#6 b5 a5 [e5,g#5], [g#3,e5]@2 e5@3 ~, ~ a3 c#4", CE: "[b3,d#5,a5]@2 ~ a3 [g#3,b4,e5]@4 ~@4, ~ d#5 ~@4",
CF: "f#5@4 f#5@2 f#5@2 g5@3 e5", CG: "~ e4 b3",
CH: "f#5@16 f#5@8 f#5@8 b4@5 [b3,b4]@3 ~@4 [a4,d#5]@4, ~@32 a5@11 [b3,b4]@3 ~@2", // B Adim B
CI: "~@5 [b3,b4]@3 ~@3 [b3,b4]@3 ~@7 [b3,b4]@3 ~@3 [b3,b4]@3 ~@7 [g#4,b4]@3 ~@3 [g#4,b4]@3 ~@2, [a4,d#5]@32 ~@5 e5@5 ~ e5@5", // B G#m Adim
CJ: "~@5 [g#4,b4]@3 ~@3 [g#4,b4]@3 ~@7 [g#4,b4]@3 ~@3 [g#4,b4]@3 ~@7 [e4,a4]@3 ~@3 [e4,a4]@3 ~@2, ~@5 e5@5 ~ e5@5 ~@5 e5@5 ~ e5@5 ~@5 e5@5 ~ e5@5", // G#m A5
CK: "~@5 [d#4,a4]@3 ~@3 [d#4,a4]@3 ~@7 [e4,g#4]@3 ~@3 [e4,g#4]@3 ~@7 [e5,e6]@5 ~ [e5,e6]@5, ~@5 e5@5 ~ e5@5 ~@5 e5@5 ~ e5@5 ~@5 [g#4,b4]@3 ~@3 [g#4,b4]@3 ~@2", // D#dim E G#m
CL: "~@5 [e5,e6]@5 ~ [e5,e6]@5 ~@5 [e5,e6]@5 ~ [e5,e6]@5 ~@5 [e5,e6]@5 ~ [e5,e6]@5, ~@5 g#4@3 ~@3 g#4@3 ~@7 [b4,g#5]@3 ~@3 [b4,g#5]@3 ~@7 [a4,a5]@3 ~@3 [a4,a5]@3 ~@2", // E A
CM: "~@5 [e5,e6]@5 ~ [e5,e6]@5 ~@8 [g#4,e5,g#5]@8 [g#5,b5]@8 [b5,e6]@8, ~@5 [a4,f#5]@3 ~@3 [a4,f#5]@3 ~@34", // E C#m G#m E5 D
CN: "[e6,g#6]@4 f#6@2 e6@2 [a5,d#6]@3 c#6, ~ c#6 ~", CO: "[f#4,a5,c#6] [g#4,g#5,b5] b4",
CP: "[c6,f#6]@2 [c#6,e6] c#6 b5 a5, ~@2 e5", CQ: "[a4,f#5,a5] [e5,g#5] ~, ~ g#4@2", CR: "[c#4 d#4 b3@2 c4 c#4]/2",
CS: "~@4 [g#5,b5]@4 [g#5,b5] ~ [g#5,b5] ~", // G#m
CT: "[~@4 b3@2 ~ g#3 g#5@3 b3 g#4@2 ~ e4 ~@2 d6@2 ~@2 b3 ~@3 c#6@2 ~@2 a#3 ~ c#4@8 [c4,c6]@4 [b3,b5]@4, [a5,d#6]@3 [g#5,e6] e6@5 ~ d6@3 ~ c#6@6 ~@4, ~@4 e4 ~@3 e4@3 ~ e4@3 ~@9]/4", // C B Adim C#m
CU: "a#5@2 f#5, a#3", CV: "a3 f#4 [b3,d#5], a5@2 ~",
CW: "[~@4 e5@2 ~ b4 g#5@2 ~ e5 b5@2 ~ g#5 ~@2 d4@2 ~@2 b5 ~@3 c#4@2 ~@2 a#5 ~ [e4,e6]@12 [c4,f#6]@4, f#4@3 e4 e4@5 ~ d4@3 ~ c#4@2 ~@8, ~@8 e6@3 ~ e6@3 ~@9]/4", // E Cdim
CX: "[[b5,g#6] [g#5,b5] [b5,g#6], b3 ~@5]/2", CY: "[~ b3, [g#5,b5]]/2", CZ: "[b3,g#5,b5]",
})).s("gm_flute").gain(0.2)
// chords · oboe
const oboe = note(`<
~@16 A B C B D E F ~@14 G@3 H@2 I ~@4 J ~ K L@2 M@2 N@2 O ~ P Q R ~@2 S ~@7 T U V W X ~@2 Y ~@4 Z@2 AA ~@3 A B C B D
AB AC ~ AD ~@5 AE AF ~ AG ~@4 AH@2 AI ~@14
>`.pickRestart({
A: "~@3 b4 d#5 e5", B: "f#5@6 d#5@2 e5@3 b4", C: "b4@3 b4 d#5 e5", D: "b4@3 b4 d#5 f#5", E: "b5@2 a5 g#5 f#5 e5",
F: "d#5 c#5 b4 e5 b4 g#4", G: "[~@8 g#5@18 f#5 e5 d#5 f#5 e5 d#5 c#5 d#5 c5 d#5]/3",
H: "[c#5 e5 c5 d#5 c#5 g#5 c5 d#5 c#5@2 c#6@4 b5 a#5 g#5 d#5 b4 c#5 d#5 a#4 g4 a#4]/2", I: "c5 g#4 a#4 f4 g4 d#4",
J: "~@3 g#4@2 c#5", K: "g#5@2 f#5 f5 d#5 f#5 f5 d#5 c#5 g#4 f#4 f4", L: "~@8 e5@3 c#5",
M: "[~ [c#5,e5]@2 [g4,c#5] [g#4,g#5]@12 [a4,a5]@4 ~@2 [g#4,g#5]@2]/2", // C#m Gdim G# A G#
N: "[[a4,a5]@2 [a4,a5]@4 [a4,a5]@2 [d#5,f#5] [d#5,f#5]@2 [d#5,f#5]@2 [d#5,f#5] [c#5,e5]!2 [c5,d#5]!2 [c#5,g#5]!2 [a4,f#5]!2 [f#4,d#5]!2]/2", // A D#m C#m Cm C#5 D D#m
O: "[e4,e5] ~@5", P: "~@3 e5 d5 c5", Q: "c#5 a#5 a5 f#5 d#5 c5", R: "[e5,g#5] [f#5,a5] [d#5,f#5] [f#5,a5] ~@8",
S: "~@3 [a4,c#5]@2 ~", T: "a3 d#4 f#4 d#4 [f4,a4]@2 ~@2 [e4,a#4]@2 ~@2, ~@2 a#5", U: "[d#5,b5]@3 f#5 [d#5,f#5]@4 ~@4",
V: "[a#4,f#5]!2 ~", W: "[b4,b5] [e5,a#5] [d5,g#5]", X: "[c#5,g#5]@3 f#5 ~@2", Y: "[e5,g#5] [g#5,b5] [e5,g#5]",
Z: "[~@2 f#5@2 f5 e5]/2", AA: "d#5 d5 ~", AB: "b5@2 a5 g#5 f#5 e5, e5@2 a4", AC: "[a4,d#5] [f#4,c#5] b4 e5 b4 g#4",
AD: "~ e5@2 b4@2 g#4", AE: "~@3 [e4,g#4] [g#4,b4] [b4,e5]", AF: "[e5,g#5] [a4,c#5] [a4,e5]",
AG: "[d#5,c6] [c#5,c#6] [c#5,e5]", AH: "[~@8 e5@4 e5@2 e5@2 [b4,g#5]@3 e5 g#4@4, ~ a#4 ~]/2", AI: "[f#4,a4] ~",
})).s("gm_oboe").gain(0.25)
// chords · oboe · soft notes
const oboe_soft = note("<~@63 A@2 B@2 C ~@2 D@2 ~@7 E F ~@32 G ~@7 H@2 I@2 J@2 K>".pickRestart({
A: "[~@5 [a4,e5]@2 [e4,c5] ~@4]/2", B: "[~@2 [b4,g#5]@2 [a4,a5] [c#5,c#6]]/2", C: "[f#5,b5]@3 a5 [b4,g#5]@4 ~@4",
D: "[~@2 a5@3 ~]/2", E: "~ d#5 c#5 f5 ~ c#5", F: "a4 ~@2", G: "~@3 [e4,g#4] [e4,g#4]@2",
H: "[~@2 a#4@2 a4 [c5,f#5], ~@2 e5@3 ~]/2", // Cdim
I: "[~@16 g#3@5 b3@5 ~ e4@5 [g#4,b4]@32 e4@5 g#4@5 ~ b4@5 e5@16, [b4,g#5] ~ g#5, ~@64 b4@11 ~@21]/2", J: "[g#4,b4]/2",
K: "[g#4,b4]", // G#m
})).s("gm_oboe").gain(0.15)
// chords · clarinet · "A Clarinet"
const clarinet = note(`<
~@10 A B@2 ~@4 C D C E F G ~@18 H@3 I J K L ~ M ~@2 N@2 O@2 P Q R S T ~ U V W X@2 Y Z AA AB@2 AC AD AE AF AG AH AI AJ
AK ~@2 AL AM AN AO ~@3 AP AQ AR AS AT AU AV ~ AW AX AY AZ BA BB BC ~ BD ~ BE BF BG BH@2 BI@4 BJ BK BL BM BN@2 ~@5
>`.pickRestart({
A: "~@5 [g#4,c5]", B: "[[b4,d#5]@3 [a4,c#5]@2 [g#4,b4]@3 [f#4,a4] ~@3]/2", C: "[d#4,f#4]!2 [b3,e4]",
D: "[a#3,e4] [b3,d#4] ~", E: "[a#3,e4] [b3,d#4]@2", F: "b3 ~ a3, e4@2 ~, ~ c#4@2", G: "[d#4,f#4] [e4,g#4] ~",
H: "[~@8 d#5@18 c#5 c5 f#5 f5!2 d#5!2 c#5!2 c5]/3", I: "c5 a#4!2 b4!2 a#4!2 f5!2 a#4!2 a4",
J: "a4 g#4!2 a#4!2 g#4!2 d#5!2 g#4!2 f#4", K: "~ f4 f#4 a#4 c#5 a#5", L: "g#5@3 c5 c#5@2",
M: "~@2 [c4,a4]@2 [c#4,g#4] ~", N: "[~ [g4,c#5]@2 [g4,c#5] [g#3,g#4]@12 [a3,a4]@4 ~@2 [g#3,g#4]@2]/2",
O: "[[a3,a4]@2 [a3,a4]@4 a4@2 [d#5,f#5] [d#5,f#5]@2 [d#5,f#5]@2 [d#5,f#5] [c#5,e5]!2 [c5,d#5]!2 [g#4,c#5]!2 [f#4,a4]!2 [d#4,f#4]@2]/2", // A D#m C#m Cm C#5 F#m D#m
P: "[c#5,e5] [b4,d#5] [a4,c#5] [g#4,b4] [f#4,a4] [e4,g#4]", Q: "[c#5,e5] [c5,d#5] [b4,d5] [a#4,c#5] [a4,c5] [g#4,b4]",
R: "[f#4,a4] [d#4,f#4] [c#4,e4] [a#4,c#5] [a4,d5] [f#4,c5]", // F#m D#m C#m A#m D5 F#dim
S: "[e4,c#5] [c#5,g5] [d5,f#5] [a4,d5] [f#4,a4] [d#4,f#4]", T: "~@8 c#5 d#5 c5 d#5",
U: "~ [b3,d#4] [c#4,e4] [d#4,f#4] [d#4,g4] [e4,g#4]", V: "~@3 f#5 e5 c#5", W: "b4 a4 ~@4", X: "[~@2 g#4@2 a4 c#5]/2",
Y: "[f#4,b4]@3 a4 g#4@4 ~@4", Z: "f#4@4 f#4@2 f#4@2 g4@3 e4", AA: "g4 f#4 ~",
AB: "[~@2 [a4,f#5]@2 [a4,f5] [a#4,e5]]/2", AC: "[b4,d#5] [d#4,f#4] ~", AD: "[c#5,f#5]@3 f#4 [f#4,c#5]@4 ~@4",
AE: "[f#4,b4] [e4,a#4] [d4,g#4]", AF: "[c#4,c#5] ~", AG: "[c#5,g#5]@3 f#5 ~@2", AH: "a4 ~",
AI: "[e4,g#4] [g#4,b4] [e4,g#4]", AJ: "~@3 [g#4,b4] [a#4,c#5] [c#4,e4]", AK: "~ [d#4,f#4] [e4,g#4] ~@3",
AL: "~@5 a#4", AM: "c5 d#5 c#5 b4 a#4 c#5", AN: "b4 a4 [g#4,g#5] [a#4,a#5] [b4,b5] [g#4,g#5]",
AO: "[d4,d5] [b3,b4] [g#3,g#4] ~@3", AP: "[f#4,a4]@2 [e4,g#4]", AQ: "[c#4,g4]@2 [d#4,f#4] ~@3",
AR: "~ b3 d#4 f#4 g#4 [e4,b4]", AS: "[a#4,e5] ~ [b4,d#5] ~@3", AT: "e5 d#5 c#5 b4 a4 g#4",
AU: "a4 [d#4,f#4] [e4,b4]@2 ~@2", AV: "f#4@4 f#4@2 f#4@2 g4@3 e4, a#3", AW: "f#4@2 f#4!2 b3 f#4, a#3@2 a4",
AX: "[f#4,a4]@24 ~@8 e3@3 ~@2 b3@3 ~@3 d4@3 ~@2", // F#m
AY: "e3@3 ~@2 b3@3 ~@3 d4@3 ~@2 e3@3 ~@2 b3@3 ~@3 d4@3 ~@2 e3@3 ~@2 a3@3 ~@3 c#4@3 ~@2",
AZ: "e3@3 ~@2 a3@3 ~@3 c4@3 ~@2 e3@3 ~@2 g#3@3 ~@3 b3@3 ~@2 e3@3 ~@2 g#3@3 ~@3 b3@3 ~@2",
BA: "e3@3 ~@2 g#3@3 ~@3 b3@3 ~@2 e3@3 ~@2 g#3@3 ~@3 b3@3 ~@2 e3@3 ~@2 a3@3 ~@3 c#4@3 ~@2",
BB: "f#3@3 ~@2 a3@3 ~@3 d#4@3 ~@2 g#3@3 ~@2 b3@3 ~@3 e4@3 ~@18", BC: "[g#3,b4] [a3,e4] [c#4,a4]",
BD: "[g#3,f#5] [a3,e5] [c#4,a4]", BE: "e5@2 d#5 c#5 b4 a#4", BF: "a4 g#4 f#4 e4 d#4 c#4", BG: "b3 a3@2 g#3 ~@2",
BH: "[~@2 g4@2 [b3,g#4] [g#4,b4], a#3@2 ~]/2", // E G#m
BI: "[[a4,d#5]@3 [g#4,e5] e5@5 d5 d5@3 c#5 c#5@6 c5@2 b4@2, ~@2 g#4 ~@9]/4", BJ: "a#4@2 f#4", BK: "a4@2 d#4",
BL: "~@4 e4@2 ~ b3 g#4@2 ~ e4", BM: "b4@2 ~ g#4 e5@6 b4 ~", BN: "[e5@6 a#4 ~ e5@6 ~@10]/2",
})).s("gm_clarinet").gain(0.2)
// chords · bassoon
const bassoon = note(`<
A B C D@2 E F G H I J K@2 L@2 M N O P Q R S T U V W X Y Z AA AB AC@2 AD AE AF AG AH@2 AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV@2 AW@2 AX AY AZ BA BB BC BD BE@4 BF BG BH BI@2 BJ BK BL BM BN BO BP BQ BR BS@2 BT@2 BU@2 BV@2 BW BX BY BZ CA
CB CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS ~ CT CU@3 CV CW CX CY@3 CZ DA DB@2 DC
>`.pickRestart({
A: "g#3 a3 [e3,c#4,e4], [e3,e4]@2 ~", B: "[f#3,b3]@3 a3 [g#3,b3]@4 ~@4",
C: "~@4 f#3@2 f#3@2 [e3,g#3]@3 [e3,g3], e3@2 ~", D: "[g3@2 f#3 ~ d#4@4 d4@2 c4@2]/2", E: "b3@2 b3@2 ~ d#4",
F: "[c3,g3,g4] e3 g4", G: "g4 f#4 g3", H: "f#3 ~", I: "b3 ~", J: "d4@3 ~@2 [g#3,c4]",
K: "[[e3,b3,d#4,e4]@3 [a3,c#4]@2 [g#3,b3]@3 a3@4, ~@8 f#3 ~@3]/2", L: "[g#3@4 c#4@3 c4 b3 a3 g3@2]/2",
M: "g3@4 f#3@2 f#3@2 g3@3 e3", N: "e3 d#3 ~", O: "a3!2 [g#3,b3]", P: "g3 e3 [f#3,b3,d#4]@2 ~@2, [a#3,e4] ~@2",
Q: "[a2,a3]!2 [g#2,g#3,b3]", R: "[g#2,a#3,e4] e2 [b3,d#4] ~ a2@2, g3 f#3@2, ~ b2 ~",
S: "[b2,g#3] a3 [a3,c#4], e3@2 ~, ~ c#3@2", T: "[d#3,f#3,b3]@3 a3 [e3,g#3]@4 ~@4",
U: "f#3@4 f#3@2 f#3@2 [e3,g3]@3 e3, e3@2 ~", V: "~ e4 b3", W: "f#3@4 f#3@2 f#3@2 [b2,d#3,f#3]@3 b3, e3@2 ~",
X: "[b2,f#3] [e2,g#3] ~, b3@2 ~", Y: "~@8 e4@2 ~ g#3", Z: "e4@2 ~ g#3 e4@2 ~ g#3 e4@2 ~ g#3",
AA: "[a3,d#4]@3 a3 d#4@2 ~ a3 d#4@2 ~ a3", AB: "f#3@2 f#3@2 [g#3,b3]@3 [e3,g#3] [b3,e4]@2 ~ [g#3,b3]",
AC: "[[e4,g#4]@2 ~ [b3,e4] [g#4,b4]@2 ~ [e4,g#4] g#3@2 ~ g#3 [c#3,c#4]@2 ~ [c#3,c#4] [c#3,c#4]@2 ~ [c#3,c#4] [c#3,c#4]@2 ~ [c#3,c#4], ~@4 g#4@3 a4@2 a#4@2 e5]/2", // E E5 G#m E C#
AD: "[c#3,c#4]@2 ~ [c#3,c#4] ~ f5 f#5 e5 d#5 c#5 c5 a4, e5@2 [c#3,c#4] ~ [d#3,f#3] ~", // C# D#m
AE: "[c#3,c#4]@2 ~ [c#3,c#4] [c#3,c#4]@2 a4@2 [d#3,f#3,f#4]@2 d#4@2, g#4 ~", // C# D#m
AF: "e4 f4 f#4 e4 d#4 c#4 c4 a3 [c#3,g#3,c#4]@2 a3@2, [c#3,c#4] ~ [d#3,f#3] ~@3", // C#5 C# D#m
AG: "[d#3,f#3]@2 c#3@2 d#3 c#3 d#3 c#3 d#3 c#3 d#3 e3, ~ a2@2, ~ f#3 g3", // D#m
AH: "[e3@4 d#3@4 c#3@4 c3 c4@2 c4 ~ c#4@2 c#4 ~ e4@2 e4, [g#2,g#3]@2 ~]/2", AI: "~ d#4@2 d#4 ~ c4@2 c4 ~ c#4@2 c#4",
AJ: "~ c#4@2 c#4 ~ c#4@2 c#4 ~ c#4@2 c#4", AK: "~ c#4@2 c#4 ~ d#4@2 d#4 ~ d#4@2 d#4",
AL: "~ d#4@2 d#4 ~ c#4@2 c#4 ~ a#3@2 a#3", AM: "~ c4@2 c4 ~ c4@2 c4 ~ c#4@2 d4",
AN: "~ d#4@2 d4 ~ d#4@2 d4 ~ d#4@2 c4", AO: "~ c#4@2 c4 ~ c#4@2 c4 ~ a#3@2 c4",
AP: "~ g#3@2 g#3 ~ a#3@2 a#3 ~ c#4@2 c#4",
AQ: "~@3 c4 g#3 ~@2 g#3 ~ g#3@2 g#3, ~ c4@2 ~@2 g#3@2 ~@5, ~ d#4 ~ f#3 f3@2",
AR: "~ a#3@2 a#3 ~ a#3@2 a#3 ~ c#3@2 e3",
AS: "~ g#3 [c4,f#4] [c#4,f4] [d#4,f#4] f#4 f4 d#4 [c#3,c#4,f4] [c#3,c#4]@2 [c#3,c#4], g#4 ~@5", // Cdim C# D#m C#
AT: "~ a#3@2 a#3 ~ a#3@2 a#3 ~ c#3@2 [e3,c#4], ~@8 e4@3 ~", AU: "~ g#3@2 g#3 ~ g3@2 g3 ~ c#3@2 [e3,c#4], ~@8 e4@3 ~",
AV: "[~ [a#3,c#4,e4]@2 [a#3,c#4,e4] [g#3,g#4]@2 g#3@4 f#3 e3 d#3 f#3 e3 d#3 c#3 d#3 c3 d#3 c#3 e3 c3 d#3, ~@2 g#2@6 [a2,a3]@2 ~ [g#2,g#3]]/2", // A#dim G# A G#
AW: "[c#3 e3 ~ c#4 f#3 a3 d3 f#3 [d#4,f#4] [d#4,f#4]@2 [d#4,f#4]@2 [d#4,f#4] [c#4,e4]!2 [c4,d#4]!2 [g#3,c#4]!2 [f#3,a3]!2 [d#3,f#3,g#3]@2, [a2,a3] [a2,a3]@2 a3 c3@3 c#3 d#3 e3 ~@2]/2", // D#m C#m Cm C#5 F#m G#7 A
AX: "c#4!2 b3!2 a3!2 g#3!2 f#3!2 e3!2, e4 d#4 c#4 b3 a3 g#3",
AY: "c#4!2 c4!2 b3!2 a#3!2 a3!2 g#3!2, e4 d#4 d4 c#4 c4 b3",
AZ: "f#3!2 d#3!2 [e3,a3] e3 a#3 c#3 a3 d3 f#3 d#3, a3 f#3 c#3 [g3,e4] [f#3,d4] [g#3,c4]", // A5 C D G#
BA: "~ c#3 g4 c#4 f#4 d4!2 a3!2 f#3!2 d#3, [a3,c#4] [e3,a#4] f#3@2 g#3@2, ~@2 a4 f#4 d#4 c4", // A Edim
BB: "~@4 c5 c#5 a4 f#4 [e4,g#4] [f#4,a4] [d#4,f#4] [f#4,a4]", BC: "c4 c#4 a3 f#3 ~@2 e4@2 c#4@2 a#3@2",
BD: "~ b3 a#3 [b2,a3]@2 [e3,g#3,e4,g#4]", // B7 E
BE: "[[f#4,a4] b4 c5 [e4,a4,c#5] g#4 [e4,b4]@2 [c3,e3,c4]@2 e4!2 c4@2 e3 ~@3 e4 d#4 e4 f#4 e4 c#4 a3, ~ g#4@2 e3@2 ~@2 g4 ~ a3@2 ~@5 [b2,b3]@4 [g#2,g#3]@2 e3@2]/4", // F#m A E5 C B G#
BF: "g#3 f#3 e3 d#3 c#3 g3, [a3,e4] [b3,d#4] ~", BG: "f#3@4 f#3@2 f#3@2 [e3,g3]@3 e3",
BH: "g3@2 f#3 ~ [c3,e3]@2, b2@2 ~", BI: "[[b2,f#3]@3 ~ [d#3,f#3]@4 [d3,f3]@2 [c3,e3]@2]/2",
BJ: "b3@8 b3@13 ~@6 d#3@5 f#3@5 ~@6 f#3@5, f#2@21 b2@5 ~@11 f3@5 ~@6, ~@3 b3@2 d#4",
BK: "c#4@8 c#4@13 ~@6 c#3@5 e3@5 ~@6 e3@5, e2@21 a#2@5 ~@11 d#3@5 ~@6, ~@3 c#4@2 c#4",
BL: "d#3@5 ~@6 b3@5 c#3@5 ~@6 c#3@5 ~@11 f3@5, d#2@16 c#2@16 ~@5 d3@5 ~@6, f#4!2 e4!2 f4!2, ~@5 f#3@5 ~@11 e3@5 ~@6 b2@16",
BM: "c#4@5 f#4@5 ~ c#4@5 c#4@8 ~@24, [a#2,f#3] ~", BN: "c#3@5 f#3@5 ~ c#3@5 c#3@8 f#4@8 ~@16, [c#4,g#4] ~",
BO: "a3@5 a3@5 ~ d#4@5 d#4@5 f4@3 ~@3 f#4@3 ~@2 g4@3 ~@2 f#4@3 ~@3 g4@3 ~@2, d#4@11 ~@37",
BP: "g#4@5 g4@5 ~ g#4@5 b4@5 g4@5 ~ g#4@5 b4@5 a#4@5 ~ g#4@5, [e3,g#3] [g#3,b3] [e3,g#3]", // E G#m E
BQ: "~ [g#3,f#4] [c#4,f4,g#4]@2 ~ [f#3,e4], c5 ~ a#4", BR: "[a3,d#4] e3@2, f#4 ~@5",
BS: "[d#3@4 g#3@3 g3 f#3 e3 d3@2]/2", BT: "[d3 c#3 f#3 g#3 [c#4,f4] [f#3,e4], ~ f#4 ~]/2",
BU: "[[b3,d#4] f3@3 f3 [e3,g3], ~ d4@4 ~]/2", BV: "[d#3 d3 g#3 [g3,a#3] f#3 f3, f#3 c#3 ~]/2", BW: "e3@2 d#3",
BX: "~ d#4 d#3 f#3 ~ b3, a3@2 ~, f#3@3 ~ [e3,g#3]@2", BY: "[e3,a#3]@2 [b2,b3] ~@3", BZ: "[a2,a3,b3]@2 [g#2,g#3,b3]",
CA: "[g2,g3,c#4] [e2,e3] [b2,b3]@2 [a2,a3]@2, ~@2 d#4 ~@3", CB: "[g#2,g#3] [a2,a3] [c#3,c#4]",
CC: "[b2,b3]@3 [a2,a3] [g#2,g#3]@4 ~@4", CD: "[a#2,f#3]@2 [a#2,g3]", CE: "~ g#3 e4",
CF: "[a#2,f#3]@32 ~@5 [b3,a4]@3 ~@3 [b3,a4]@3 ~@2, ~@2 [b2,f#3]", // D#m B7 B5
CG: "~@5 [b3,a4]@3 ~@3 [b3,a4]@3 ~@7 [b3,a4]@3 ~@3 [b3,a4]@3 ~@7 [b3,g#4]@3 ~@3 [b3,g#4]@3 ~@2, [f#3,a3]@2 [e3,g#3]", // B7 E F#m E
CH: "~@5 [b3,g#4]@3 ~@3 [b3,g#4]@3 ~@7 [b3,g#4]@3 ~@3 [b3,g#4]@3 ~@7 [b3,a4]@3 ~@3 [b3,a4]@3 ~@2", // E B7
CI: "~@5 [f#3,d#4]@3 ~@3 [f#3,d#4]@3 ~@7 [g#3,e4]@3 ~@3 [g#3,e4]@3 ~@7 [g#3,e4]@3 ~@3 [g#3,e4]@3 ~@2", // D#m C#m
CJ: "~@5 [e3,d4]@3 ~@3 [e3,d4]@3 ~@7 [e3,d4]@3 ~@3 [e3,d4]@3 ~@7 [e3,c#4]@3 ~@3 [e3,c#4]@3 ~@2", // E7 C#m
CK: "~@5 [e3,c4]@3 ~@3 [e3,c4]@3 ~@10 [e3,g#3,b3]@8 [g#3,b3]@8 [b3,e4]@8", CL: "g#3 a3 [c4,c#4], e4@2 ~",
CM: "b3@2 e4", CN: "[g#3,d#4] [a3,c#4] c#4", CO: "d#4 e4@2", CP: "a#3 b3 [d#3,f#3]", CQ: "e3 a2 b2, ~ e3@2",
CR: "[d#2,f#3] [e2,e3] ~, b2@2 ~", CS: "[f#3,f#4]@4 [f#3,f#4]@2 [f#3,f#4]@2 [g3,g4]@3 [e3,e4]",
CT: "~@4 g#3@2 ~ e3 e4@3 g#3, ~@4 b3 ~",
CU: "[e4@2 ~ b3 ~@2 d4@2 d4@6 c#4@2 ~@4 a#3@8 [a3,c4]@4 [g3,b3]@4, ~ g#4 ~@2 c#4@3 ~@2]/3", CV: "[f#3,a#3]",
CW: "~ d#3 f#3, a3, f#3@2 ~", CX: "~@4 e3@2 ~ b2 [e3,g#3]@3 e3, f#3@3 e3 ~@2",
CY: "[b3@2 ~ g#3 ~@2 d3@2 ~@2 b3 ~@3 c#3@2 ~@2 a#3 ~ [c#3,a#3]@8 c3@4 [a2,c3]@4, ~@2 e4@3 ~ e4@3 ~@5 a3@4, ~@4 d3@3 ~ c#3@2 ~@8]/3", // F# Am
CZ: "[e2,b2], g#3@2 ~", DA: "[e2,b2]", DB: "[e3 e3, e2]/2", DC: "[e2,b2,e3]",
})).s("gm_bassoon").gain(0.2)
// … 135 more lines
More by J. Wilson
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.