Strudelify

What About Me? (We Like It Here)

Josh Busby

KeyE majorTempo130 bpm
0:00/0:00
// What About Me? (We Like It Here) — Josh Busby
// 130 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 1) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5929584; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 56 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/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 · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<~@17 A B C@2 A B C@2 D E F G@2 H I ~@9 J K L ~ M@2 N@7 O@2>".pickRestart({
  A: "~@4 d4 ~@3 c#4@3 b3 ~@4", B: "~@4 g3 ~ f#3 ~ e3@3 e3 ~@4", C: "~@4 e3 ~@3 e3@3 e3 ~@4", D: "d3",
  E: "f#4 b3 d4 g3", F: "f#3", G: "[~@15 a3@17]/2", H: "b3 e3 g3 c3", I: "c#3", J: "~@4 d4 ~@3 c#4@3 b3 ~@3 b3",
  K: "~ a3 ~ e3 g3 a3 b3 ~ a3@4 ~@3 g3", L: "~ b2 d3 g3 f#3 e3 d3 ~ e3@2 d3 ~ g3@4",
  M: "[~@4 d4 ~@3 c#4@3 b3 ~@3 e4@2 d4 ~ b3 ~ g3 a3@6 ~@3 g3]/2",
  N: "[~ c3 e3 g3 b3@2 b3@2 a3@2 ~@2 f#3 ~@2 e3@13 ~ d#4 ~ d4@6 c4 ~ b3@6 a3 ~ g#3@6 f#3 ~ b3@6 a3 ~ g3@6 g3 g#3 a#3 c4@2 a#3 g#3 g3@2 f3 e3@6 f3 ~ g3@6 d#4 ~ d4@6 c4 ~ b3@6 a3 ~ g#3]/7",
  O: "[~@5 g3 ~ f#3@6 e3 d#3 d3@17]/2",
})).s("gm_tenor_sax").gain(0.4)

// other · trumpet · "B♭ Trumpet"
const trumpet = note("<~@17 A B C@2 A B C@2 D E F G@2 E F ~@9 H I J ~ K@2 L@2 ~@3 M@4>".pickRestart({
  A: "~@4 d5 ~@3 c#5@3 b4 ~@4", B: "~@4 g4 ~ f#4 ~ e4@3 e4 ~@4", C: "~@4 e4 ~@3 e4@3 e4 ~@4", D: "d4",
  E: "f#5 b4 d5 g4", F: "f#4", G: "[~@15 d5@17]/2", H: "~@4 d5 ~@3 c#5@3 b4 ~@3 b4",
  I: "~ a4 ~ e4 g4 a4 b4 ~ a4@4 ~@3 g4", J: "~ b3 d4 g4 f#4 e4 d4 ~ e4@2 d4 ~ g4@4",
  K: "[~@4 d5 ~@3 c#5@3 b4 ~@3 e5@2 d5 ~ b4 ~ g4 a4@6 ~@3 g4]/2",
  L: "[~ c4 e4 g4 b4@2 b4@2 a4@2 ~@2 f#4 ~@2 e4@13 ~@4]/2",
  M: "[~@13 d#5 ~ d5@6 c5 ~ b4@6 a4 ~ g#4@6 g4 ~ f#4@6 e4 d#4 d4@17]/4",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note("<~@17 A B@2 C D B E F G H I J@2 K L ~@9 A B@2 C D B E F ~@7>".pickRestart({
  A: "d4 e4 e3@2 ~@9 d4 e4 e3", B: "~ e4 e3!2 ~@9 d4 e4 e3", C: "~ e4 e3!2 ~@9 c4 c#4 d4",
  D: "c#4 g3 e3@2 ~@9 d4 e4 e3", E: "~ e4 e3!2 ~@11 e3", F: "~ e4 e3!2 ~@12", G: "d3", H: "f#4 b3 d4 g3", I: "f#3",
  J: "[~@15 a3@17]/2", K: "b3 e3 g3 c4", L: "f#4",
})).s("gm_trombone").gain(0.3)

// chords · overdriven guitar · "Electric Guitar"
const overdriven_guitar = note(`<
  A B@4 C@2 D@2 E F G ~ H@2 I@2 E F G ~ H@2 I@2 J K@2 L@2 K@2 M N O P Q R O P Q S O P T U O P Q ~@4 V W ~
>`.pickRestart({
  A: "~@2 [g3,b3,f#4] [g3,a3,e4]", // Gmaj7 A7
  B: "[[g3,d4]@6 a2 b2 d3 e3 e2@4 [f#3,g3,c#4]@4 d3 e3 e2@4 [g3,b3,f#4]@4 [g3,a3,e4]@4]/2", // G5 F# Gmaj7 A7
  C: "[[g3,d4]@6 a2 b2 d3 e3 e2@4 [f#3,g3,c#4]@4 d3 e3 e2@4 [f#3,g3,c#4]@3 [f#3,g3,c#4] ~@4]/2", // G5 F#
  D: "[[g3,a3,d4]@3 f#4 ~@2 [a3,b3,e4]@4 g#4@4 [f3,c4,e4]@4 g4@4 [g3,d4,f#4]@4 a4@6]/2", // Gsus2 Asus2 Fmaj7 Gmaj7
  E: "~@4 d5 ~@3 c#5@3 b4 ~@3 b4", F: "~ a4 ~ e4 g4 a4 b4 ~ a4@4 ~@3 g4", G: "~ b3 d4 g4 f#4 e4 d4 ~ e4@2 d4 ~ g4@4",
  H: "[~@4 d5 ~@3 c#5@3 b4 ~@3 e5@2 d5 ~ b4 ~ g4 a4@6 ~@3 g4]/2",
  I: "[~ c4 e4 g4 b4@2 b4@2 a4@2 ~@2 f#4 ~@2 e4@13 ~@4]/2", J: "e2@4 d3 e3 g2@3 d3 e3 a2@3 d3 e3",
  K: "[g3@3 e3 d3 b2@3 a2 b2 d3@3 b2 a2 e2@3 d3 e3 g2@3 d3 e3 a2@3 a2 b2 d3 e3]/2",
  L: "[g3@2 e3 d3 b2 g3@2 e3 d3 b2 g3@2 e3 d3 b2 e2@5 d3 e3 g2@3 d3 e3 a2@3 d3 e3]/2",
  M: "g3 e3 f#3 e3 d3 g3 e3 b2 a2 d3 b2 a2 g2 a2 b2@2", N: "e2@4 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4",
  O: "~@4 [a3,d4,g4] ~ [a3,d4,f#4] ~ [a3,c#4,e4]@3 [a3,c#4,e4] ~@4", // Dsus4 D A
  P: "~@4 [f#3,b3,e4] ~@3 [g3,c4,e4]@3 [g3,c4,e4] ~@4", Q: "~@4 [g3,c4,e4] ~@3 [a3,d4,e4]@3 [a3,d4,e4] ~@4",
  R: "~@4 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", // Dsus4 A7 G
  S: "d3 e3 e2@2 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", // Dsus4 A7 G
  T: "~@4 [g3,c4,e4] ~@3 [a3,d4,e4]@3 [a3,d4,e4] ~ c3 c#3 d3", // C Asus4
  U: "c#3 g2 e2@2 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", V: "~ d#3 g3 d4 ~@4 c3 e3 b3 ~@5",
  W: "~ a2 c#3 g#3 ~@4 g2 b2 f#3 ~@5",
})).s("gm_overdriven_guitar").gain(0.3)

// chords · overdriven guitar · "Electric Guitar"
const overdriven_guitar_2 = note(`<
  A B@4 C@2 D@2 E F G H I F G H J F G K L F G H M N@2 O@2 N@2 P Q R S ~ T@2 U@2 Q R S ~ T@2 U@2 ~@3 V@4
>`.pickRestart({
  A: "~@2 [g3,b3,f#4] [g3,a3,e4]", B: "[[g3,d4]@7 [f#3,g3,c#4]@5 [g3,b3,f#4]@2 [g3,a3,e4]@2]/2",
  C: "[[g3,d4]@14 [f#3,g3,c#4]@10 [f#3,g3,c#4]@3 [f#3,g3,c#4] ~@4]/2", // G5 F#
  D: "[[g3,a3,d4]@3 f#4 ~@2 [a3,b3,e4]@4 g#4@4 [f3,c4,e4]@4 g4@4 [g3,d4,f#4]@4 a4@6]/2", // Gsus2 Asus2 Fmaj7 Gmaj7
  E: "e2!2 ~ e2 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", // Dsus4 A7 G
  F: "~@4 [a3,d4,g4] ~ [a3,d4,f#4] ~ [a3,c#4,e4]@3 [a3,c#4,e4] ~@4", // Dsus4 D A
  G: "~@4 [f#3,b3,e4] ~@3 [g3,c4,e4]@3 [g3,c4,e4] ~@4", H: "~@4 [g3,c4,e4] ~@3 [a3,d4,e4]@3 [a3,d4,e4] ~@4",
  I: "~@4 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", // Dsus4 A7 G
  J: "d3 e3 e2@2 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", // Dsus4 A7 G
  K: "~@4 [g3,c4,e4] ~@3 [a3,d4,e4]@3 [a3,d4,e4] ~ c3 c#3 d3", // C Asus4
  L: "c#3 g2 e2@2 [a3,d4,g4,d5] ~@3 [a3,d4,g4,c#5]@3 [a3,d4,g4,b4] ~@4", M: "e2@4 d3 e3 g2@3 d3 e3 a2@3 d3 e3",
  N: "[g3@3 e3 d3 b2@3 a2 b2 d3@3 b2 a2 e2@3 d3 e3 g2@3 d3 e3 a2@3 a2 b2 d3 e3]/2",
  O: "[g3@2 e3 d3 b2 g3@2 e3 d3 b2 g3@2 e3 d3 b2 e2@5 d3 e3 g2@3 d3 e3 a2@3 d3 e3]/2",
  P: "g3 e3 f#3 e3 d3 g3 e3 b2 a2 d3 b2 a2 g2 a2 b2@2", Q: "~@4 d5 ~@3 c#5@3 b4 ~@3 b4",
  R: "~ a4 ~ e4 g4 a4 b4 ~ a4@4 ~@3 g4", S: "~ b3 d4 g4 f#4 e4 d4 ~ e4@2 d4 ~ g4@4",
  T: "[~@4 d5 ~@3 c#5@3 b4 ~@3 e5@2 d5 ~ b4 ~ g4 a4@6 ~@3 g4]/2",
  U: "[~ c4 e4 g4 b4@2 b4@2 a4@2 ~@2 f#4 ~@2 e4@13 ~@4]/2",
  V: "[~@13 d#4 ~ d4@6 c4 ~ b3@6 a3 ~ g#3@6 g3 ~ f#3@6 e3 d#3 d3@17]/4",
})).s("gm_overdriven_guitar").gain(0.3)

// bass · electric bass finger · "Electric Bass"
const bass = note(`<
  ~ A@6 B@2 C D E F G D@2 H I D@2 J K D E L M N@2 O@2 N@2 P Q D E F G D@2 H I D@2 J K D E L ~@4 R S ~
>`.pickRestart({
  A: "[e1@6 a1 b1 d2 e2 e1@8 d2 e2 e1@18 a1 b1 d2 e2 e1@8 d2 e2 e1@18 a1 b1 d2 e2 e1@8 d2 e2 e1@4 e1@3 e1 ~@4]/6",
  B: "[b1@4 ~@2 c#2@8 g1@6 ~@2 a1@8 d2 e2]/2", C: "e1!2 ~ e1 ~@9 d2 e2 e1", D: "~ e2 e1!2 ~@9 d2 e2 e1",
  E: "~ e2 e1!2 ~@11 e1", F: "~ e2 e1!2 ~@9 d2 ~ e2", G: "~ e1!3 ~@9 d2 e2 e1", H: "~ e2 e1!2 ~@10 a1 b1",
  I: "d2 e2 e1@2 ~@9 d2 e2 e1", J: "~ e2 e1!2 ~@9 c2 c#2 d2", K: "c#2 g1 e1@2 ~@9 d2 e2 e1", L: "~ e2 e1!2 ~@12",
  M: "e1@4 d2 e2 g1@3 d2 e2 a1@3 d2 e2",
  N: "[g2@3 e2 d2 b1@3 a1 b1 d2@3 b1 a1 e1@3 d2 e2 g1@3 d2 e2 a1@3 a1 b1 d2 e2]/2",
  O: "[g2@2 e2 d2 b1 g2@2 e2 d2 b1 g2@2 e2 d2 b1 e1@5 d2 e2 g1@3 d2 e2 a1@3 d2 e2]/2",
  P: "g2 e2 f#2 e2 d2 g2 e2 b1 a1 d2 b1 a1 g1 a1 b1@2", Q: "e1@4 ~@9 d2 e2 e1", R: "~ d#2 g2 d3 ~@4 c2 e2 b2 ~@5",
  S: "~ a1 c#2 g#2 ~@4 g1 b1 f#2 ~@5",
})).s("gm_electric_bass_finger").gain(0.72)

// chords · epiano1 · "Piano"
const epiano1 = note(`<
  ~@7 A@2 B C D E F C D E G C D H I C D E J K@2 L@2 K@2 M N C D E F C D E G C D H I C D E O P Q@2 R S ~
>`.pickRestart({
  A: "[[g3,a3,d4]@3 f#4 ~@2 [a3,b3,e4]@4 g#4@4 [f3,c4,e4]@4 g4@4 [g3,d4,f#4]@4 a4@6]/2", // Gsus2 Asus2 Fmaj7 Gmaj7
  B: "e2!2 ~ e2 [d4,g4,d5] ~@3 [d4,g4,c#5]@3 [d4,g4,b4] ~@4", // G5 G
  C: "~@4 [a3,d4,g4] ~ [a3,d4,f#4] ~ [a3,c#4,e4]@3 [a3,c#4,e4] ~@4", // Dsus4 D A
  D: "~@4 [f#3,b3,e4] ~@3 [g3,c4,e4]@3 [g3,c4,e4] ~@4", E: "~@4 [g3,c4,e4] ~@3 [a3,d4,e4]@3 [a3,d4,e4] ~@4",
  F: "~@4 [d4,g4,d5] ~@3 [d4,g4,c#5]@3 [d4,g4,b4] ~@4", G: "d3 e3 e2@2 [d4,g4,d5] ~@3 [d4,g4,c#5]@3 [d4,g4,b4] ~@4",
  H: "~@4 [g3,c4,e4] ~@3 [a3,d4,e4]@3 [a3,d4,e4] ~ c3 c#3 d3", // C Asus4
  I: "c#3 g2 e2@2 [d4,g4,d5] ~@3 [d4,g4,c#5]@3 [d4,g4,b4] ~@4", J: "e2@4 d3 e3 g2@3 d3 e3 a2@3 d3 e3",
  K: "[g3@3 e3 d3 b2@3 a2 b2 d3@3 b2 a2 e2@3 d3 e3 g2@3 d3 e3 a2@3 a2 b2 d3 e3]/2",
  L: "[g3@2 e3 d3 b2 g3@2 e3 d3 b2 g3@2 e3 d3 b2 e2@5 d3 e3 g2@3 d3 e3 a2@3 d3 e3]/2",
  M: "g3 e3 f#3 e3 d3 g3 e3 b2 a2 d3 b2 a2 g2 a2 b2@2", N: "e2@4 [d4,g4,d5] ~@3 [d4,g4,c#5]@3 [d4,g4,b4] ~@4",
  O: "c2 g2 ~ [b3,c4,e4,g4]@5 a2 e3 ~ [b3,c#4,e4,g#4]@5, ~ e3 ~@3 a3 ~@2", // Cmaj7 C#m7
  P: "c#2 g#2 ~ [b3,c#4,e4,g#4]@5 c2 g2 ~ [a3,b3,e4]@5, ~ e3 ~@3 e3 ~@2", // C#m7 Asus2
  Q: "[[c4,d#4,g4]@4 ~ g4 g#4 a#4 c5@2 a#4 g#4 g4@2 f4 ~@6 f4 ~ [c4,d4,g4]@9, g#2@15 e4@6 ~@11, ~@16 c2@15 ~]/2", // Cm Csus2
  R: "~ a3 c#4 g#4 ~@4 g3 b3 f#4 ~@5", S: "~ a2 c#3 g#3 ~@4 f#2 a#2 f3 ~@5",
})).s("gm_epiano1").gain(0.3)

stack(tenor_sax, trumpet, trombone, overdriven_guitar, overdriven_guitar_2, bass, epiano1)