Strudelify
Strawberry Fields Forever cover art

Love

Strawberry Fields Forever

The Beatles

KeyB♭ majorTempo97 bpm
0:00/0:00
// Strawberry Fields Forever — The Beatles
// 97 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 "Pan Flute" pan flute (copy of ch 4 "Whistle" whistle)
// note: Full arrangement: all 86 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(97/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 · fretless bass · "Frtls/ODr"
const fretless_bass = note("<~@3 A@4 B C D E F G H@7 I@5 ~@61>".pickRestart({
  A: "[~@28 [d3,f3]@69 ~ ab3@2 ~@2 ab3@2 ~@2 ab3@2 ~@3 ab3@2 ~@2 ab3@2 ~@2 ab3@2 ~@3 ab3@2 ~@2]/4", // Dm
  B: "ab3@2 ~@2 ab3@2 ~@3 ab3@2 ~@2 ab3@2 ~@2 ab3@2 ~@3 ab3@2 ~@2 ab3@2 ~@2 ab3@2",
  C: "~@3 ab3@2 ~@2 g3@2 ~@2 g3@2 ~@3 g3@2 ~@2 g3@2 ~@2 g3@2 ~@3 g3@2 ~",
  D: "~ g3 ~@3 g3 ~@4 g3 ~@3 g3 ~@3 g3 ~@4 g3 ~@3 g3 ~@3 g3",
  E: "~@3 g3 ~@4 g3 ~@3 g3@2 ~@2 g3@2 ~@3 g3@2 ~@2 g3@2 ~@2 g3@2 ~",
  F: "~@2 g3@2 ~@2 g3 ~@3 g3 ~@4 g3 ~@3 g3 ~@3 g3 ~@4 g3 ~@3", G: "g3 ~@3",
  H: "[~@20 f2@34 f2@33 ~ g2@16 ~ f2@16 ~@2 eb2@17 eb3@2 ~@2 eb3@2 ~@2 eb3@2 ~@3 eb3 ~@3 eb2@17 f2@17 bb2@8 ~ a2@8 g2@8 ~ f2@7]/7",
  I: "[~ eb2@17 f2@17 ~ eb2@17 bb2@17 f3@68 ~@22]/5",
})).s("gm_fretless_bass").gain(0.13).pan(1)

// other · overdriven guitar · "Frtls/ODr"
const overdriven_guitar = note("<~@72 A B@2 ~@2 C@3 ~@6>".pickRestart({
  A: "~@11 g4@11 ~ eb4@4 ~ d4@4", B: "[~@2 c4 ~ c4@44 ~@16]/2", C: "[~@25 eb4@4 d4@56 ~@11]/3",
})).s("gm_overdriven_guitar").gain(0.52)

// bass · acoustic bass · "Ac. Bass"
const bass = note("<~@3 A@4 B C@2 D@2 E@8 F G@8 H@4 ~@10 I@6 J@4 ~@8 K@5 L@4 M@3 ~@13>".pickRestart({
  A: "[~@28 bb2@69 ~ f2@28 ~@2]/4", B: "f2 ~ f2@14", C: "[~@3 d2@4 g2@34 ~ g2@15 ~@2 g2@5]/2",
  D: "[~@3 f2@6 ~@3 eb2@6 ~@3 eb2@3 ~ f2@4 g2@6 ~@3 g2@6 ~@3 g2@6 ~@2 g2@6 ~@3]/2",
  E: "[eb3@9 ~@4 d3@7 ~ c3@4 ~ bb2@26 f2@34 f2@33 ~ g2@16 ~ f2@16 ~@2 eb2@34 eb2@17 f2@17 bb2@7 ~@2 a2@7 ~ g2@7 ~@2 f2@7]/8",
  F: "~ eb2@17 f2@14", G: "[~@4 eb3@8 d3@4 c3@4 ~ bb2@17 bb1@68 f2@33 ~ f2@16 ~ eb2@16 ~ d2@68 eb2@13 f2]/8",
  H: "[~@3 g2@34 eb2@12 eb2@12 ~ bb1@59 ~@7]/4", I: "[~@9 f2@32 ~@2 f2@16 eb2@16 ~ d2@66 ~ eb2@12 f2@4 g2@33]/6",
  J: "[~ eb2@12 eb2@12 ~ bb1@75 ~@27]/4", K: "[~@29 f2@32 ~ f2@15 ~ eb2@16 ~ d2@65]/5",
  L: "[eb2@12 f2@4 g2@32 ~ eb2@12 eb2@12 bb1@16 ~ g2@16 eb2@12 eb2@10]/4",
  M: "[~@2 bb1@24 ~ eb2@12 f2@12 eb2@32 ~@13]/3",
})).s("gm_acoustic_bass").gain(0.71).pan(0.1)

// chords · whistle
const whistle = note("<A@6 B@6 C@4 D@4 E F@4 ~@61>".pickRestart({
  A: "[~@2 [a4,c5]@5 ~@4 [a4,c5]@5 ~@4 [a4,c5]@5 ~@4 [a4,c5]@5 ~@3 [a4,c5]@5 ~@4 [a4,c5]@9 [g4,bb4]@8 [gb4,a4]@9 ~@9 bb4@9 ~@8 a4@5 ~@4 [eb4,g4]@4 ~@5 [d4,f4]@8 bb3@68, ~@2 f4@17 ~ e4@17 eb4@35 d4@13 ~@5 c4@13 bb3@15 ~@74, ~@76 g4@13 ~@5 f4@11 ~@87]/6", // Am Gm Gbm Eb Dm
  B: "[~@2 ab3@69 [d4,g4,b4]@69 [g4,bb4]@4 ~@5 [g4,bb4]@4 ~@4 [g4,b4]@4 ~@5 [g4,b4]@4 ~@5 [g4,b4]@4 ~@4 [g4,b4]@4 ~@5, ~@140 eb4@17 d4@30 ~@5]/6", // G Gm G
  C: "[[eb4,g4,bb4]@9 ~@4 [eb4,g4,bb4]@8 ~@5 bb3@26 [a4,c5]@5 ~@3 [a4,c5]@5 ~@4 [a4,c5]@5 ~@3 [a4,c5]@5 ~@4 [a4,c5]@4 ~@5 [a4,c5]@6 ~@2 [g4,bb4]@5 ~@4 [gb4,a4]@3 ~@5 [g4,bb4]@8, ~@52 f4@17 e4@17 eb4@34 ~@8]/4", // Eb Am Gm Gbm Gm
  D: "[~@9 [f4,a4]@9 ~@9 [eb4,g4]@30 [g4,bb4]@2 [gb4,a4]@2 [g4,bb4]@13 ~@4 [a4,c5]@13 ~@4 [bb4,d5]@5 ~@4 [a4,c5]@5 ~@3 [g4,bb4]@5 ~@4 [f4,a4]@5 ~@2]/4", // F Eb Gm Gbm Gm Am Bb Am …
  E: "~ [g4,bb4]@13 ~@4 [a4,c5]@13 ~", F: "[~@4 [g4,bb4]@13 ~@4 [f4,bb4]@17 bb3@68 ~@22]/4",
})).s("gm_whistle").gain(0.21).pan(0)

// chords · sitar · "RevCym/Si"
const sitar = note("<~@31 A@4 ~@15 B@3 ~@26 C D@2 E F G H>".pickRestart({
  A: "[~@74 e4@16 ~ eb4@16 ~@21, ~@23 eb5@17 f4@34 ~@54, ~@28 d5@17 eb4@19 ~@64, ~@32 bb4@17 d4@19 ~@60, ~@36 ab4@17 bb3@40 ~@35]/4",
  B: "[~@47 bb3@38 ~@11, ~@18 eb5@17 f4@19 ~@42, ~@23 d5@16 eb4@19 ~@38, ~@27 bb4@16 d4@19 ~@34, ~@31 ab4@19 ~@46]/3",
  C: "~@25 eb4@7", D: "[~ f4@7 ~ bb4@7 ~@2 ab4@23 ~ ab4@4 ~@8 d5@10, ~@23 f4@9]/2",
  E: "~@2 bb4@7 ~ ab4@7 ~ f4@7 ~ eb5@6", F: "~@2 d5@7 ~ d5@7 ~ ab4@7 ~ f4@6", G: "~@2 f5@7 ~ eb5@7 ~ d5@14",
  H: "~@2 bb4@7 ~ ab4@7 ~@15",
})).s("gm_sitar").gain(0.31)

// chords · trombone · "Bones/HTP"
const trombone = note("<~@28 A B@8 C D@5 E ~ F G H@6 I@3 ~ J@4 K@4 L M@4 N ~@2 O ~@12>".pickRestart({
  A: "~@18 [eb4,g4]@13 [f4,a4]", // Eb F
  B: "[~@3 b4@34 ~@25 f4@58 ~ [f4,a4,c5]@17 [e4,a4,c5]@17 [a4,c5]@17 [g4,bb4]@8 [gb4,a4]@8 ~ [d4,g4,bb4]@17 [f4,g4,bb4]@16 [eb4,g4]@33 ~, ~@3 g4@59 ~@93 eb4@34 ~@67, ~@37 bb4@83 ~@136]/8", // F Am Gm Gbm Gm Gm7 Eb
  C: "[bb3,eb4,g4]@17 [a3,eb4,f4]@15", // Eb F7
  D: "[~@2 [bb3,d4,f4]@17 [bb3,d4,g4]@16 [bb3,eb4,g4]@17 [a3,eb4,f4]@17 [bb3,eb4,g4]@17 [bb3,d4,f4]@67 ~@7]/5", // Bb Gm Eb F7 Eb Bb
  E: "~@16 [f4,ab4] ~ [f4,ab4] ~@13", F: "~@19 [f4,ab4]!2 ~@11", G: "~@9 [f3,f4]@2 ~ [f3,f4]@2 ~ [f3,f4]",
  H: "[~@4 [f3,f4]@4 ~@3 [f3,f4]@3 ~ [eb4,g4]@12 [f4,a4]@4 b4@33 ~@26 f4@57 ~ [a4,c5]@5 ~@3 [a4,c5]@5 ~@3 [a4,c5]@5 ~@3 [a4,c5]@5 ~@4 [a4,c5]@5 ~@3 [a4,c5]@3, ~@31 g4@58 ~@59 f4@17 ~@27, ~@65 bb4@81 ~@18 e4@17 eb4@11]/6", // F Eb F Am
  I: "[~@5 [eb4,g4,bb4]@6 ~@2 [eb4,gb4,a4]@6 ~@3 [g4,bb4]@5 ~@3 [g4,bb4]@5 ~@3 [g4,bb4]@5 ~@4 [g4,bb4]@5 ~@3 [eb4,g4,bb4]@33 ~@8, ~@22 d4@16 f4@17 ~@41]/3", // Eb Ebdim Gm Eb
  J: "[~@26 [bb3,eb4,g4]@16 [a3,eb4,f4]@16 ~ [bb3,eb4,g4]@16 [bb3,d4,f4]@52 ~]/4", // Eb F7 Eb Bb
  K: "[[bb3,d4,f4]@2 ~@3 [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 ~@2 [f4,ab4,c5]@32 ~@34 [g4,b4]@32 ~, ~@62 f4@12 eb4@15 ~@2 d4@36 ~, ~@66 ab4@11 ~ ab4@16 ~@34, ~@70 c5@11 ~ c5@12 ~@34]/4", // Bb Fm G
  L: "~@3 [f3,f4]@4 ~@3 [f3,f4]@4 ~@2 [f3,f4]@4 ~@2 [f3,f4]@4 ~@2 [f3,f4]@3 ~", // F
  M: "[[eb4,g4]@12 [f4,a4]@4 b4@33 ~@24 f4@33 g4@22, ~@16 g4@57 ~@55, ~@49 bb4@57 bb4 ~@21]/4", N: "~ f4@12 ~@3",
  O: "~@4 [bb4,d5,f5]@5 ~@23", // Bb
})).s("gm_trombone").gain(0.4).pan(1)

// chords · piano · "Bones/HTP"
const piano = note("<~@73 A B C D@4 E@6>".pickRestart({
  A: "~@20 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@4", // Bb
  B: "~@4 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@4", // Bb
  C: "~@4 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@3 [bb4,d5,f5]@5 ~@4 [bb4,d5,f5]@3", // Bb
  D: "~@5 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@3", // Bb
  E: "[~@5 [bb4,d5,f5]@4 ~@5 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@4 [bb4,d5,f5]@4 ~@14]/6", // Bb
})).s("gm_piano").gain(0.12).pan(0.4)

// chords · fretless bass · "Frtls/ODr"
const fretless_bass_2 = note("<~@5 A@3 ~@15 B@3 ~@16 C@3 ~@16 D@2 ~@23>".pickRestart({
  A: "[~@4 [f4,bb4,d5]@13 ~@7]/3", B: "[~@25 [f4,bb4,d5]@51 ~@20]/3", C: "[~@25 [f4,bb4,d5]@50 ~@21]/3",
  D: "[~@13 [f4,bb4,d5]@49 ~@2]/2", // Bb
})).s("gm_fretless_bass").gain(0.53).pan(0)

// other · overdriven guitar · "Frtls/ODr"
const overdriven_guitar_2 = note("<~@72 A@3 ~@2 B@3 ~@6>".pickRestart({
  A: "[~@19 bb2@56 ~@21]/3", B: "[~@21 bb2@67 ~@8]/3",
})).s("gm_overdriven_guitar").gain(0.44)

// bass · contrabass · "Contras"
const bass_2 = note("<~@24 A B@8 ~@3 C D E F G H@8 I@3 ~@3 J@3 K@4 L M@3 N@4 O@3 P@2 Q R@5 ~@5>".pickRestart({
  A: "~@10 f2@7 ~ ab2@7 ~@2 c3@5",
  B: "[~@3 ab2@7 ~@2 f2@7 ~ ab2@7 ~@2 eb2@7 ~ ab2@7 ~@2 d2@67 ~ eb2@13 f2@4 g2@8 b2@2 d3@2 ~ [d2,d3]@21 eb3@12 eb3@13 bb2@59 ~@7]/8", // D
  C: "~@15 g2@7 ~@2 f2@7 ~", D: "eb2@16 ~ f2@15", E: "~@2 bb2@16 ~ g2@7 ~ f2@5",
  F: "~@3 eb2@2 ~@3 eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2",
  G: "~ f2@2 ~@2 eb2@2 ~@2 g2@2 ~@2 bb2@2 ~@2 g2@2 ~@3 bb1@2 ~@2 d2@2 ~@2 f2@2",
  H: "[~@2 d2@2 ~@69 g2@42 ~@8 f2@9 bb2@8 d2@66 ~ eb2@12 f2@4 g2@8 ~ b2@2 d3@2 [d2,d3]@20, ~@6 bb2@105 ~@4 bb2@11 ~@130]/8", // D
  I: "[~ eb3@12 eb3@13 bb2@58 ~@12]/3",
  J: "[~@7 [g2,g3]@7 ~@2 [f2,f3]@7 ~ [eb2,eb3]@5 ~ [f2,f3]@5 [g2,g3]@4 ~ [f2,f3]@5 ~ [g2,g3]@5 ~ [a2,a3]@4 ~ [bb2,bb3]@5 ~ [f2,f3]@5 [d2,d3]@5 [g2,g3]@7 ~@2 [f2,f3]@7 ~ [eb2,eb3]@2 ~@2 [eb2,eb3]@2]/3", // G F Eb F G F G A …
  K: "[~@2 [eb2,eb3]@2 ~@2 [eb2,eb3]@2 ~@2 [f2,f3]@2 ~@2 [f2,f3]@2 ~@2 [f2,f3]@2 ~@3 [f2,f3]@2 ~@2 [eb2,eb3]@2 ~@2 [g2,g3]@2 ~@2 [bb2,bb3]@2 ~@2 [g2,g3]@2 ~@2 [bb1,bb2]@2 ~@2 [d2,d3]@2 ~@2 [f2,f3] ~ [eb2,eb3] ~ [d2,d3] ~ [c2,c3] ~@2 bb2@65 f2@3, ~@30 bb1@25 ~@9]/4", // Eb F Eb G Bb G Bb D …
  L: "~ ab2@3 ~ c3@3 ~ ab2@3 ~@2 f2@3 ~ ab2@3 ~ c3@3 ~ ab2@3 ~ [f2,ab2]@2", // Fm
  M: "[~@2 [f2,ab2]@3 ~ [f2,ab2]@3 ~ [f2,ab2]@3 ~ [eb2,ab2]@3 ~ [eb2,ab2]@3 ~ [eb2,ab2]@3 ~@2 [eb2,ab2]@3 ~ [d2,g2]@3 ~ [d2,g2]@3 ~ [d2,g2]@3 ~ [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@3 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 [d2,g2]@2 ~@2 d2@2 ~@2, ~@92 g2 ~@3]/3", // Fm Ab5 G5
  N: "[eb2@11 f2@5 g2@8 b2@2 ~ d3@2 [d2,d3]@20 eb3@12 eb3@12 bb2@16 ~ g2@16 eb3@12 eb3@10]/4", // D
  O: "[~@2 bb2@24 ~ eb3@12 f3@12 eb3@33 ~@12]/3", P: "[~@10 eb3@10 bb2@39 ~ bb2@4]/2",
  Q: "~@4 bb3@6 ~@2 eb3@2 ~@2 f3@2 ~@2 g3@2 ~@3 eb3@2 ~@2 c3@2 ~",
  R: "[~ d3@2 ~@2 eb3@2 ~@2 f3@2 ~@2 bb2@23 ~ bb3@32 ~@16 d3@48 ~@27]/5",
})).s("gm_contrabass").gain(0.45).pan(1)

// chords · piano · "Kick, etc"
const piano_2 = note(`<
  ~@5 A B C D E@2 F G ~@2 H I J K@2 L@2 M N O@4 P@4 ~@3 Q@2 R S T@3 U V@2 W@4 X ~@4 Y@2 Z AA S AB AC AD@5 AE AF AG AH AI
  AJ ~ AK AL AM@4 AN AO AP@2 AQ AP AR
>`.pickRestart({
  A: "~@23 b1@4 ~ b1@4", B: "~@2 b1@4 ~@13 b1@3 ~ b1@4 ~@5", C: "b1@3 ~ b1@4 ~@14 b1@3 ~ b1@4 b1@2",
  D: "~@3 b1@4 b1@4 ~@13 b1@3 ~@2 b1@3", E: "[~@5 b1@3 ~@2 b1@4 ~@13 b1@3 ~ b1@4 ~@9 b1@3 ~@10 b1@3 ~ b1@3]/2",
  F: "~@2 b1@4 ~@4 b1@3 ~@2 b1@3 ~@14", G: "b1@4 ~@9 b1@4 ~@9 b1@4 ~@2", H: "~@6 b1 ~",
  I: "~@9 b1@4 ~ b1@4 ~@4 b1@4 ~ b1@4 ~", J: "~@12 b1@4 b1@4 b1@4 ~ b1@4 b1@3",
  K: "[~@14 b1@4 b1@4 ~@5 b1@4 b1@4 ~@13 b1@4 ~ b1@4 ~@4 b1@3]/2",
  L: "[~ b1@4 ~@13 b1@4 ~ b1@4 ~@4 b1@4 ~ b1@4 ~@13 b1@4 b1@4 ~@3]/2", M: "~ b1@4 ~ b1@4 ~@22",
  N: "~@12 b1@4 b1@4 ~ b1@4 b1@4 ~@3",
  O: "[~ b1@4 ~ b1@4 f2@2 f2@2 ~@4 e2@2 ~ f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2@2 f2@2 ~, ~@10 b1@4 ~@13 b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@13 b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@13 b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@12]/4",
  P: "[~ f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2@2 f2@2 ~@2 b1@4 ~@8 b1@4 ~@9 b1@4 ~@30, ~ b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@13 b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@13 f2@2 ~@10 f2@2 ~@45]/4",
  Q: "[~@22 a4@6 ~@3 a4@6 ~@2 a4@6 ~@3 a4@6 ~@2 a4@6 ~@2]/2", R: "a4@6 ~@3 a4@6 ~@2 a4@6 ~@3 a4@6",
  S: "~@2 a4@6 ~@2 a4@6 ~@3 a4@6 ~@2 a4@5",
  T: "[~@4 a4@6 ~@2 a4@6 ~@2 a4@6 ~@3 a4@6 ~@2 a4@6 ~@3 a4@6 ~@2 a4@6 ~@2 a4@6 ~@28]/3",
  U: "~@12 b1@4 b1@4 b1@4 ~ b1@4 ~@3",
  V: "[~ f2!2 ~@2 b1@4 b1@4 ~@5 e2@2 f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 b1@3 f2@2, ~ b1@4 f2 ~@3 f2@2 ~@15 b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@12 f2@2 ~@3]/2",
  W: "[b1@4 e2@2 f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 f2@2 b1@4 b1@3 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 b1@3 f2@2 b1@4 e2@2 f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 ~ f2 f2@2 ~@2, f2@2 ~@6 f2@2 ~@2 b1@4 ~@13 b1@4 f2@2 ~@6 f2@2 ~@2 f2@2 ~@15 b1@4 f2@2 ~@7 f2@2 ~@2 b1@4 ~@12 f2@2 ~@3 f2@2 ~@6 f2@2 ~@2 b1@4 ~@12]/4",
  X: "~ b1@4 ~@8 [b1,f2]@4 ~@9 b1@4 ~@2, ~ f2@2 ~@29", // Bdim
  Y: "[~@15 a4@6 ~@2 a4@6 ~@2 a4@6 ~@3 a4@6 ~@2 a4@6 ~@2 a4@6 ~@2]/2", Z: "a4@6 ~@3 a4@6 ~@2 a4@6 ~@2 a4@6 ~",
  AA: "~ a4@6 ~@3 a4@6 ~@2 a4@6 ~@2 a4@6", AB: "~@3 a4@6 ~@2 a4@6 ~@3 a4@6 ~@6", AC: "~@28 f2@2 ~ f2",
  AD: "[b1@4 ~ b1@4 f2@2 f2@2 b1@4 ~@4 f2@2 f2@2 f2@2 f2@2 f2@2 f2@2 ~@4 e2@2 ~ f2 f2@2 ~@3 f2@2 f2@2 b1@4 e2@2 f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 b1@3 f2 b1@4 e2@2 ~ f2@2 b1@4 f2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 f2@2 b1@4 b1@3 f2 f2@2 ~@3 e2@2 f2@2 f2@2 ~@2 f2@2 f2@2 b1@4 e2@2 f2@2 b1@4, f2@2 ~@7 b1@4 f2@2 ~@6 b1@4 b1@4 b1@4 ~@13 b1@4 f2@2 ~@6 f2@2 ~@2 b1@4 ~@12 f2@2 ~@2 f2@2 ~@7 f2@2 ~@2 b1@4 ~@12 b1@4 f2@2 ~@6 f2@2 ~@2 f2@2 ~@15 b1@4 f2@2 ~@6 f2@2 ~@2]/5",
  AE: "f2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 b1@3 f2 b1@4 e2@2 ~ f2@2 [b1,f2]@3, b1@2 ~@6 f2 ~ f2 ~@5", // Bdim
  AF: "~ f2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 b1@4 ~@8 [b1,f2]@3, ~ b1@4 ~@12 f2@2 ~@13", AG: "~@9 b1@4 ~@13 f2@2 ~@4",
  AH: "f2!2 ~@3 b1@2 ~@4 b1@2 ~@3, ~@5 f2 ~@5 f2 ~@4", AI: "~@2 b1@4 ~@4 f2@2 ~@5 f2@2 f2@2 ~@6 b1@4 ~, ~@27 f2@2 ~@3",
  AJ: "~@7 b1@4 ~@8 b1@4 ~@9, ~@7 f2@2 ~@23",
  AK: "~@4 b1@4 ~@4 f2!2 ~@2 b1@4 [d2,f2]@2 ~@6 [d2,e2]@2 f2@2, ~@12 b1@4 f2 ~@3 b1@4 ~@8", // Dm Dsus2
  AL: "f2 ~ [d2,f2] f2 b1@2 [d2,e2] f2 b1@2 [d2,f2] f2!2 ~ [d2,e2] f2, ~@2 b1@2 f2 ~@3 f2 ~ b1@2 ~@4", // Dm Dsus2 Dm Dsus2
  AM: "[f2@2 ~@2 [d2,f2]@2 ~ f2 b1@4 [d2,e2]@2 ~ f2 b1@4 ~ d2@2 f2@2 f2@2 ~@2 e2@2 f2@2 f2@2 ~@2 [d2,f2]@2 f2@2 b1@4 [d2,e2]@2 f2@2 b1@4 [d2,f2]@2 f2@2 f2@2 ~@2 [d2,e2]@2 f2@2 f2@2 ~@2 [d2,f2]@2 f2@2 b1@4 [d2,e2]@2 f2@2 b1@4 [d2,f2]@2 ~@6 [d2,e2]@2 f2@2 f2@2 ~@2 [d2,f2]@2 f2@2 b1@4 [d2,e2]@2 f2@2 b1@4 [d2,f2]@2 f2@2 f2@2 ~@2 [d2,e2]@2 ~, ~@4 b1@3 ~ f2@2 ~@6 f2@2 ~@2 b1@4 ~@4 d2@2 ~@7 b1@4 ~@12 b1@4 ~@12 b1@4 ~@12 b1@4 ~@12 b1@4 ~@12 b1@4 ~@7, ~@20 f2@2 ~@19 f2@2 ~@6 f2@2 ~@22 f2@2 ~@6 f2@2 ~@22 f2@2 ~@6 f2@2 ~@13]/4", // Dm Dsus2 Dm Dsus2 Dm Dsus2 Dm Dsus2 …
  AN: "f2 f2@2 ~@2 [d2,f2]@2 ~ f2 b1@4 [d2,e2]@2 ~ f2 b1@4 [d2,f2]@2 ~@6 [d2,e2]@2 ~, ~@5 b1@3 ~ f2@2 ~@6 f2@2 ~@2 b1@4 ~@7", // Dm Dsus2 Dm Dsus2
  AO: "f2 f2@2 ~@3 d2@2 f2 b1@4 ~ [d2,e2]@2 f2@2 b1@3 ~ f2@2 f2@2 f2@2 ~@2 [d2,e2]@2, ~@5 b1@4 ~@12 d2@2 ~@9, ~@5 f2@2 ~@2 f2@2 ~@7 f2@2 ~@2 b1@4 ~@6", // Dsus2
  AP: "f2!2 ~ [d2,f2] f2 b1@2 [d2,e2] f2 b1@2 [d2,f2] f2!2 ~ [d2,e2], ~@3 b1@2 f2 ~@3 f2 ~ b1@2 ~@3", // Dm Dsus2 Dm Dsus2
  AQ: "f2!2 ~ [d2,f2] f2 b1@2 [d2,e2] f2 b1@2 [d2,f2] ~@3 [d2,e2], ~@3 b1@2 f2 ~@3 f2 ~ b1@2 ~@3", // Dm Dsus2 Dm Dsus2
  AR: "f2!2 ~ [d2,f2] f2 b1@2 [d2,e2] f2 b1@2 ~@5, ~@3 b1@2 f2 ~@3 f2 ~@6", // Dm Dsus2
})).s("gm_piano").gain(0.5).pan(0)

// chords · piano · "Kick, etc" · soft notes
const piano_soft = note(`<
  ~@24 A B C D@2 E F ~@4 G H@2 I J K ~@2 L M B N O P@2 ~@4 Q R@3 S T U V W C X Y Z@2 AA AB AC ~@2 AD AE AF AG AH AI AJ
  AK AL@2 AM AL AN
>`.pickRestart({
  A: "~@16 f2@2 ~@7 f2@2 ~@5", B: "~@2 f2@2 ~@6 f2@2 ~@7 f2@2 ~@6 f2@2 ~@3", C: "~@4 f2@2 ~@6 f2@2 ~@7 f2@2 ~@6 f2@2 ~",
  D: "[~@6 f2@2 ~@6 f2@2 ~@6 f2@2 ~@7 f2@2 ~@6 f2@2 ~@7 f2@2 ~@6 f2@2 ~@6]/2",
  E: "~ f2@2 ~@6 f2@2 ~@7 f2@2 ~@6 f2@2 ~@4", F: "~@3 f2@2 ~@27", G: "~@5 d5 ~ d5",
  H: "[~@5 d5@4 ~@4 d5@4 ~@5 d5@4 ~@4 d5@4 ~@4 d5@4 ~@5 d5@4 ~@4 d5@4 ~@5]/2", I: "d5@4 ~@4 d5@4 ~@4 d5@4 ~@5 d5@4 ~@3",
  J: "~ d5@4 ~@5 d5@4 ~@4 d5@4 ~@4 d5@4 ~@2", K: "~@3 d5@4 ~@4 d5@4 ~@4 d5@4 ~@5 d5@4",
  L: "~@4 f2 ~@3 f2 ~@5 f2@2 ~@8 f2@2 ~@6", M: "f2@2 ~@7 f2@2 ~@6 f2@2 ~@6 f2@2 ~@5",
  N: "~@3 f2@2 ~@7 f2 ~@7 f2@2 ~@6 f2@2 ~@2", O: "~@4 f2@2 ~@7 f2@2 ~@6 f2@2 ~@6 f2@2 ~",
  P: "[~@6 f2@2 ~@6 f2@2 ~@6 f2@2 ~@7 f2@2 ~@31]/2", Q: "~@12 d5@4 ~@5 d5@4 ~@4 d5@3",
  R: "[~@5 d5@4 ~@4 d5@4 ~@5 d5@4 ~@4 d5@4 ~@4 d5@4 ~@4 d5@4 ~@5 d5@4 ~@4 d5@4 ~@4 d5@4 ~@4 d5@4 ~@5 d5@4 ~@4]/3",
  S: "d5 ~ d5 ~ d5 ~ d5 ~", T: "~ d5@4 ~@4 d5@4 ~@4 d5@4 ~@11", U: "~@27 f2 ~@4", V: "~@7 f2@2 ~@10 f2@2 ~@11",
  W: "~@3 f2@2 ~@7 f2@2 ~@6 f2@2 ~@6 f2@2 ~@2", X: "~@5 f2@2 ~@6 f2@2 ~@6 f2@2 ~@6 f2@2 ~",
  Y: "~@3 f2 ~@3 f2 ~@3 f2 ~@3 f2", Z: "[~@6 f2@2 ~@6 f2@2 ~@7 f2@2 ~@6 f2@2 ~@6 f2@2 ~@6 f2@2 ~@15]/2",
  AA: "~@14 f2 ~", AB: "~@2 f2!2 ~@12", AC: "~@13 f2@2 ~@6 f2@2 f2@2 ~@7", AD: "~@7 f2 ~ f2 ~@2 f2 ~@3",
  AE: "~ f2 ~@3 f2 ~@3 f2 ~@3 f2 ~@2", AF: "~@2 f2@2 ~@7 f2@2 ~@6 f2 ~@7 f2@2 ~@3",
  AG: "~@3 f2@2 ~@6 f2@2 ~@6 f2@2 ~@6 f2@2 ~@3", AH: "~@3 f2@2 ~@6 f2@2 ~@6 f2@2 ~@4 f2@2 ~@5",
  AI: "~@3 f2@2 ~@6 f2@2 ~@6 f2@2 ~@7 f2@2 ~@2", AJ: "~@4 f2 ~@7 f2@2 ~@6 f2 ~@4 f2@2 ~@5",
  AK: "~@4 f2 ~@7 f2@2 ~@6 f2@2 ~@6 f2@2 ~@2", AL: "~@2 f2 ~@3 f2 ~@3 f2 ~@3 f2 ~",
  AM: "~@2 f2 ~@3 f2 ~@3 f2 ~@2 f2 ~@2", AN: "~@2 f2 ~@3 f2 ~@3 f2 ~@5",
})).s("gm_piano").gain(0.31).pan(0)

// other · drawbar organ · "Organ"
const drawbar_organ = note("<~@6 A B C@3 D E@2 ~@72>".pickRestart({
  A: "~@2 c5 ~ c5@3 ~ c5 ~ c5@3 ~@2 c5 ~ c5@3 ~ c5 ~ c5@3 ~@2 c5 ~ c5@2",
  B: "~@2 c5 ~ c5@3 ~@2 c5 ~ c5@3 ~ c5 ~ c5@3 ~@2 c5 ~ c5@3 ~ c5 ~ c5@2",
  C: "[~@3 c5 ~ c5@3 ~ b4 ~ b4@3 ~@2 b4 ~ b4@3 ~ b4 ~ b4@3 ~@2 b4 ~ b4@3 ~ b4 ~ b4@3 ~@2 b4 ~ b4@3 ~ b4 ~ b4@3 ~@2 b4 ~ b4@3 ~ b4 ~ b4@3 ~ b4 ~@2 b4@3 ~ b4 ~ bb4@3 ~ bb4 ~@2 bb4@3 ~ bb4 ~ bb4@3 ~ b4 ~@2]/3",
  D: "b4@3 ~ b4 ~ b4@3 ~ b4 ~ b4@3 ~@2 b4 ~ b4@3 ~ b4 ~ b4@3 ~@2 b4 ~", E: "[bb4@6 ~@7 bb4@6 ~@7 bb3@25 ~@13]/2",
})).s("gm_drawbar_organ").gain(0.14).pan(0)

// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~@23 A@4 ~@3 B@3 ~@3 C D E F G H@5 ~@9 I@3 J@7 ~@2 K@3 L@3 M@2 N O@5 ~@5
>`.pickRestart({
  A: "[~@25 [bb3,bb4]@100 ~@3]/4", B: "[~@30 [f3,d4]@59 ~@7]/3", C: "~@15 g3@7 ~@2 f3@7 ~", D: "eb3@16 ~ f3@15",
  E: "~@2 bb3@16 ~ g3@7 ~ f3@5", F: "~@3 eb3@2 ~@3 eb3@2 ~@2 eb3@2 ~@2 eb3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2",
  G: "~ f3@2 ~@2 eb3@2 ~@2 g3@2 ~@2 bb3@2 ~@2 g3@2 ~@3 bb2@2 ~@2 d3@2 ~@2 f3@2",
  H: "[~@2 d3@2 ~@2 bb2@50 ~ [bb3,bb4]@98 ~@5]/5", // Bb
  I: "[~@7 g3@7 ~@2 f3@7 ~ eb3@4 ~@2 f3@4 ~ g3@3 ~@2 f3@4 ~@2 g3@4 ~@2 a3@3 ~@2 bb3@4 ~@2 f3@4 ~ d3@3 ~@2 g3@7 ~@2 f3@7 ~ eb3@2 ~@2 eb3@2]/3",
  J: "[~@2 eb3@2 ~@2 eb3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@3 f3@2 ~@2 eb3@2 ~@2 g3@2 ~@2 bb3@2 ~@2 g3@2 ~@19 bb2@49 [bb3,bb4]@96 ~@19]/7", // Bb
  K: "[~@17 eb3@12 eb3@12 bb2@16 ~ g2@16 eb3@12 eb3@10]/3", L: "[~@2 bb2@24 ~ eb3@12 f3@12 eb3@33 ~@12]/3",
  M: "[~@10 eb3@10 bb2@39 ~ bb2@4]/2", N: "~@4 bb3@6 ~@2 eb3@2 ~@2 f3@2 ~@2 g3@2 ~@3 eb3@2 ~@2 c3@2 ~",
  O: "[~ d3@2 ~@2 eb3@2 ~@2 f3@2 ~@2 bb2@23 ~ bb3@32 ~@16 d3@48 ~@27]/5",
})).s("gm_string_ensemble_1").gain(0.25).pan(1)

// other · string ensemble 1 · "Strings" · soft notes
// … 107 more lines

More by The Beatles