Strudelify

Fuck Wit Dre Day (And Everybody's Celebratin')

Dr. Dre

KeyC♯ minorTempo204 bpm
0:00/0:00
// Fuck Wit Dre Day (And Everybody's Celebratin') — Dr. Dre
// 204 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 177 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(204/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.

// bass · slap bass 1 · "Slap Bass"
const bass = note(`<
  ~@8 A@2 B@2 C@8 D@4 E@2 F@4 G@3 ~@35 H@2 I@2 J ~@4 K@4 L M N@2 ~ O@2 P ~ Q R ~ S T U V ~@19 W X@2 Y Z ~@3 AA@2 AB@2 AC
  ~@48
>`.pickRestart({
  A: "[~@7 c#3@6 b2@7 g#2@4 f#2@2 ~@2 f#2@2 ~ e2, ~ c#1@30 ~]/2",
  B: "[c#2 ~@7 c#3@5 ~ b2@5 g#2 d#3@4 c#3@4 b2@3 g#2, c#1@15 ~]/2",
  C: "[f#2 ~@7 c#3@2 ~@2 g#2@2 f#2@3 ~ b2@2 g#2@2 f#2@2 e2@3 e2 d#2@3 ~@9 c#2 e2 ~@2 f#2@7 c#2 e2@2 ~@2 g2@2 ~@2 e2@2 ~@2 e2 ~@12 e2 ~@5 f#2@8 g#2@3 ~@10 c#3@2 ~@4 b2 ~@3 g#2 ~ d#3@6 ~ e3@2 ~@3, c#1@29 ~@2 e2@2 ~@26 f#2@2 ~@2 c#2@2 ~@29 b2@2 ~@32, ~@32 c#1@30 ~@2 c#1@29 ~@2 c#1@30 ~@3]/8",
  D: "[~ c#3 ~@6 d#3@2 ~@4 c#3@2 ~@4 g3 ~@6 d#3@4 ~ e3@5 ~@3 c#3@2 ~@4 g#3@2 ~@4 e3@2 ~@2 f#3@2 e3@2 c#3@2 b2 ~, c#1@24 ~@7 c#1@31 ~@2, ~@19 e3@7 ~@5 f#3@2 ~@18 f#3@2 ~@2 c#3@2 ~@7]/4",
  E: "[c#3 ~@7 c#3@6 b2@6 f#2@3 ~ f#2@2 ~@2 f#2 ~@2 e2, c#1@31 ~, ~@23 g#2@2 ~@2 e2@2 ~ f#2@2]/2",
  F: "[c#2 ~@7 c#3@6 b2@5 g#2@5 a2 ~ a2 ~ f#2@3 ~@9 c#3@6 f#2@5 ~ g#2@4 ~ d#2@2 e2 ~ d#2@2 c#2, c#1@30 ~@2 c#1@31 ~, ~@25 b2@2 g#2@2 ~@2 g#2@3 ~@30]/4",
  G: "[~@8 c#3@6 b2@5 ~ e3 ~@4 d#3@3 ~@4 c#1@8 ~@8, ~ c#1@30 ~@17, ~@14 e3@3 ~@7]/3",
  H: "[~@4 c#2@2 ~@2 g#2@3 ~ e2@2 ~@2 e2@4 c#2@2 g2 ~@3 f#2@2 e2@3 ~, ~@7 e2@2 ~@6 c#2@2 ~@15]/2",
  I: "[~ e2@2 e2 c#2@2 ~ b1 c#2@3 ~ b1@3 ~ g#1@3 b1 ~ g#1@2 b1 g#1@3 ~ g#1@3 ~, ~@15 a1@2 ~@10 f#1@2 ~@3]/2",
  J: "e1 ~@15",
  K: "[~@3 g2 g#2@2 b2 d#3 f#3@2 d#3@2 e3@3 d#3@2 ~@2 b2@2 c#3@2 b2@2 a2@2 b2 a2@3 g#2@4 f#2 ~ g#2@3 d#2@2 e2 ~ f#2@3 ~ e2@2 ~ c#2 ~@12, ~@44 g2 ~@2 d#2@2 ~@15]/4",
  L: "~@6 g#2 e2", M: "c#2@2 b1@2 c#2@4 b1@2 ~@5 f#1", N: "[g#1@8 d2@6 ~@2 c#2@3 g#1 ~@12, ~@15 c2@2 ~@15]/2",
  O: "[~@3 g2 g#2@2 b2@2 d#3@2 ~@2 d#3@2 c#3@4 ~ b2@2 ~ a2 b2 a2@2 ~@3 g#2@2 f#2, ~@27 g#2@2 ~@3, ~@14 f#2 ~]/2",
  P: "d2@2 c#2@13 ~", Q: "~@4 g#2@2 e2 ~@5 f#2@2 d#2 ~", R: "~@4 e2 d2 ~ c#2", S: "~@12 g#1@2 ~ g#1",
  T: "g#1 ~ g#1 ~@3 g#1 ~", U: "~@3 g#1@2 ~@3 g#1@3 d2@4 ~", V: "c#2 ~@3",
  W: "~@8 c#2@3 b1@3 ~@2, ~ c#1@11 ~@4, ~@8 d2 ~@7",
  X: "[a1@2 ~@4 g#1@2 ~@3 f#1 g#1@3 ~@9 g#1@2 ~@2 b1 ~@3, ~@15 f#1@2 ~@3 c#1@12, ~@8 g#1@3 ~@5]/2",
  Y: "c#2@2 ~@2 e2 ~@2 f#2@2 ~@2 e2 f#2@2 ~ e2", Z: "c#1@7 ~@9, d#1 ~@7, f#2 ~@15",
  AA: "[~@8 c#3@2 ~@2 b2@2 ~@4 g#2 f#2@3 ~ a2@2 ~ g#2 f#2@2 ~ e2@2, ~ c#1@15, ~@11 g#2 ~@4]/2",
  AB: "[~ d#1@3 ~@4 g#2@2 ~@4 [f2,f#2]@2 ~@4 e2@2 ~ e2 c#2@2 b1 ~ c#2@2 b1 ~, c#2@4 ~@15 c#2@2 ~@11, ~ c#1@30 ~]/2", // F#maj7
  AC: "[c#1,c#2]@5 ~@11", // C#
})).s("gm_slap_bass_1").gain(0.58).pan(0.3)

// bass · slap bass 1 · "Slap Bass" · soft notes
const bass_soft = note(`<
  ~@9 A B ~@2 C ~@2 D ~@2 E ~@48 F ~ G H@2 ~@5 I J ~@2 K ~@3 L ~@3 M N ~@3 O@2 ~@30 P ~@49
>`.pickRestart({
  A: "~@10 g#2 ~@5", B: "~@7 g#2 ~@8", C: "~@10 f#2 ~@5", D: "~@8 c#2 ~@7", E: "~@3 d#3",
  F: "~@11 f#2@2 ~@3, ~@11 f2 ~@4", G: "f#2 ~@15", H: "[~@15 f#1@2 ~@15]/2", I: "c#3@3 ~@13", J: "~@7 f#2 ~@8",
  K: "~@12 g#1@3 ~, ~@11 c#2@2 ~@3, ~@12 b1 ~@3", L: "~@5 g#2 ~@2", M: "~@10 c#2 ~@5", N: "~@8 d2 ~@7",
  O: "[~@15 g#1@2 ~@15]/2", P: "~@6 f#2 ~@9",
})).s("gm_slap_bass_1").gain(0.32).pan(0.3)

// other · accordion
const accordion = note(`<
  ~@16 A B A C D@2 E@2 A F G H I@2 J K ~@32 A B A C D@2 E@2 A F G H I@2 J K ~@32 A B A C D@2 E@2 A F G H I@2 J K ~@49
>`.pickRestart({
  A: "g#4", B: "f#4 b4", C: "f#4@4 g#4@4 f#4@3 e4@4 ~", D: "[d#4@2 e4 d#4@21 b3@4 a3@4]/2", E: "[g#3@15 ~, a#3 ~@31]/2",
  F: "f#4@6 ~@2 a4 b4@7", G: "~ g#4@15", H: "f#4 g#4 f#4 e4", I: "[d#4@3 ~ d#4@16 b3@8 a3@4, ~@3 e4@2 ~@27]/2",
  J: "g#3@9 c#4@7", K: "d#4@8 e4@7 ~",
})).s("gm_accordion").gain(0.72).pan(0.7)

// other · accordion · soft notes
const accordion_soft = note("<~@25 [~@6 g#4 ~ a#4 ~@7] ~@47 [~@6 g#4 ~ a#4 ~@7] ~@47 [~@6 g#4 ~ a#4 ~@7] ~@55>")
  .s("gm_accordion").gain(0.4).pan(0.7)

// other · trombone · "Trom."
const trombone = note(`<
  ~@16 A B A C D@2 E@2 A F G H I@2 J K ~@32 A B A C D@2 E@2 A F G H I@2 J K ~@32 A B A C D@2 E@2 A F G H I@2 J K ~@49
>`.pickRestart({
  A: "g#3", B: "f#3 b3", C: "f#3@4 g#3@4 f#3@3 e3@4 ~", D: "[d#3@2 e3 d#3@21 b2@4 a2@4]/2", E: "[g#2@15 ~, a#2 ~@31]/2",
  F: "f#3@6 ~@2 a3 b3@7", G: "~ g#3@15", H: "f#3 g#3 f#3 e3", I: "[d#3@3 ~ d#3@16 b2@8 a2@4, ~@3 e3@2 ~@27]/2",
  J: "g#2@9 c#3@7", K: "d#3@8 e3@7 ~",
})).s("gm_trombone").gain(0.72).pan(0.6)

// other · trombone · "Trom." · soft notes
const trombone_soft = note("<~@25 [~@6 g#3 ~ a#3 ~@7] ~@47 [~@6 g#3 ~ a#3 ~@7] ~@47 [~@6 g#3 ~ a#3 ~@7] ~@55>")
  .s("gm_trombone").gain(0.4).pan(0.6)

// other · recorder
const recorder = note(`<
  ~@16 A B A C D@2 E@2 A F G H I@2 J K ~@32 A B A C D@2 E@2 A F G H I@2 J K ~@32 A B A C D@2 E@2 A F G H I@2 J K ~@49
>`.pickRestart({
  A: "g#5", B: "f#5 b5", C: "f#5@4 g#5@4 f#5@3 e5@4 ~", D: "[d#5@2 e5 d#5@21 b4@4 a4@4]/2", E: "[g#4@15 ~, a#4 ~@31]/2",
  F: "f#5@6 ~@2 a5 b5@7", G: "~ g#5@15", H: "f#5 g#5 f#5 e5", I: "[d#5@3 ~ d#5@16 b4@8 a4@4, ~@3 e5@2 ~@27]/2",
  J: "g#4@9 c#5@7", K: "d#5@8 e5@7 ~",
})).s("gm_recorder").gain(0.72).pan(0.8)

// other · recorder · soft notes
const recorder_soft = note("<~@25 [~@6 g#5 ~ a#5 ~@7] ~@47 [~@6 g#5 ~ a#5 ~@7] ~@47 [~@6 g#5 ~ a#5 ~@7] ~@55>")
  .s("gm_recorder").gain(0.4).pan(0.8)

// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~@17 A B@2 C@2 D@6 E@2 F G@2 ~@32 A B@2 C@2 D@6 E@2 F H@2 ~@32 A B@2 C@2 D@6 E@2 F H@2 ~@48
>`.pickRestart({
  A: "~ g#5", B: "[f#5@8 e5@17 d#5@3 c#5@4]/2", C: "[d#5@21 g#5@7 f#5@4]/2",
  D: "[e5@9 d#5@9 ~@6 b4@7 c#5@28 b4@4 c#5@22 d#5@4 e5@3 f#5@4]/6", E: "[~@6 e5 f#5, ~ d#5@25 ~@6]/2",
  F: "g#5@9 f#5@3 g#5@4", G: "[~ a5@4 g#5@4 f#5@4 ~@5 e5 ~@13, ~@13 g#5@8 ~@11]/2",
  H: "[~ a5@4 g#5@4 f#5@4 g#5@8 ~@11]/2",
})).s("gm_string_ensemble_1").gain(0.4).pan(0.2)

// other · string ensemble 1 · "Strings" · soft notes
const string_ensemble_1_soft = note("<~@15 A@3 ~@5 B ~@39 A@3 ~@5 B ~@39 A@3 ~@5 B ~@57>".pickRestart({
  A: "[~@15 c#5@25 ~@8]/3", B: "c#5 ~",
})).s("gm_string_ensemble_1").gain(0.2).pan(0.2)

// bass · synth bass 2
const bass_2 = note(`<
  ~@32 A B C@2 D E F@3 B C@2 D E F@3 B C@2 D E F@3 B C@2 D E F@3 B C@2 D E F@3 B C@2 D E G@3 ~@14 H@2 B C@2 D E F@3 B
  C@2 ~@3 H@2 B C@2 D E F@3 B C@2 D E G@3 ~@6 H@2 B C@2 D E F@3 B C@2 D E F@3 B C@2 D E F@3 B C@2 D E F@3 B C@2 D E G@3
>`.pickRestart({
  A: "~ c#2@8 ~@2 c#2@3 ~@2", B: "b1", C: "[~@8 a1@5 g#1@10 a1@4 b1@4 ~]/2", D: "c#2@9 ~@3 c#2@2 ~@2",
  E: "b1@10 ~@2 b1@3 ~", F: "[a1@12 g#1@7 g#2@6 f#2@4 e2@4 c#2@8 ~@2 c#2@3 ~@2]/3",
  G: "[a1@12 g#1@7 g#2@6 f#2@4 e2@5 ~@14]/3", H: "[~@3 g#2@6 f#2@4 e2@4 c#2@8 ~@2 c#2@3 ~@2]/2",
})).s("gm_synth_bass_2").gain(0.8)

// chords · piano · "Elec. piano"
const piano = note("<~@32 A ~@2 B@2 ~@45 C@3 ~ D@4 E@2 F@2 G@3 ~@13 H I@2 ~@39 J@4 ~@21>".pickRestart({
  A: "~ [e3,g#3,b3,e4,g#4]@12 ~@3, ~ [c#4,d#4,c#5]@14 ~", // E C#sus2
  B: "[~ [g#3,e4,g#4,b4,c#5], ~@14 c#3@17 ~, ~@15 [e3,c#4]@17]/2", // C#m7 C#m
  C: "[~ e4@3 ~@2 a3@2 c#4@3 ~ [a3,g#4]@2 ~ f#4@13 g#4@6 ~@14, [a2,c#3,e3,g#3]@13 ~@2 [a2,a3]@19 ~@14, [c#4,g#4]@7 ~@4 e4@2 ~ d4@14 ~@20, a3@4 ~@11 [d3,f#3]@16 ~@17]/3", // Amaj7 A C#5 D
  D: "[[e4,g#4,b4]@7 ~ e4@3 g#4 b4@2 ~@10 f#4@4 d4@4 ~ [c#3,g#3]@8 ~@23, [e3,g#3]@13 ~ c#4@6 ~@44, c#3@11 ~@4 a2@26 ~@23, ~@7 c#4@2 ~@5 g#4@10 ~@40, ~@15 [d3,g#3]@17 ~ e3@17 ~@14]/4", // E C#5 E Ddim
  E: "[[a3,c#4,e4,g#4]@5 ~@3 c#5@4 ~@13 e4@3 d4@2 ~@2, [c#3,g#3]@11 ~ f#4@14 ~@6, ~@19 [d3,a3]@12 ~, ~@19 f#3@10 ~@3]/2", // Amaj7 C#5 D5
  F: "[~@7 g#4@17 ~@8, c#3@3 ~, g#3@11 ~@5]/2",
  G: "[~ [g#4,c#5,e5]@5 ~ [c#5,e5]@4 ~ e5@2 ~@6 g#5@2 ~@2 [a4,a5]@2 ~@2 b5@2 ~@3 [d5,e5,g#5]@3 ~@12, [c#3,a3]@13 ~@3 [d3,a3]@13 ~@2 [c#3,e3,g#3]@4 ~@13, f#3@11 ~@5 f#3@11 ~@21, ~@6 g#4@2 ~@4 [f#4,c#5,f#5]@7 ~@13 g#4@3 ~@13, ~@7 g#5@2 ~@39]/3", // C#m A E7 F#m D5 C#m F#5
  H: "~@9 g#2@2 ~@2 g#2@3",
  I: "[~ g#2@2 g#2 ~ g#2@2 g#2 ~ g#2@2 g#2 ~ g#2@3 ~ c#2@10 ~@5, ~ g#1@4 g#1@4 g#1@4 g#1@6 ~@13, ~@16 g#2@3 ~@13]/2",
  J: "[[d#5,e5,g#5,b5,d#6]@7 ~]/4", // Emaj7
})).s("gm_piano").gain(0.56).pan(0)

// chords · piano · "Elec. piano" · soft notes
const piano_soft = note("<~@32 A ~@2 B@2 ~@49 C ~ D@3 E F@2 G H I ~@13 J ~@66>".pickRestart({
  A: "c#3@15 ~", B: "[~ f#3, ~@13 b2@19, ~@15 d#4@17]/2", C: "c#4@5 ~@7 c#4@2 ~@2, a2@7 ~",
  D: "[~@7 g#3 ~@8 e3@6 ~@2, ~ c#4@26 ~@21, ~@13 a#2@2 ~@16 a2@13 ~@4]/3", E: "~@3 c#4@10 ~@3",
  F: "[~@3 e3@3 ~@2, c#4@3 ~, ~@7 [e4,b4]@18 ~@7]/2", G: "~ g#5@5 ~@10",
  H: "~@4 [g#4,c#5]@3 ~@5 b4@3 ~, ~ c#4@11 ~@4, ~@4 e5 ~@11", I: "c#5@3 ~@13", J: "~@9 g#1 ~@6",
})).s("gm_piano").gain(0.32).pan(0)

// other · ocarina
const ocarina = note(`<
  ~@30 A@2 B@5 C D@2 ~@2 E@2 ~ F@2 G@5 ~ H@7 I J@3 ~@44 K@4 L@4 M N O@2 P@4 Q@2 R S@3 ~@5 T@8 ~@2 U@2 V@3 W X@3 Y@2 Z AA
  AB@3 AC@4 AD AE@2 AF@2 AG@2 AH@3 ~@2
>`.pickRestart({
  A: "[~@8 g#4@23 ~]/2", B: "g#6/5", C: "c#7@13 ~ g#6@2, ~@13 b6@3", D: "[~@2 d#6@23 ~@2 e6@2 d#6@3]/2",
  E: "[~ g#6@21 ~@10]/2", F: "[~@13 b6@9 f#6@7 g#6@3]/2",
  G: "[~ f#6@3 e6@4 ~@2 e6@2 d#6@2 c#6 d#6@40 g#5@13 f#5@8 e5@4]/5",
  H: "[~@13 g#6@23 ~@7 e6@4 d#6@37 ~@3 f#6@20 e6@4 ~]/7", I: "~ e6@2 ~@13",
  J: "[~@4 b5@6 ~@4 b5 a5@2 g#5@27 ~@4, ~@13 a5@2 ~@33]/3",
  K: "[~@2 d5@2 d#5@2 g#4@5 e5 f#5@3 d#5@8 ~ c#5@3 b4@2 a4@2 ~ a4 g#4@7 a4 b4@2 ~ f#4@8 g4 g#4@3 ~ e4 f#4@2 c#4@3 b3, ~@12 f5 ~@10 g#4@2 ~@6 b4@2 ~@27 e4 ~@3]/4",
  L: "[c#4@4 ~@8 f#4@2 e4@2 c#4@3 ~@41 e6@4, ~@3 g#6@12 ~]/4", M: "c#6@3 d#6", N: "e6 c#6 f#6 e6",
  O: "[c#6@8 a5@3 b5 a5 g#5@11 f#6@4 d6@4]/2",
  P: "[c#6@18 ~@2 g#6@8 f#6@12 b6@4 g#6@8 ~ f#6@3 e6@3 f#6 d#6@4, ~@60 e6 ~@3]/4",
  Q: "[c#6@12 g#5@8 a5 b5@7 f#5@4, ~@21 a#5 ~@10]/2", R: "a5@7 ~ g#5@8", S: "[~ f#6@8 g#6@26 ~@13]/3",
  T: "[~@3 g#6@105 g#5@8 ~@12]/8", U: "[~@11 f#6@9 g#6@4 f#6@4 e6@4]/2",
  V: "[c#6@7 b5@4 c#6@12 c#7@17 g#6@3 ~ b6@4, ~@43 [a6,a#6]@2 ~@3]/3", W: "f#6@3 ~",
  X: "[f#6@15 e6@4 c#6@22 b5@3 g#5@4]/3", Y: "[f#5@20 g#5@5 g#4@3 e5@4]/2", Z: "~ c#5 d#5 e5",
  AA: "d#5@3 ~ d#5@5 e5@3 ~ e5 ~@2",
  AB: "[c#5@11 b4@4 a4@5 g#4@3 e5@4 c5@2 a4@2 ~@2 f5@2 ~@5 c#5@8, ~@31 f#4@2 ~@15, ~@4 d#5 ~]/3",
  AC: "[g#4@8 g#5@7 f#5@24 e5@8 c#5@8 ~ c#6@8]/4", AD: "g#5@8 ~ b5@7", AE: "[f#5@6 g#6 e6]/2",
  AF: "[d#6@4 c#6@25 b5@3]/2", AG: "[f#5@2 g#5@3 e5 d#5 c#5]/2", AH: "[d#5@9 g#4@28 ~@11]/3",
})).s("gm_ocarina").gain(0.31).pan(1)

// other · ocarina · soft notes
const ocarina_soft = note(`<
  ~@38 A B C@2 ~ D@3 ~ E ~@4 F@2 ~ G ~@4 H@2 ~ I ~@44 J ~@25 K ~@8 L M@2 ~@4 N ~@5 O P ~@7 Q ~@8 R@3
>`.pickRestart({
  A: "f#6 ~@7", B: "~@9 e6 f#6@2 ~@3 c#6", C: "[d#6@3 c#6@21 g#5@8]/2", D: "[~@5 f#6@14 g#6@26 ~@3]/3",
  E: "~@8 d#6@3 ~@5", F: "[c#5@29 ~@3]/2", G: "~@3 f#6@8 ~@5", H: "[d#6@3 d#6@18 ~@6 b5@2 ~@3]/2", I: "~@5 g#6@3",
  J: "~@11 d#5 ~@4", K: "~@4 g#3 ~@3", L: "g#4 ~", M: "[g#6@7 ~]/2", N: "~@3 g#6, ~@12 g6 ~@3", O: "~ d#5@4 ~@11",
  P: "~@3 e5@2 ~@7 d#5@2 d#5@2", Q: "~@9 a#5 ~@6, ~@4 a5 ~@3", R: "[~@4 g#5@27 c#5@7 ~@10]/3",
})).s("gm_ocarina").gain(0.15).pan(1)

// chords · piano
const piano_2 = note(`<
  ~@32 A@3 ~ B@3 ~ C D@2 ~ E F@3 G@4 H@3 ~ I J@3 C K L@2 M@8 N@4 O@5 ~@27 P@4 Q R ~@16 S T@3 U V@8 W X@3 Y@7 Z AA AB@8
  AC@7 AD@2 AE AF AG@2
>`.pickRestart({
  A: "[~ d#6@4 ~, d#6 ~@5, ~@3 e6@32 ~@13, ~@3 f#6@16 ~@5]/3", B: "[d#6@7 d#6@16 ~]/3", C: "d#6", D: "d#6/2",
  E: "~@7 f#6@6 ~@3", F: "[~@15 g#5@32 ~, ~@4 c#6@3 ~@9]/3",
  G: "[~@32 g#6@31 ~, ~@8 d#6@7 d#6@25 ~@24, ~@12 f#6@5 ~@47]/4", H: "[~@12 d#6@23 ~@13, d#6 ~@3, ~@7 e6@8 ~@33]/3",
  I: "d#6@11 ~@5", J: "[~@9 a6@4 g#6@32 ~@3]/3", K: "~@9 b5@7", L: "[~@3 g#6@5]/2",
  M: "[~ d#6@2 ~@8 g#5@2 ~@2 [c6,c#6]@2 ~@11 [g5,g#5]@3 ~@2 [f#5,g#5]@2 ~ f#5@3 ~@2 e5@2 ~ e5@2 ~@2 c#5@3 ~ c#5@3 ~@5 f#5@3 ~@4 d#6@3 ~ d#6@3 ~@8 [d6,d#6]@2 c#6@2 ~@14 e6@4 ~@3 g#6@2 ~ f#6 ~ e6@2 d#6 f6 f#6@3 e6 c#6@4 c#6@3 g#5, c#5@6 ~ g#5@4 ~@7 g#5@4 ~ g#5@4 f#5@4 ~ g5@3 ~ g5@3 e5 f#5@3 c#5@4 e5@4 b4@3 ~ b4@8 g5@2 ~ b5@6 ~@3 d#6@4 b5@5 ~@2 b5@5 b5@5 ~@8 a5@5 ~@19, ~ [g#3,e4]@127, ~ c#4@69 f#6@2 ~@2 e6@11 ~@5 a5@4 g#5@14 ~@20, ~@8 c#6@5 ~@7 f#5@4 b5@6 ~ b5@4 b5@7 ~@4 f#5@7 ~@3 c#5@3 e5@5 g#5@8 ~@6 c#6@6 ~@4 c#6@8 ~@3 g#6@7 e6@3 g6@2 f6@3 ~ e6@2 ~@11]/8", // C#maj7 G#maj7 F#sus2 D#maj7 C#m
  N: "[~ b5@2 ~ c#6@3 ~ f#5@3 e5@2 [c#5,d#5]@2 f#5@2 e5@2 c#5@2 e5@2 c#5@2 ~@27 g#4@4 ~@4 e4@4, a5@3 g#5@2 ~@2 g#5@2 ~@16 c#3@23 f#4@8 [f#4,g#4]@8, ~@28 g#3@21 a3@15, ~@30 c#4@14 g#4@5 e4@11 ~@4, ~@2 e4 c#4]/4", // C#sus2 F#sus2
  O: "[d#4@2 ~@2 d#4@2 ~@17 g#4@2 ~@4 b4@2 ~@10 g#5@3 g#5@2 ~@11 g#6@2 ~ g#6 ~ g#6@2 ~@2 d#6@2 d#6@6 ~@6, ~@2 e4@4 e4@8 [c4,c#4]@18 c#4@15 g#5@2 b3@26 ~@5, ~@7 d#4@8 g#4 b4 d#5@5 b4@3 f#4 g#4@2 a4@4 ~ a4 f#4 a4 b4@2 c#5@11 g#3@16 [g#3,e4]@10 ~@5, ~@8 c#3@23 ~@3 g#4@5 [d5,d#5]@12 g#5 [a5,b5]@2 c#6 d#6 e6@3 ~@5 d#6@2 g#6@9 ~@5, ~@11 g#3@20 [f#3,a3,e4]@9 e5@20 ~@20]/5", // C#maj7 C#m D#maj7 Asus2 F#m7
  P: "[~@2 d5@2 d#5@2 g#4@5 e5 f#5@3 d#5@8 ~ c#5@3 b4@2 a4@2 ~ a4 g#4@7 a4 b4@2 ~ f#4@8 g4 g#4@3 ~ e4 f#4@2 c#4@3 b3, ~@12 f5 ~@10 g#4@2 ~@6 b4@2 ~@27 e4 ~@3]/4",
  Q: "c#4@2 ~@4 f#4 e4", R: "c#4@3 ~@13", S: "~@15 g#2",
  T: "[g#3@2 g#3 ~ [g#2,g#3]@3 g#3 [g#2,g#3]@3 g#3 g#3@2 ~@6 g#3@3 g#3 g#3@4 g#3@3 g#3@4 ~@2 g#3@2 g#3@5 g#3@3 g#3, ~@3 g#2@2 ~@7, ~@14 g#3@5 ~@29, ~@5 c#2@11, ~@2 c#3 ~@3]/3", // G#
  U: "~@2 g#3@2 ~@3 g#3, a2, ~@4 g#3@3 ~, ~@11 a3@5, ~@3 b3",
  V: "[~@32 c#4@3 ~@15 b4@3 ~@6 f#5@2 c#5@3 ~@4 c#5@3 ~ c#5@3 ~@7 g#5@2 ~@8 e5@2 ~@4 e5@2 d#5@2 ~@2 b4@2 c#5@2 b4@2 ~@7 f#4@2 ~@4 e4@2 ~ e4@2, g#2@6 a3@6 d#4@3 c#3@113, ~ g#3@3 c#2@28, ~@7 b2@7 e4@2 g#4@6 e4@5 g#4@4 e4@4 g#4@6 c#4@6 f#4@2 ~@6 b4@7 ~@5 b4@6 ~@2 g#4@5 f#5@4 ~@2 e5@5 f#5@2 ~@3 c#5@6 c#5@4 ~@5 g#4@3 a4 g#4@4 g#4@2 ~@4 d#4@3, ~@10 c#4@7 ~@2 f#4@5 c#4@4 f#4@8 f#4@3 e4@5 b4@4 g#4@4 ~ g#4@10 ~ g#4@7 f#5@2 ~@3 b4@9 ~@3 d#5@5 ~ d#5@6 ~@12 a4 b4@7 f#4@8]/8",
  W: "f#4@2 ~@2 e4@4 ~@5 b3@3, ~@2 d#4@5 ~ d#4@8, ~@11 c#4@5",
  X: "[c#4@3 ~@10 c5@2 ~@4 [e5,c6,c#6]@2 ~@10 f#5@4 ~ e5@7 c#5@3 g5@2, [c#2,c#3]@7 c#5@3 ~ c#4@10 ~@6 c#3@5 ~@16, ~@4 c#4@4 [c#2,c#3]@7 [c#2,c#3]@6 [c#2,c#3]@6 ~@21, ~@12 e4@8 ~@4 [e5,b5,c6,c#6]@9 ~@15, ~@12 c#5@4 [c5,c#5]@5 ~@2 c#5@5 c#5@5 ~@2 c#5@8 ~@5]/3", // C C# Cmaj7 C#maj7
  Y: "[~@3 e5@2 e5@2 ~@4 c#5@3 ~ c#5@4 ~@5 e5@2 ~ f#5@3 e5@9 c#5@2 ~@2 g#4@3 ~@38 e4@4 e4@3 ~ e4@4 ~ b4@2 ~@5 e4@4 [e4,e5]@4, ~@2 [g2,a2]@6 g#2@9 ~@5 f#5@5 ~@15 c#5@4 f#3@9 g#4@2 c#5@2 a4 g#4@3 a4 [f#3,g#3]@15 [g#4,d#5]@9 ~@24, ~@2 f#5@3 ~@2 c#5@3 b4@4 b4@2 ~@3 g#5@7 d#5@2 ~@13 e5@5 [c#5,e5,g#5]@4 ~ g#4 a4@2 c#5 e5@9 [b3,d#4]@8 b4@7 e4@5 ~@28, ~@15 [c#2,c#3]@31 g#4@2 a3@19 ~ g#4@3 f#4@4 [d#4,g#4]@5 d#4@8 [d#4,g#4,b4,d#5]@8 [d#4,e4,g#4,d#5]@8 [d#4,g#4,d#5]@8, ~@43 a#4@4 e4@19 ~ f#4@4 d#5@5 [b3,f#4]@5 ~@3 [c#4,c#5]@7 ~ [c#4,c#5]@7 ~ [c#4,c#5]@12]/7", // E Gsus2 F#sus2 G#5 C#m B C# G#5 …
  Z: "g#4 ~@7 b4@3 ~@2 a4 [a4,b4]@2, [d#4,d#5], ~@3 [c#4,c#5]@13, ~ a3, ~@11 a4 b4@2 ~@2", // Asus2 D# C#
  AA: "g#4@7 ~@4 d5@4 d5, g#3, ~@9 g#5@7",
  AB: "[~@7 f#5@3 e5 ~@8 g#5@3 ~@35 c#6@11 c#6@5 [c#5,d#5,c#6]@3 ~@3 [c#5,c#6]@4 ~ [c#5,c#6]@3 ~ [c#5,c#6]@2 ~@2 [c#5,c#6]@3 ~ [c#5,c#6]@4 [c#5,c#6]@4 c#6@2 ~@6 [c#5,c#6]@4 c#6@4 ~@3 [g5,g#5]@5, c#3 [a3,e4] ~@2, c#5@11 ~ c#5@6 c#5@4 ~@9 c#5@4 c#5@29 ~@56 [c#5,c#6]@8, ~@4 c#6@7 ~@4 e5@7 ~ e5@6 ~ e5@17 f#5@18 ~@18 c6@4 c6@2 ~@6 c6@9 ~@4 c6@20, ~@6 g#5@5 ~@3 f#5@8 f#5@2 ~@2 g#5@14 c#6@4 g#5@21 ~@11 b5@13 ~@39]/8", // C#sus2 C# G#maj7 A5 C#
  AC: "[~@4 f#5@3 e5 ~@12 c#5@5 e5@3 g#5@2 f#5@16 ~ e5@8 ~ c#5@3 ~ c#5@3 ~@9 c#2@7 ~ c#2@6 ~@2 c#2@6 ~@2 c#2@6 ~@2 c#2@6 ~@2, ~@9 f#5@18 ~@28 e5@9 c#5@47 ~, ~@59 b4@4 b4@3 ~@46]/7",
  AD: "c#2@3 ~ c#2@3 ~", AE: "c#2@6 ~@2 c#2@5 ~@3", AF: "c#2@5 ~@3 c#2@5 ~@3",
  AG: "[c#2@5 ~@2 c#2@2 ~ g#2@2 ~@2 [f#2,g#2] c#2@4 ~@13]/2", // F#sus2
})).s("gm_piano").gain(0.43).pan(0.2)

// chords · piano · soft notes
const piano_soft_2 = note(`<
  ~@32 A@3 ~ B ~@3 C@2 ~@2 D@3 ~ E@3 ~ F G@3 H@2 ~@2 I@2 J@3 ~ K ~@3 L M ~@3 N O@2 ~ P@2 ~@27 Q ~@22 R@4 S ~@2 T@3 ~@2 U
// … 249 more lines

More by Dr. Dre