Strudelify

I'm The Only One

Melissa Etheridge

KeyG majorTempo88 bpm
0:00/0:00
// I'm The Only One — Melissa Etheridge
// 88 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 102 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/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 · electric bass finger · "Fingered"
const bass = note(`<
  A B C B D B C B D B C B@2 E F E G B H I B H I J K L M B D B C B D B C B@2 E F E G B H I B H I J K L M B N H O B@2 H O
  B@2 E F E G B H I B H I J K L M B H I B H I J K L M B C B D B C B D B C B D B C B D P
>`.pickRestart({
  A: "~@7 g2 d2 f2 e2 d2", B: "g1 ~ g1!2 ~ g1!2 ~ g1!2 ~ g1", C: "g1 ~ g1!2 ~ g1!2 ~ g1!2 f1 f#1",
  D: "g1 ~ g1!2 ~ g1!2 ~ g1 a#1 c2 a#1", E: "a1 ~ a1!2 ~ a1!2 ~ a1!2 c2 a1", F: "d2 ~ d2!2 a1 c2 d2 f#1 g1 a1 g1 g#1",
  G: "d2 ~ d2!2 ~ d2!2 ~ d2 e2 d2 b1", H: "f1 ~ f1!2 ~ f1!2 ~ f1!2 ~ f1", I: "e1 ~ e1!2 ~ e1!2 ~ e1 e2 d2 b1",
  J: "a1 ~ a1!2 ~ a2 g2 ~ g2 e2 a1 b1", K: "c2 ~ c2 a1 ~ a1 g1 ~ g1 e1 d1 e1",
  L: "f1@2 ~@2 f1@2 f1@3 ~ f1@2 f1@2 ~@2 f1@2 f1@2 g1@2 a1@2", M: "c2 ~ c2!2 g1 a1 c2 e1!2 f1!2 f#1",
  N: "g1 ~ g1!2 ~ g1 f2 g2 c2 d2 a#1 a1", O: "f1 ~ f1!2 ~ f1!2 ~ f1 f2 c2 f1",
  P: "f2@3 ~ f2@2 d2@2 c2@2 d2@2 g1@2 g1@2 ~@8",
})).s("gm_electric_bass_finger").gain(0.54).pan(0.4)

// chords · electric guitar clean · "Clean Gt."
const electric_guitar_clean = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S Q R S T U V W C D E F G H I J K L M N O P Q R S Q R S T U V W X@2 Y@2 Z@2 AA@2
  AB@2 M N O P Q R S Q R S T U V W Q R S Q R S T U V W A B A B A B A B A B A B A B A B AC
>`.pickRestart({
  A: "[g2,d3] ~@3 d3 ~ [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 g2 ~", // G5
  B: "[g2,d3] ~@3 d3@2 [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 [g2,d3]@2", // G5
  C: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 d3 ~", // G5
  D: "[g2,d3] ~@3 d3 ~ [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@5", // G5
  E: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3] ~", // G5
  F: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@5 [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 [g2,d3]@2", // G5
  G: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@5 [g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3] ~", // G5
  H: "d3 ~@3 [g2,d3] ~ [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 d3 ~ [g2,d3] ~@3 [g2,d3]@2", // G5
  I: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3] ~ d3 ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3] ~", // G5
  J: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 g2 ~ [g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3]@2", // G5
  K: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 g2@2", // G5
  L: "[g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3]@2 [g2,d3] ~@3 [g2,d3] ~ [g2,d3] ~@3 [g2,d3]@2", // G5
  M: "[a2,e3]@2 ~@2 [a2,e3]@2 [a2,e3]@2 ~@2 [a2,e3]@2 [a2,e3]@2 ~@2 [a2,e3]@2 [a2,e3]@2 ~@2 [a2,e3] ~", // A5
  N: "[d3,a3]@2 ~@2 [d3,a3]@2 [d3,a3]@2 ~@2 d3 ~ [d3,a3]@2 ~@2 [d3,a3] ~ [d3,a3]@2 ~@2 [d3,a3] ~", // D5
  O: "[a2,e3]@2 ~@2 [a2,e3]@2 [a2,e3]@2 ~@2 [a2,e3] ~ [a2,e3]@2 ~@2 [a2,e3] ~ [a2,e3]@2 ~@2 [a2,e3] ~", // A5
  P: "[d3,a3]@2 ~@2 [d3,a3] ~ [d3,a3]@2 ~@2 d3@2 [d3,a3]@2 ~@2 [d3,a3] ~ [d3,a3]@2 ~@2 [d3,a3] ~", // D5
  Q: "[g2,d3]@2 ~@2 [g2,d3] ~ [g2,d3,g3]@3 ~ [g2,d3]@2 [g2,d3]@3 ~ [g2,d3] ~ [g2,d3,g3]@3 ~ [g2,d3]@2", // G5
  R: "[f2,c3]@3 ~ [f2,c3]@2 [f2,c3,f3]@3 ~ f2@2 [f2,c3]@3 ~ [f2,c3] ~ [f2,c3,f3]@3 ~ [f2,c3]@2", // F5
  S: "[e2,b2]@3 ~ [e2,b2]@2 [e2,b2,e3]@3 ~ [e2,b2]@2 [e2,b2]@3 ~ [e2,b2]@2 [e2,b2,e3]@3 ~ [e2,b2]@2", // E5
  T: "[a2,e3]@2 ~@2 [a2,e3]@2 [a2,e3,a3]@3 ~ [a2,e3]@2 [a2,e3]@3 ~ [a2,e3]@2 [a2,e3,a3]@3 ~ [a2,e3]@2", // A5
  U: "[c3,g3]@2 ~@2 [c3,g3]@2 [c3,g3,c4]@3 ~ [c3,g3]@2 [c3,g3]@3 ~ [c3,g3]@2 [c3,g3,c4]@3 ~ [c3,g3]@2", // C5
  V: "[f2,c3]@3 ~ [f2,c3]@2 [f2,c3,f3]@3 ~ [f2,c3]@2 [f2,c3]@3 ~ [f2,c3]@2 [f2,c3,f3]@3 ~ [f2,c3]@2", // F5
  W: "[c3,g3]@3 ~ [c3,g3]@2 [c3,g3,c4]@3 ~ [c3,g3]@2 [c3,g3]@3 ~ [c3,g3] ~ [c3,g3,c4]@3 ~ [c3,g3]@2", // C5
  X: "[g2@3 ~@3 [d3,g3]@4 [d3,g3]@2 g2@3 ~@3 [d3,g3]@3 ~@3 g2@3 ~@3 [d3,g3]@3 ~@3 g2@3 ~@3 [d3,g3]@3 ~ [d3,g3]@2, ~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2, ~@11 [d3,g3]@2 ~@4 [d3,g3]@2 ~@5]/2", // G5
  Y: "[[c3,f3]@4 c3@2 [c3,f3,c4]@3 ~ [c3,f3,c4]@6 ~@2 [f3,c4]@4 ~@2 [f3,c4]@4 ~@2 [f3,c4]@3 ~ [c3,f3,c4]@6 ~@2 [f3,c4]@4 c3 ~, c4@6 ~@10 c3@5 ~ c3@5 ~ c3@6 ~@6 c3@5 ~@3]/2", // F5
  Z: "[[g3,d4]@4 ~@2 [g3,d4]@3 ~ [g3,d4]@6 ~@2 [g3,d4]@4 ~@2 [g3,d4]@4 ~@2 [g3,d4]@3 ~ [g3,d4]@6 ~@2 [g3,d4]@4 d3@2, d3@3 ~ d3@11 ~ d3@5 ~ d3@5 ~ d3@11 ~ d3@5 ~@3]/2", // G5
  AA: "[[f3,c4]@4 ~@2 [f3,c4]@3 ~@9 [f3,c4]@4 ~@2 [f3,c4]@4 ~@2 [f3,c4]@3 ~ [f3,c4]@6 ~@6 c3@2, ~@4 c3@11 ~ c3@6 c3@5 ~ c3@11 ~ c3@5 ~@3, ~@5 [f3,c4]@4 ~@12 [f3,c4]@3]/2", // F5
  AB: "[~@6 [g3,d4]@3 ~ [g3,d4]@6 ~@2 [g3,d4]@4 ~@2 [g3,d4]@4 ~@2 [g3,d4]@3 ~ [g3,d4]@6 ~@6 d3@2, [g3,d4] ~@6 [g3,d4], ~@4 d3@11 ~ d3@6 d3@5 ~ d3@11 ~ d3@5 ~@3]/2", // G5
  AC: "[c3,f3]@3 ~ [c3,f3] ~@3 [c3,f3] ~@3 [d3,g3]@2 [d3,g3]@2 ~@8", // F5 G5
})).s("gm_electric_guitar_clean").gain(0.27).pan(0.6)

// chords · electric guitar clean · "Clean Gt." · soft notes
const electric_guitar_clean_2 = note(`<
  ~ A B C D ~ E F G H I J ~@2 K ~ L ~ M ~@2 M ~@5 C D ~ E F G H I J ~@2 K ~ L ~ M ~@2 M ~@16 K ~ L ~ M ~@2 M ~@6 M ~@2 M
  ~@5 A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~@4 g2 ~@11 g2 ~@5 d3 ~", B: "~@4 g2@2 ~@10 g2 ~@7", C: "~@10 g2 ~@5 g2 ~@5 g2 ~", D: "~@4 g2 ~@17 [g2,d3] ~",
  E: "~@10 [g2,d3] ~@5 g2 ~@7", F: "~@10 [g2,d3] ~@13", G: "g2 ~@9 g2 ~@5 g2 ~@7", H: "~@12 g2 ~@11", I: "~@10 d3 ~@13",
  J: "~@11 d3", K: "~@10 a3 ~@13", L: "~@5 a3 ~@6", M: "~@5 c3 ~@6",
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.6)

// chords · acoustic guitar steel · "Steel-str"
const acoustic_guitar_steel = note(`<
  ~ A B C D ~ E ~ F ~@3 G H I J K L@2 M N@2 O P Q R S T D ~ E ~ F ~@3 G H I J K L@2 M N@2 O P Q R S U@2 V@2 W X Y Z W X
  H I J K L@2 M N@2 O P Q R S L@2 M N@2 O P Q R S AA@2 ~ AB AC AD AC AE AC AD AC AE AC AD AC AE AF
>`.pickRestart({
  A: "[g2,g3]@17 ~ [g3,g4]@2 [f3,f4]@2 [d3,d4]@2", B: "~@9 [c3,c4] [d3,d4] [g3,g4]", C: "g2@9 [g3,g4] [f3,f4] ~",
  D: "[g2,g3]@9 [c3,c4] [d3,d4] [g3,g4]", E: "~@14 [g3,g4] ~@3 [g3,g4]@2 [f3,f4]@2 [d3,d4]@2",
  F: "~@10 [d3,d4] [g3,g4], ~@9 [c3,c4]@2 ~", G: "~@18 [g2,d3,g3,d4]@3 ~ [g2,d3,g3,d4]@2",
  H: "[a3,c4,e4]@10 ~@2 [c4,e4]@5 ~ [a3,c4,e4]@5 ~, ~@10 a3@7 ~@7", // Am C Am
  I: "[d4,f#4]@10 ~@2 [d4,f#4]@5 ~ [a3,d4,g4]@5 ~, a3@9 ~ a3@7 ~@7", // D Dsus4
  J: "[c4,e4]@10 ~@2 [c4,e4]@5 ~ [a3,c4,e4]@5 ~, a3@9 ~ a3@7 ~@7", // C Am
  K: "[d4,f#4]@10 ~@2 [d4,f#4]@5 ~ [a3,d4,f#4]@6, a3@9 ~ a3@7 ~@7", // D
  L: "[[g2,g3]@4 ~@2 [g3,d4,g4]@3 ~ [g3,d4,g4]@6 ~@2 g3@3 ~ g3@2 ~@6 [c4,f4]@3 ~ [f3,c4,f4]@6 ~@2 [f3,c4,f4]@4 c3@2, d3@24 ~@4 f3@5 ~@7 c3@5 ~@3, ~@4 g2@11 ~ g2@8 f2@23 ~, ~@9 [d4,g4]@5 ~@10]/2", // G G5 F5 G5
  M: "[b3,e4]@4 ~@2 [b3,e4]@3 ~ e4@2 e4@2 d4@2 b3@2 e4@2 [e3,d4]@2 [b3,e4]@2, e2@15 ~ e2@7 ~, ~@4 e3@5 ~ e3@9 ~@5, ~@5 b3@3 ~@4", // E5 E7 E5
  N: "[~@6 [d4,g4]@3 ~ [g3,d4,g4]@6 ~@2 g3@5 ~@7 [c4,f4]@3 ~ [f3,c4,f4]@6 ~@2 f3@3 ~ f3 ~, d3@23 ~@5 f3@5 ~@15, g2@15 ~ g2@7 ~ f2@15 ~ f2@7 ~, ~@4 g3@5 ~@9 [d4,g4]@10 ~@14 [c4,f4]@6]/2", // G5 F5 G5 F5
  O: "e3@3 ~@3 [b3,e4]@2 d4@2 [b3,e4]@2 e4@2 d4@2 b3@2 [e3,e4]@2 d4@2 [e3,b3]@2, e2@15 ~ e2@6 ~@2, ~@4 e3@5 ~ e3@6 ~@8", // E5 E E5
  P: "[a2,e3]@6 [e3,c4,g4]@3 ~ [e3,c4,g4]@6 ~@2 e3@3 ~ e3@2, ~@10 a2@5 ~ a2@7 ~, ~@3 [c4,g4]", // A5 C C5
  Q: "[c3,g3]@3 ~@3 [c4,g4]@3 ~ [g3,c4,g4]@6 ~@2 g3@3 ~ g3@2, ~@4 [c3,g3]@6 c3@5 ~ c3@7 ~, ~@3 [c4,g4]", // C5
  R: "~@6 [c4,f4]@3 ~ [c4,f4]@6 ~@2 [c4,f4]@5 ~, [f2,c3]@9 ~ [f2,c3]@5 ~ [f2,c3]@7 ~, ~@2 f3@3 ~@7", // F5
  S: "[c3,g3,c4,g4]@5 ~ [c3,g3,c4,g4]@5 ~ [c3,g3,c4,g4]@5 ~ [c3,g3,c4,g4]@6", T: "[g2,g3]@9 [g3,g4] [f3,f4] ~",
  U: "[[d3,g3,b3]@5 ~ [d3,g3,b3]@4 ~@2 [g3,b3]@5 ~ [d3,g3]@4 ~@2 [g3,b3]@5 ~ d3@3 ~ d3@2 [d3,g3,b3]@5 ~ [d3,g3,b3]@6, ~@5 d3@4 b3@3 ~@3 [g3,b3]@3 ~@6, ~@22 d3@7 ~@19]/2", // G G5 G
  V: "[c3,f3,a3]@3 ~ [f3,a3]@2 [c3,f3,a3]@3 ~ f3@2 [c3,f3,a3]@3 ~@3 [c3,f3,a3]@3 ~ a3@2", // F
  W: "[d3,g3,b3]@3 ~@3 [d3,g3,b3]@3 ~ [g3,b3]@2 [d3,g3,b3]@3 ~@3 [d3,g3,b3]@3 ~ [d3,g3]@2", // G G5
  X: "[d3,g3,b3]@3 ~ d3@2 [d3,g3,b3]@3 ~ g3@2 [d3,g3,b3]@3 ~ [d3,g3]@2 [d3,g3,b3]@3 ~ [d3,g3]@2", // G G5 G G5
  Y: "[c3,f3,a3]@3 ~ [f3,a3]@2 [c3,f3,a3]@3 ~ a3@2 [c3,f3,a3]@3 ~ f3@2 [c3,f3,a3]@3 ~ f3@2", // F
  Z: "[c3,f3,a3]@3 ~ f3@2 [c3,f3,a3]@3 ~ [c3,f3]@2 [c3,f3,a3]@3 ~@3 [c3,f3,a3]@3 ~ [f3,a3]@2", // F F5 F
  AA: "[[g2,g3]@15 [d3,d4] [f3,f4] [g3,g4] [c3,c4]@3 [a#2,a#3]@3]/2", AB: "~@8 [d3,d4] [f3,f4] [g3,g4] [f3,f4]",
  AC: "[g2,d3,g3,d4] ~@4 [g2,d3,g3,d4] ~@6", AD: "[g2,d3,g3,d4] ~@4 [g2,d3,g3,d4] ~@3 [d3,d4] [f3,f4] [g3,g4]",
  AE: "[g2,d3,g3,d4] ~@4 [g2,d3,g3,d4] ~@2 [d3,d4] [f3,f4] [g3,g4] [f3,f4]", // G5 D F G F
  AF: "[f3,f4]@3 ~ [f3,f4]@2 [d3,d4]@2 [c3,c4]@3 ~ [g2,g3]@2 [g2,g3]@2 ~@8", // F D C G
})).s("gm_acoustic_guitar_steel").gain(0.49).pan(0.3)

// chords · acoustic guitar steel · "Steel-str" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@2 A B ~@19 C ~ D ~ B ~@19 C ~ D ~@3 E@2 F G H I F G ~@10 C ~ D ~@7 C ~ D ~@17 J
>`.pickRestart({
  A: "[g2,g3]@3 ~", B: "~@11 [d3,d4]", C: "~@2 a2 ~@5", D: "~@3 c4 ~@6 f3 ~@11 f3 ~",
  E: "~@2 c3 ~@2 [c3,a3] ~@2 [c3,f3,a3] ~@2 [c3,f3]", F: "~@2 [d3,g3,b3] ~@2 d3 ~@2 [d3,g3,b3] ~@2 b3",
  G: "~@2 [g3,b3] ~@2 [d3,b3] ~@2 b3 ~@2 b3", H: "~@2 c3 ~@2 [c3,f3] ~@2 [c3,a3] ~@2 [c3,a3]",
  I: "~@2 [c3,a3] ~@2 a3 ~@2 [c3,f3,a3] ~@2 c3", J: "~@5 [d3,d4] ~@6",
})).s("gm_acoustic_guitar_steel").gain(0.27).pan(0.3)

// chords · distortion guitar · "Distortio"
const distortion_guitar = note(`<
  ~ A@2 B@2 C ~@2 D E F G H I J I K L M@2 L N@2 O P Q R B@2 C ~@2 D G F G H I J I K L M@2 L N@2 O P Q R S T U@8 I J I K
  L M@2 L N@2 O P Q R L M@2 L N@2 O P Q R A@2 ~@2 V@12 W
>`.pickRestart({
  A: "[[g2,d3]@41 ~ c3@2 d3@2 g3@2]/2", B: "[[g2,d3]@42 c3@2 d3@2 g3 ~]/2", C: "[g2,d3] ~@11", D: "~@9 c3 d3 g3",
  E: "[g2,d3]@5 ~@19", F: "~@8 d3 f3 g3 f3", G: "[g2,d3] ~@5", H: "~@18 [g2,d3]@3 ~ [g2,d3]@2",
  I: "a3 c4 e4@2, [a2,e3]", J: "[d3,a3]@5 ~ f#4@3 g4@3, f#4 a3, ~@5 d3@7",
  K: "[a3,f#4]@5 ~ [a3,f#4]@3 [d3,a3,f#4]@3, d3@9 ~ d3@8 ~@6", L: "[g2,d3,g3]@17 ~ [g2,d3,g3]@4 [g2,d3,g3]@2",
  M: "[[f2,c3,f3]@17 ~ [f2,c3,f3]@4 e3@14 e3@2 d3@2 b2@2 e3@2 d3@2 b2@2, ~@11 e2@13, ~@11 b2@8 ~@5]/2", // F5
  N: "[[f2,c3,f3]@17 ~ [f2,c3,f3]@4 b2@8 e3@2 d3@2 b2@2 e3@2 d3@2 b2@2 e3@2 d3@2 b2@2, ~@11 e2@13, ~@22 e3@7 ~@19]/2", // F5
  O: "[a2,e3]@17 ~ [a2,e3]@3 ~ [a2,e3]@2", P: "[c3,g3]@8 ~ [c3,g3]@2 [c3,g3]",
  Q: "[f2,c3]@11 ~ [f2,c3]@3 ~ c3@2 ~@4 f2@2, ~@4 f2 c3, ~@18 f3@5 ~", // F5
  R: "[c3,g3]@3 g3@3 c3 g3 c3 g3 ~ g3, ~@6 c3@5 ~@9 c3@4", S: "[g2,d3,g3]@6 [g2,d3,g3]@6 [g2,d3,g3]@5 ~ [g2,d3,g3]@5 ~",
  T: "[g2,d3,g3]@5 ~ [g2,d3,g3]@5 ~ [g2,d3,g3]@12", // G5
  U: "[[c3,f3]@4 ~@2 [c3,f3]@3 ~@9 [c3,f3]@3 ~ [c3,f3]@6 ~@2 [c3,f3]@3 ~ [c3,f3]@6 ~@2 [c3,f3]@4 ~@2 g2@3 ~@3 [d3,g3]@3 ~@9 [d3,g3]@3 ~ [d3,g3]@6 ~@2 [d3,g3]@3 ~ [d3,g3]@6 ~@14 [c3,f3]@3 ~@9 [c3,f3]@3 ~ [c3,f3]@6 ~@2 [c3,f3]@4 [c3,f3]@6 ~@2 [c3,f3]@4 ~@2 g2@3 ~@3 [d3,g3]@4 ~@8 [d3,g3]@3 ~@9 [d3,g3]@3 ~@9 [d3,g3]@6, f2@3 ~ f2@11 ~ f2@11 ~ f2@11 ~ f2@7 ~@5 g2@12 g2@11 ~ g2@11 ~ g2@5 ~ g2@4 ~@2 f2@11 ~ f2@11 ~ f2@11 ~ f2@7 ~@5 g2@12 g2@11 ~ g2@11 ~ g2@8, ~@10 [c3,f3]@8 ~@28 [d3,g3]@7 ~@5 [d3,g3]@8 ~@24 [d3,g3]@6 [c3,f3]@6 ~@4 [c3,f3]@8 ~@28 [d3,g3]@7 ~@5 [d3,g3]@8 ~@4 [d3,g3]@8 ~@4 [d3,g3]@8 ~@6]/8", // F5 G5 F5 G5 F5 G5 F5 G5
  V: "[g2,d3] ~@4 [g2,d3] ~@6", W: "~@4 f2@7 ~ [g2,d3,g3]@2 [g2,d3,g3]@2 ~@8, f3@11 ~@13, ~@2 c3@9 ~@13",
})).s("gm_distortion_guitar").gain(0.59).pan(0.7)

// other · distortion guitar · "Distortio"
const distortion_guitar_2 = note("<~@52 A B C D E F G H I ~@41>".pickRestart({
  A: "~@8 b3 a3 g3 f3", B: "a3@8 b3 a3 g3 f3", C: "a3@6 b3 a3 g3 f3 g3 a3", D: "g3@12 d4@11 ~",
  E: "f4@2 d4@2 [c4,f#4]@2 a#3@3 ~ a#3@2 g3@10 b3@2", F: "c4@4 b3 c4 d4@2 f4@2 g4@2, ~@12 c#4 ~@11", G: "f4 g4 a4 f4",
  H: "g4@9 ~ g4@2 a#4@2 b4@2 d5@4 b4@2 a4@2", I: "g4@6 ~ b4 ~@2 b4@2 g4@6 b4@2 ~ g4@2 ~, ~@3 a#4 d5@2 ~@4 a4 ~",
})).s("gm_distortion_guitar").gain(0.7).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  [~@2 x]
  [x ~ x!2 ~ x!2 ~ x!2 ~ x]!35
  [x ~ x!2 ~ x!5 ~ x]
  [x ~ x!2 ~ x!2 ~ x!2 ~ x]!64
  [x!4 ~@2 x!2 ~@4]
>`).gain(0.54)

// drums · snare
const snare = s("sd").struct(`<
  A B@13 C B D B C@2 B C E B C B C B C B@3 C B@3 F B C B D B C@2 B C E B C B E B D B@7 G B C B D B C@2 B C E B C B E B
  C@2 B C E B C B H B@11 D B@4 I
>`.pickRestart({
  A: "~@9 x!3", B: "~ x ~ x", C: "~@3 x ~@5 x ~ x", D: "~@3 x ~@3 x!5", E: "~@3 x ~@3 x ~ x ~ x",
  F: "~@3 x ~@3 x ~ x ~@2", G: "~@6 x ~@5 x ~@5 x ~ x!3 ~", H: "x ~@2 x ~@2 x ~@3 x ~",
  I: "x ~ x ~ x ~ x ~@2 x!4 ~ x ~@9",
})).gain(0.48)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@4 A ~@17 B ~@5 A ~@7 B ~@9 B ~@5 C ~@3 B ~@13 B ~@9 B ~@7 A ~@3 A ~@7 A D
>`.pickRestart({
  A: "~@11 x", B: "~@10 x!2", C: "~@9 x ~ x", D: "~@3 x!2 ~@7 x ~ x ~@9",
})).gain(0.48)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~ A@17 B@2 A B@2 A B A B A@5 C A@9 B@2 A B@2 A B A B A@15 B@2 A B@2 A B A B A B@2 A B@2 A B A D A@16 E
>`.pickRestart({
  A: "x!12", B: "x!11 ~", C: "x!9 ~ x!2", D: "x!10 ~ x", E: "x!4 ~@2 x!2 ~@4",
})).gain(0.3)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@18 A@2 ~ A@2 ~ A ~ A ~@5 B ~@9 A@2 ~ A@2 ~ A ~ A ~@15 A@2 ~ A@2 ~ A ~ A ~ A@2 ~ A@2 ~ A ~ C ~@17
>`.pickRestart({
  A: "~@11 x", B: "~@3 x", C: "~@5 x",
})).gain(0.3)

// drums · mid tom
const mid_tom = s("mt").struct("<~@4 A ~@47 B ~@35 A ~@3 A ~@7 A C>".pickRestart({
  A: "~@5 x", B: "~@7 x ~@4", C: "~ x ~@10",
})).gain(0.48)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~@3 A ~@7 A@2 ~@2 A ~@2 A ~@2 A ~@5 A ~@7 A@2 ~@2 A ~@2 A ~@2 A ~ A ~ A ~ A ~@3 B ~@3 A@2 ~@2 A ~@2 A ~@2 A ~ A ~
  C@2 ~ A ~@2 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B
>`.pickRestart({
  A: "x", B: "x!2 ~@2", C: "~ x ~@2",
})).gain(0.42)

// drums · ride
const ride = s("rd").struct(`<
  ~@17 A B@2 A B@2 A B@3 ~@14 A B@2 A B@2 A B@3 ~@2 C D@3 E D@3 ~@4 A B@2 A B@2 A B@3 A B@2 A B@2 A B@3 ~@17
>`.pickRestart({
  A: "~ x!11", B: "x!12", C: "~ x!3", D: "x!4", E: "~@2 x!2",
})).gain(0.36)

stack(
  bass, electric_guitar_clean, electric_guitar_clean_2, acoustic_guitar_steel, acoustic_guitar_steel_2,
// … 2 more lines

More by Melissa Etheridge