Strudelify
Walkin on the Sun cover art

Smash Mouth

Walkin on the Sun

Smash Mouth

KeyG♯ minorTempo124 bpm
0:00/0:00
// Walkin on the Sun — Smash Mouth
// 124 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 8 "Organ Harm" named as an organ, played on drawbar organ (its synth bass 2 patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 101 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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.

// chords · electric guitar clean · "Clean Guit"
const electric_guitar_clean = note(`<
  ~@8 A B C B C D C E C B C B C B C B F G F G F G F H F G I J C K C K C K C L C M C K C N A M F J F J F O F P F J Q J F
  J F P ~@8 R S T U C V W X F J F J F J F P F J F J F J F J ~
>`.pickRestart({
  A: "~@4 [g#3,b3,d#4] ~@7 [g#3,c#4,f4]@2 ~@2", B: "~@4 [g#3,d#4,f#4] ~@5 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~",
  C: "~@4 [g#3,b3,d#4] ~@7 [g#3,c#4,f4] ~@3", D: "~@4 [g#3,d#4,f#4] ~@5 [g#3,c#4,f4]@2 ~@2 [g#3,c#4,f4] ~",
  E: "~@4 [g#3,d#4,f#4] ~@5 [g#3,c#4,f4] ~@3 [g#3,c#4,f4]@2", // G#7 C#
  F: "~@2 [g#3,b3,d#4] ~@3 [g#3,b3,d#4] ~@3 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#m C#
  G: "~@2 [d#4,f#4,a#4] ~@3 [d#4,f#4,a#4] ~@3 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // D#m C#
  H: "~@2 [a#3,d#4,f#4] ~@3 [a#3,d#4,f#4,a#4]@2 ~@2 [a#3,d#4,f#4,a#4] ~@3 [a#3,d#4,f#4,a#4] ~", // D#m
  I: "~@2 [g#3,b3,d#4] ~@3 [g#3,b3,d#4] ~@3 [g#3,c#4,f4] ~@3 [g#3,c#4,f4]@2", // G#m C#
  J: "~@2 [g#3,d#4,f#4] ~@3 [g#3,d#4,f#4] ~@3 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#7 C#
  K: "~@4 [g#3,d4,d#4,f#4] ~@5 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#7 C#
  L: "~@4 [g#3,d4,d#4,f#4] ~@5 [g#3,c#4,d#4,f4] ~@3 [g#3,c#4,f4] ~", // G#7 C#
  M: "~@4 [g#3,d4,d#4,f#4]@2 ~@4 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#7 C#
  N: "~@4 [g#3,d#4,f#4]@2 ~@4 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#7 C#
  O: "~@2 [g#3,d4,d#4,f#4] ~@3 [g#3,d#4,f#4] ~@3 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#7 C#
  P: "~@2 [a#3,d#4,f#4] ~@3 [a#3,d#4,f#4] ~@3 [a#3,d#4,f#4] ~@3 [a#3,d#4,f#4] ~", // D#m
  Q: "~@2 [g3,g#3,b3,d#4] ~@3 [g#3,b3,d#4] ~@3 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", // G#m C#
  R: "~@2 [g#3,b3,d#4] ~@3 [g#3,a#3,c#4,f4] ~", S: "~@2 [b3,d4,f#4,b4] ~@2 [g#3,c#4,f4] ~ [g#3,c#4,f4]",
  T: "~@2 [g#3,b3,d#4] ~@3 [g#3,c#4,f4] ~", U: "~@4 [b3,d4,f#4,b4]@4 ~@2 [g#3,c#4,f4]@2 ~@2 [g#3,c#4,f4] ~",
  V: "~@4 [b3,d4,f#4,b4] ~@5 [g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~", W: "~@2 [b3,d#4,g#4] ~@3 [c#4,f4,g#4] ~",
  X: "[a#3,d#4,f#4]!8", // D#m
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.2)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A@2 ~@2 B@4 C D C E C F C E C F C F C G H F C F C I C F J K C F L M C E C F C E C F C F C E C F C E C G C G N F J O C
  F C F C G P Q R@2 ~@2 A@2 ~ S C F C T C F J U L F C V C F W X C F C F C Y L E Z
>`.pickRestart({
  A: "g#1/2", B: "g#1/4", C: "g#1@2 ~ b1 c#2@2 ~ f#2", D: "g#2@2 ~ d2 ~@3 d#2", E: "g#2@2 ~ d2 c#2@2 ~ f#1",
  F: "g#2@2 ~ d2 c#2@2 ~ d#2", G: "g#2@4 ~@2 d2@2 c#2@5 ~ d#2@2", H: "g#1@4 ~@2 b1@2 c#2@5 ~ f#2@2",
  I: "g#2@2 ~@2 c#2@2 ~ f#1", J: "g#1@2 ~ b1 c#2@4", K: "d#1@5 ~ d#1@2 f#1@2 d#1@2 f#1@3 ~",
  L: "g#1@5 ~ b1@2 c#2@4 ~@2 f#2@2", M: "g#2@5 ~ d2@2 c#2@4 ~@2 f#1@2", N: "g#1@5 ~ b1@2 c#2@2 ~@4 f#2@2",
  O: "d#1@6 d#1@2 f#1 ~ d#1 ~ f#1@2 ~@2", P: "g#1@5 ~ b1@2 c#2@8", Q: "d#1@5 ~ d#1@2 f#1 ~ d#1 ~ f#1@2 g1 ~",
  R: "[g#1, a#1 ~@31]/2", S: "~@6 d#1 f#1", T: "g#2@4 ~@2 d2@2 c#2@3 ~@3 f#1@2", U: "d#1 ~@4 d#1 f#1 ~",
  V: "g#2@2 ~ d2 c#2@2 ~ f#2", W: "g#1@4 ~@2 b1@2 c#2@7 ~", X: "d#1@5 ~ d#1@2 f#1 ~ d#1@2 f#1@2 g1@2",
  Y: "g#2@2 ~ d2 c#2@2 ~ b1", Z: "g#1!2 ~@14",
})).s("gm_electric_bass_finger").gain(0.61)

// bass · electric bass finger · "Bass" · soft notes
const bass_soft = note("<~@9 A ~@17 B ~@23 C ~@7 D ~@19 E ~@3 F ~@16 G>".pickRestart({
  A: "~@8 c#2@5 ~@3", B: "~@3 d2 ~@4", C: "g2 ~@15", D: "~@7 g1", E: "~@6 d#1 ~", F: "~ d#1!4 ~@2 d#1",
  G: "~@2 g#1!10 g#1@3 ~",
})).s("gm_electric_bass_finger").gain(0.27)

// chords · rock organ · "Organ 3"
const rock_organ = note(`<
  ~@15 A B C B D ~@12 E F G H I@8 J K L M N@4 O@8 P@8 ~@6 Q R S@2 T@2 S@2 U@2 V@7 W X@8 Y
>`.pickRestart({
  A: "~@10 f#5 ~ f#5 ~ f#5 ~", B: "f#5 ~@3 g#5 ~ f5 ~@3 f#5 ~ f#5 ~ f#5 ~",
  C: "f#5 ~ g#5 ~ f#5 ~ f5 ~@3 f#5 ~ f#5 ~ f#5 ~", D: "~@2 f#5 ~ g#5 ~ f#5 ~ f5 ~@7",
  E: "~@2 g#5@2 [b5,d#6]@2 g#5@2 [c#6,f6] ~ [g#5,c#6,f6] ~@5", // B C#
  F: "~@2 g#5@2 [d#6,f#6]@2 g#5@2 [c#6,f6] ~ [g#5,c#6,f6] ~@3 [g#5,c#6,f6] ~", // D#m C#
  G: "~@2 g#5@2 [b5,d#6]@2 ~@2 [c#6,f6] ~ [g#5,c#6,f6] ~@5, ~@3 g#5@2 ~@3", // B C#
  H: "~@2 g#5@2 [d#6,f#6]@2 g#5@2 [c#6,f6] ~ [g#5,c#6,f6] ~@3 g#5 ~, ~@4 d6 ~@11", // D#m C#
  I: "[d#4@26 f#4@2 f4@2 d#4@60 f#4@2 f4@2 d#4@27 ~ f#5 ~ f#5 ~ f#5 ~]/8", J: "f#5 ~@3 g#5 ~ f5 ~@3 f#5 ~@3 f#5 ~",
  K: "~@2 f#5 ~ g#5 ~ f#5 ~ f5 ~ d#5 ~ c#5 ~ f#5 ~", L: "f#5 ~@3 g#5 ~ f5 ~@3 f#5@2 ~@2 f#5 ~",
  M: "~@2 f#5 ~ g#5 ~ f#5 ~ f5 ~ d#5 ~@5", N: "[d#4@13 f#4 f4 d#4@17]/4",
  O: "[~@4 [b4,d#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 ~@2 f#5@2 ~@2 [c#5,f5] ~ [g#4,c#5,f5] ~@3 [b4,d#5]@4 ~@2 [b4,d#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 ~@2 [d#5,f#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 ~@2 [b4,d#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@5 ~ [d#5,f#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@5 ~ [b4,d#5]@2 ~@2 [c#5,f5] ~ c#5@2 ~@4 [c#5,d#5,f#5]@8 ~@2 [c#5,d#5,f#5]@3 ~ g#4@2, ~@2 g#4@9 ~@3 g#4@11 ~@5 g#4@14 ~@2 g#4@13 ~@3 g#4@13 ~@3 g#4@14 ~@2 g#4@13 ~@3 a#4@15 ~@3, ~@20 d#5 ~@85 f5 ~@21]/8", // B C# D#m C# B C# D#m C# …
  P: "[[b4,d#5,g#5]@2 ~@2 [b4,d#5,g#6]@2 ~@2 [g#4,c#5,f5] ~ [g#4,c#5,f5] ~@3 [d#5,f#5]@4 g#6@2 [d#5,f#5]@2 g#5@2 [c#5,f5] ~ [c#5,f5,c#6] ~ c#6 ~ [b4,d#5]@4 g#5 ~ [b4,d#5]@2 g#5 ~ [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 f#6 ~ [d#5,f#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 b6 ~ [b4,d#5]@2 b6 ~ [c#5,f5] ~ [c#5,f5,g#6] ~@3 [d#5,f#5,f#6]@4 g#6 ~ [d#5,f#5]@2 d6 ~ [c#5,f5] ~ [c#5,f5] ~ g#5@2 [b4,d#5]@4 ~@2 [b4,d#5]@2 ~@2 [c#5,f5] ~ [c#5,f5]@2 ~@4 [c#5,d#5,f#5]@9 ~ [c#5,d#5,f#5]@5 ~, ~@8 g#5@2 g#6@2 ~@2 g#4@14 ~@2 g#4@14 ~@2 g#4@14 ~@2 g#4@13 ~@3 g#4@14 ~@2 g#4@13 ~@3 a#4@17 ~, ~@14 g#5@2 ~@10 d6@2 ~@2 b5@2 ~@4 g#5 ~@5 g#5@2 ~@2 g#5 ~@3 g#6@4 f#6@4 g#6@2 ~@8 b6 ~@3 b6@2 ~@12 c#6@4 b5@2 ~@2 b5@8 ~@26]/8", // G#m C# D#m C# B C# D#m C# …
  Q: "~@14 [b4,c5,d5,e5] [f5,g5,a5,b5]", R: "[c6,d6,e6,f6,g6,a6] b6@5 g#6@2 f#6@2 d6@2 c#6@2 b5@2",
  S: "[g#5@13 f#5 g#5 b5]/2", T: "[g#5@25 ~ c#5@2 d#5@2 f#5@2, g5 ~@31]/2", U: "g#5/2",
  V: "[~@2 g#4@2 [b4,d#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4@2 [d#5,f#5]@2 g#4 ~ [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 g#4@2 [b4,d#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4@2 [d#5,f#5]@2 g#4 ~ [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 g#4 ~ [b4,d#5]@2 g#4 ~ [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4 ~ [d#5,f#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 g#4 ~ [b4,d#5]@2 g#4 ~ [c#5,f5] ~ [c#5,f5] ~@5, ~@14 d5 ~@31 d5 ~@31 d5 ~@33]/7", // B C# D#m C# B C# D#m C# …
  W: "[c#5,d#5,f#5]@6 ~@2 [c#5,d#5,f#5] ~ [c#5,d#5,f#5]@2 ~@2 [b4,d#5]@2, a#4@3 ~", // D#m7 B
  X: "[[b4,d#5]@2 ~@2 [b4,d#5]@2 ~@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4@2 [d#5,f#5]@2 g#4 ~ [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 g#4@2 [b4,d#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4@2 [d#5,f#5]@2 g#4 ~ [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 g#4@2 [b4,d#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4@2 [d#5,f#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [b4,d#5]@4 g#4@2 [b4,d#5]@2 g#4@2 [c#5,f5] ~ [c#5,f5] ~@3 [d#5,f#5]@4 g#4@2 ~ f5 g#4@2 [c#5,f5] ~ [c#5,f5] ~@5, ~@2 g#4@7 ~@5 d5 ~@31 d5 ~@69 [d#5,f#5]@2 ~@10]/8", // B C# D#m C# B C# D#m C# …
  Y: "[g#4,b4,d#5]!2 [g#4,b4,d#5]@2 ~@12", // G#m
})).s("gm_rock_organ").gain(0.36).pan(0.2)

// chords · distortion guitar · "Dist Guitar"
const distortion_guitar = note(`<
  A@4 B C B D ~@12 E@4 B F B G B F H I B C H C ~@12 J@4 H C H G H F H K L C H C H G H M N@8 O@7 P B C H C H C H P H C H
  C H F Q R S
>`.pickRestart({
  A: "g#1/4", B: "~@2 g#2@2 [b2,d#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3]@2 ~@4",
  C: "~@2 g#2@2 [d3,d#3,f#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@5", // D C#
  D: "~@2 g#2@2 [d#3,f#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3]@2 ~@4", E: "[g#1@57 ~ f#3@2 f3@2 d#3@2]/4",
  F: "~@2 g#2@2 [d#3,f#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@5", // D#m C#
  G: "~@2 g#2@2 [d3,d#3,f#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3]@2 ~@4", // D C#
  H: "~@2 g#2@2 [b2,d#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@5", I: "d#2@6 d#2@2 f#2 ~ d#2 ~ f#2@4",
  J: "[g#1@29 f#3 f3 d#3]/4", K: "d#2@5 ~ d#2@2 f#2 ~ d#2@2 f#2@4", L: "g#2@4 [b2,d#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@5",
  M: "d#2@6 d#2@2 f#2 ~ d#2@2 f#2 ~ d#2@2",
  N: "[a1 ~@65 g#2@2 [b2,d#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@7 g#2@2 [d3,d#3,f#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@7 g#2@2 [b2,d#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@7 g#2@2 [d3,d#3,f#3]@2 g#2@2 [c#3,f3] ~ [c#3,f3] ~@5, g#1]/8", // B C# D C# B C# D C#
  O: "g#1/7", P: "d#2", Q: "~@2 g#2@2 [b2,d#3]@2 ~@2 [c#3,f3] ~ [c#3,f3]@2 ~@4, ~@3 g#2@2 ~@3",
  R: "~@2 g#2@2 [d#3,f#3]@2 ~@2 [c#3,f3] ~ [c#3,f3] ~@5, ~@3 g#2@2 ~@3", S: "[g#2,b2,d#3] ~@7",
})).s("gm_distortion_guitar").gain(0.5).pan(0.8)

// chords · epiano1 · "Rhodes"
const epiano1 = note("<A B C D E F G H I ~@59 A B C D E F G H ~@25>".pickRestart({
  A: "~@4 [b2,d#3] ~@3 [b2,d#3] ~ [c#3,f3] ~ [b2,d#3] ~ [c#3,f3] ~", // B C# B C#
  B: "~@2 [c#3,f3] ~ [d3,d#3,f#3] ~@3 [d3,d#3,f#3] ~ [c#3,f3] ~ [d3,d#3,f#3] ~ [c#3,f3] ~", // C# D C# D C#
  C: "~@2 [c#3,f3] ~ [b2,d#3] ~@3 [b2,d#3] ~ [c#3,f3] ~ b2 ~ [c#3,f3] ~", // C# B C#
  D: "~@2 [c#3,f3] ~ [d#3,f#3] ~@3 [d#3,f#3] ~ [c#3,f3] ~ [d#3,f#3] ~ [c#3,f3] ~", // C# D#m C# D#m C#
  E: "~@2 [c#3,f3] ~ [b2,d#3] ~@3 [b2,d#3] ~ [c#3,f3] ~ [b2,d#3] ~ [c#3,f3] ~", // C# B C# B C#
  F: "~@2 [c#3,f3] ~ [c#3,d3,d#3,f#3] ~@3 [c#3,d3,d#3,f#3] ~ [c#3,f3] ~ [d3,d#3,f#3] ~ [c#3,f3] ~", // C# Dmaj7 C# D C#
  G: "~@2 f3 ~ [b2,d#3] ~@3 [b2,d#3] ~ [c#3,f3] ~ b2 ~ [c#3,f3] ~", // B C#
  H: "~@2 f3 ~ [c#3,d3,d#3,f#3] ~@3 [c#3,d3,d#3,f#3] ~ [c#3,f3] ~ [d#3,f#3] ~ [c#3,f3] ~", I: "~@2 [c#3,f3] ~@13",
})).s("gm_epiano1").gain(0.1)

// chords · epiano1 · "Rhodes" · soft notes
const epiano1_soft = note("<~ A B A C D E F G ~@60 A B A C D E F H ~@24>".pickRestart({
  A: "[b2,d#3] ~@5 [c#3,f3] ~@9", B: "[d3,d#3,f#3] ~@5 [c#3,f3] ~@5 d#3 ~@3", C: "[d#3,f#3] ~@5 [c#3,f3] ~@9",
  D: "[b2,d#3] ~@5 [c#3,f3] ~@5 c#3 ~@3", E: "[c#3,d3,d#3,f#3] ~ c#3 ~@3 [c#3,f3] ~@5 d#3 ~@3",
  F: "[b2,d#3] ~ c#3 ~@3 [c#3,f3] ~@5 [c#3,d3] ~@3", G: "[c#3,d3,d#3,f#3] ~@5 [c#3,f3] ~@9", H: "[d3,d#3,f#3] ~@15",
})).s("gm_epiano1").gain(0.03)

// bass · epiano1 · "Low Tone"
const bass_2 = note(`<
  A@2 ~@2 B@4 C D C E C F C E C F C F C G H F C F C I C F J K C F L M C E C F C E C F C F C E C F C N C G C G O F J P C
  F C F C G Q R S@2 ~@2 A@2 ~@2 C F C T C F J U L F C V C F W X C F C F C Y L E Z
>`.pickRestart({
  A: "g#0/2", B: "g#0/4", C: "g#0@2 ~ b0 c#1@2 ~ f#1", D: "g#1@2 ~ d1 ~@3 d#1", E: "g#1@2 ~ d1 c#1@2 ~ f#0",
  F: "g#1@2 ~ d1 c#1@2 ~ d#1", G: "g#1@4 ~@2 d1@2 c#1@5 ~ d#1@2", H: "g#0@4 ~@2 b0@2 c#1@5 ~ f#1@2",
  I: "g#1@2 ~@2 c#1@2 ~ f#0", J: "g#0@2 ~ b0 c#1@4", K: "d#0@5 ~ d#0@2 f#0@2 d#0@2 f#0@3 ~",
  L: "g#0@5 ~ b0@2 c#1@4 ~@2 f#1@2", M: "g#1@5 ~ d1@2 c#1@4 ~@2 f#0@2", N: "g#1@2 ~ d1 c#1@2 ~@2",
  O: "g#0@5 ~ b0@2 c#1@2 ~@4 f#1@2", P: "d#0@6 d#0@2 f#0 ~ d#0 ~ f#0@2 ~@2", Q: "g#0@5 ~ b0@2 c#1@8",
  R: "d#0@5 ~ d#0@2 f#0 ~ d#0 ~ f#0@2 g0 ~", S: "[g#0, a#0 ~@31]/2", T: "g#1@4 ~@2 d1@2 c#1@3 ~@5",
  U: "d#0 ~@4 d#0 f#0 ~", V: "g#1@2 ~ d1 c#1@2 ~ f#1", W: "g#0@4 ~@2 b0@2 c#1@7 ~",
  X: "d#0@5 ~ d#0@2 f#0 ~ d#0@2 f#0@2 g0@2", Y: "g#1@2 ~ d1 c#1@2 ~ b0", Z: "g#0!2 ~@14",
})).s("gm_epiano1").gain(0.14)

// bass · epiano1 · "Low Tone" · soft notes
const bass_soft_2 = note("<~@9 A ~@17 B ~@23 C ~@7 D ~@6 E ~@12 F ~@3 G ~@16 H>".pickRestart({
  A: "~@8 c#1@5 ~@3", B: "~@3 d1 ~@4", C: "g1 ~@13 f#0@2", D: "~@7 g0", E: "~@6 d1 ~@9", F: "~@6 d#0 f#0",
  G: "~ d#0!4 ~@2 d#0", H: "~@2 g#0!10 g#0@3 ~",
})).s("gm_epiano1").gain(0.05)

// chords · rock organ · "Organ 3"
const rock_organ_2 = note("<~@32 A B C D E@8 F G F H I@4 ~@49>".pickRestart({
  A: "~@2 d#6@2 [f#6,a#6]@2 d#6@2 [g#6,c7] ~ [d#6,g#6,c7] ~@5", // F# G#
  B: "~@2 d#6@2 [a#6,c#7]@2 d#6@2 [g#6,c7] ~ [d#6,g#6,c7] ~@3 [d#6,g#6,c7] ~", // A#m G#
  C: "~@2 d#6@2 [f#6,a#6]@2 ~@2 [g#6,c7] ~ [d#6,g#6,c7] ~@5, ~@3 d#6@2 ~@3", // F# G#
  D: "~@2 d#6@2 [a#6,c#7]@2 d#6@2 [g#6,c7] ~ [d#6,g#6,c7] ~@3 d#6 ~, ~@4 a6 ~@11", // A#m G#
  E: "[d#6@26 f#6@2 f6@2 d#6@60 f#6@2 f6@2 d#6@27 ~ f#6 ~ f#6 ~ f#6 ~]/8", F: "f#6 ~@3 g#6 ~ f6 ~@3 f#6 ~@3 f#6 ~",
  G: "~@2 f#6 ~ g#6 ~ f#6 ~ f6 ~ d#6 ~ c#6 ~ f#6 ~", H: "~@2 f#6 ~ g#6 ~ f#6 ~ f6 ~ d#6 ~@5",
  I: "[d#6@26 f#6@2 f6@2 d#6@33 ~]/4",
})).s("gm_rock_organ").gain(0.24).pan(0.2)

// other · drawbar organ · "Organ Harm"
const drawbar_organ = note("<~@15 A B C B D ~@16 E F ~@3 F ~ A G H G I E F ~@10 J K L M N@3 ~@34>".pickRestart({
  A: "~@10 f#4 ~ f#4 ~ f#4 ~", B: "f#4 ~@3 g#4 ~ f4 ~@3 f#4 ~ f#4 ~ f#4 ~",
  C: "f#4 ~ g#4 ~ f#4 ~ f4 ~@3 f#4 ~ f#4 ~ f#4 ~", D: "~@2 f#4 ~ g#4 ~ f#4 ~ f4 ~@7", E: "d#3 ~@7", F: "~@5 f#3 f3 d#3",
  G: "f#4 ~@3 g#4 ~ f4 ~@3 f#4 ~@3 f#4 ~", H: "~@2 f#4 ~ g#4 ~ f#4 ~ f4 ~ d#4 ~ c#4 ~ f#4 ~",
  I: "~@2 f#4 ~ g#4 ~ f#4 ~ f4 ~ d#4 ~@5", J: "g#4 ~ g#5 ~ g#4 g#5 ~ g#4",
  K: "~@2 g#5@2 ~@2 g#4@2 ~@2 d5@2 c#5 ~ b4@2, ~@10 c#5 ~@5", L: "~@2 g#4 ~ g#4 ~ g#4 ~@3 g#4@2 ~@2 g#4 ~",
  M: "~ g#5@2 f#5@2 g#5 ~@2, ~@2 f#5 ~@13",
  N: "[~@2 b5 ~ b5 ~ b5 ~ b5@2 g#5 ~@3 f#5@4 g#5 ~@3 c#5@4 b4@2 g#4@2 b4@8 ~@10, ~@22 d5 ~@25]/3",
})).s("gm_drawbar_organ").gain(0.19).pan(0.2)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@67 A@2 ~@32>".pickRestart({
  A: "[[f#3,b3]@5 ~@3]/2", // B5
})).s("gm_string_ensemble_1").gain(0.24).pan(0)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1_2 = note("<~@67 A@2 ~@32>".pickRestart({
  A: "[~ [f#3,b3]@5 ~@2]/2", // B5
})).s("gm_string_ensemble_1").gain(0.12).pan(1)

// chords · drawbar organ · "Solo Harm"
const drawbar_organ_2 = note("<~@60 A B C D E@3 ~@25 F G H I J@2 K@2 L>".pickRestart({
  A: "g#5 ~ g#6 ~ g#5 g#6 ~ g#5", B: "~@2 g#6@2 ~@2 g#5@2 ~@2 d6@2 c#6 ~ b5@2",
  C: "~@2 g#5 ~ g#5 ~ g#5 ~@3 g#5@2 ~@2 g#5 ~", D: "~ g#6@2 f#6@2 g#6 ~@2, ~@2 f#6 ~@13",
  E: "[~@4 b6 ~ b6 ~ b6@2 g#6 ~@3 f#6@4 g#6 ~@3 c#6@4 b5@2 g#5@2 b5@8 ~@10, ~@22 d6 ~@25]/3",
  F: "g#4@3 ~ [g#4,g#5]@4 ~@2 g#5@2 ~@2 g#4@2, ~@2 g#4 ~", // G#
  G: "~@2 [g#4,g#5]@3 ~ g#4@2 ~@2 d#5@2 c#5@2 b4 ~, ~@10 g#4@5 ~, ~@10 d5 ~@5", // G#
  H: "~@2 d#5@4 ~@2 [g#4,c#5]@2 b4@2 g#4 ~ [g#4,c#5]@2, ~ g#4 ~@6, ~@2 d5 ~@13", // C#5
  I: "b4 g#4 [f#4,b4] g#4@2 f#4 g#4 [f#4,b4]", // B5
  J: "[g#4@2 ~@2 g#4@2 f#4@2 g#4@2 [f#4,b4]@2 ~@2 [g#4,c#5]@5 ~ [g#4,d#5]@3 ~ [g#4,c#5]@2 b4@2 g#4@2 f#4@2, ~@20 d5 ~@11]/2", // B5 C#5 G#5 C#5
  K: "[g#4@4 [f#4,b4]@2 ~@2 [g#4,c#5]@2 b4@2 ~@2 g#5@4 g#4@2 d#5@3 ~ [g#4,c#5]@2 b4@2 g#4@2 f#4@2, ~@12 g#4@5 ~@3 d5 ~@11]/2", // B5 C#5
  L: "g#4 ~@7",
})).s("gm_drawbar_organ").gain(0.4)

// chords · drawbar organ · "Solo Harm" · soft notes
const drawbar_organ_soft = note("<~@61 A ~@2 B ~@29 C ~@2 D E F ~>".pickRestart({
  A: "~@10 c#6 ~@5", B: "~@2 b6 ~@13", C: "~@6 g#4 ~@7 a#4 ~", D: "~@2 b4 ~@11 b4@2", E: "~@6 g#4 ~@9",
  F: "~@6 g#4 ~@7 b4@2",
})).s("gm_drawbar_organ").gain(0.24)

// other · lead 2 sawtooth · "Saw Wave"
const lead_2_sawtooth = note("<~@60 A B C D E@3 F@2 ~@32>".pickRestart({
  A: "g#5 ~ g#6 ~ g#5 g#6 ~ g#5", B: "~@2 g#6@2 ~@2 g#5@2 ~@2 d6@2 c#6 ~ b5@2, ~@10 c#6 ~@5",
  C: "~@2 g#5 ~ g#5 ~ g#5 ~@3 g#5@2 ~@2 g#5 ~", D: "~ g#6@2 f#6@2 g#6 ~@2, ~@2 f#6 ~@13",
  E: "[~@2 b6 ~ b6 ~ b6 ~ b6@2 g#6 ~@3 f#6@4 g#6 ~@3 c#6@4 b5@2 g#5@2 b5@8 ~@10, ~@22 d6 ~@25]/3",
  F: "[[f#4,b4] [f#4,b4]@5 ~@2]/2", // B5
})).s("gm_lead_2_sawtooth").gain(0.18)

// … 72 more lines

More by Smash Mouth