Strudelify

Nicotine - Panic At the Disco - Piano and Guitar Cover

Impaling Tortoise

KeyA♭ majorTempo125 bpm
0:00/0:00
// Nicotine - Panic At the Disco - Piano and Guitar Cover — Impaling Tortoise
// 125 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5178723; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 86 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · piano
const piano = note(`<
  A B C D A B C D E F G H E F G H A B C D I J K L M N O P A B C D I J K L M N O Q R S T U V@4 W X Y Z AA X Y Z AB A B C
  D I J K L M N O Q R S T U V@4 AC AD AE AF AG AH AI AJ AK
>`.pickRestart({
  A: "c7 ab6 f6 c7 ab6 f6 c7 ab6", B: "c7 ab6 eb6 c7 ab6 eb6 c7 ab6", C: "c7 g6 eb6 c7 g6 eb6 c7 g6",
  D: "eb6 bb6 g6 eb6 bb6 g6 eb6 g6",
  E: "[ab3,c4,f4]@3 [ab3,c4,f4] [ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4]@4 [ab3,c4,f4]@4", // Fm
  F: "[ab3,c4,eb4]@3 [ab3,c4,eb4] [ab3,c4,eb4]@2 [ab3,c4,eb4]@2 [ab3,c4,eb4]@4 [ab3,c4,eb4]@4", // Ab
  G: "[g3,c4,eb4]@3 [g3,c4,eb4] [g3,c4,eb4]@2 [g3,c4,eb4]@2 [g3,c4,eb4]@4 [g3,c4,eb4]@4", // Cm
  H: "[g3,bb3,eb4]@3 [g3,bb3,eb4] [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@4 [g3,bb3,eb4]@4", // Eb
  I: "[ab3,c4,f4,c7]@2 ~ [ab3,c4,f4] [ab3,c4,f4,f6]@2 [ab3,c4,f4,c7]@2 ab6@2 f6@2 c7@2 ab6@2, ~ ab6 ~@2 [ab3,c4,f4]@2 [ab3,c4,f4]@2", // Fm
  J: "[ab3,c4,eb4,c7]@2 ~ [ab3,c4,eb4] [ab3,c4,eb4,eb6]@2 [ab3,c4,eb4,c7]@2 ab6@2 eb6@2 c7@2 ab6@2, ~ ab6 ~@2 [ab3,c4,eb4]@2 [ab3,c4,eb4]@2", // Ab
  K: "[g3,c4,eb4,c7]@2 ~ [g3,c4,eb4] [g3,c4,eb4,eb6]@2 [g3,c4,eb4,c7]@2 g6@2 eb6@2 c7@2 g6@2, ~ g6 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2", // Cm
  L: "[g3,bb3,eb4,eb6]@2 ~ [g3,bb3,eb4] [g3,bb3,eb4,g6]@2 [g3,bb3,eb4,eb6]@2 bb6@2 g6@2 eb6@2 g6@2, ~ bb6 ~@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2", // Eb
  M: "[ab3,c4,f4,f5]@2 ~ [ab3,c4,f4] [ab3,c4,f4,c5]@2 [ab3,c4,f4,f5]@2 f5@2 ab5@2 c5@2 f5@2, ~ ab5 ~@2 [ab3,c4,f4]@2 [ab3,c4,f4]@2", // Fm
  N: "[ab3,c4,eb4,ab5]@2 ~ [ab3,c4,eb4] [ab3,c4,eb4,eb5]@2 [ab3,c4,eb4,ab5]@2 ab5@2 c5@2 eb5@2 ab5@2, ~ c5 ~@2 [ab3,c4,eb4]@2 [ab3,c4,eb4]@2", // Ab
  O: "[g3,c4,eb4,c5]@2 ~ [g3,c4,eb4] [g3,c4,eb4,g5]@2 [g3,c4,eb4,c5]@2 c5@2 eb5@2 g5@2 c5@2, ~ eb5 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2", // Cm
  P: "[g3,bb3,eb4,eb5]@2 ~ [g3,bb3,eb4] [g3,bb3,eb4,bb4]@2 [g3,bb3,eb4,eb5]@2 eb5@2 g5@2 bb4@2 g5@2, ~ g5 ~@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2", // Eb
  Q: "eb5 g5 bb5 [g3,bb3,eb4,eb6] g5 bb5 eb6 g6 bb5 eb6 g6 bb6 eb6 g6 bb6 eb7, [g3,bb3,eb4]@3 ~ [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@4 [g3,bb3,eb4]@4", // Eb
  R: "eb5 ~@7 f3@3 f3 f3@2 f3@2", S: "f3@4 f3@4 ab3@3 ab3 ab3@2 ab3@2", T: "ab3@4 ab3@4 c4@3 c4 c4@2 c4@2",
  U: "c4@4 c4@4 eb3@3 eb3 eb3@2 eb3@2",
  V: "[eb3@4 eb3@4 f3@3 f3 f3@2 f3@2 f3@4 f3@4 ab3@3 ab3 ab3@2 ab3@2 ab3@4 ab3@4 c4@3 c4 c4@2 c4@2 c4@4 c4@4 eb4@3 eb4 eb4@2 eb4@2, ~@8 c5@15 ~ eb5@15 ~ g5@15 ~@9]/4",
  W: "eb4@4 ~@4 [ab3,c4,f4,f5]@3 [ab3,c4,f4] [ab3,c4,f4]@2 [ab3,c4,f4,c6]@2, ~@11 ab5@3 ~@2", // Fm
  X: "[ab3,c4,f4,f6]@4 [ab3,c4,f4,c6]@4 [ab3,c4,eb4,eb6]@3 [ab3,c4,eb4] [ab3,c4,eb4]@2 [ab3,c4,eb4,ab5]@2, ~@11 c6@3 ~@2", // Fm Ab
  Y: "[ab3,c4,eb4,ab5]@4 [ab3,c4,eb4,g5]@4 [g3,c4,eb4,c5]@3 [g3,c4,eb4] [g3,c4,eb4]@2 [g3,c4,eb4,bb5]@2, ~@11 eb5@3 ~@2", // Ab Abmaj7 Cm Cm7
  Z: "[g3,c4,eb4,g5]@4 [g3,c4,eb4,eb5]@4 [g3,bb3,eb4,eb5]@3 [g3,bb3,eb4] [g3,bb3,eb4]@2 [g3,bb3,eb4,eb6]@2, ~@11 g5@3 ~@2", // Cm Eb
  AA: "[g3,bb3,eb4,bb5]@4 [g3,bb3,eb4,g5]@4 [ab3,c4,f4,f5]@3 [ab3,c4,f4] [ab3,c4,f4]@2 [ab3,c4,f4,c6]@2, ~@11 ab5@3 ~@2", // Eb Fm
  AB: "eb5 g5 bb5 eb6 g5 bb5 eb6 g6 bb5 eb6 g6 bb6 eb6 g6 bb6 eb7, [g3,bb3,eb4]!2 ~@2", // Eb
  AC: "eb4@4 ~@4 [ab3,c4,f4,ab4,c5,f5]@3 [ab3,c4,f4] [ab3,c4,f4]@2 [ab3,c4,f4,f5,ab5,c6]@2, ~@11 [f5,ab5]@3 ~@2", // Fm
  AD: "[ab3,c4,f4,ab5,c6,f6]@4 [ab3,c4,f4,f5,ab5,c6]@4 [ab3,c4,eb4,ab5,eb6]@3 [ab3,c4,eb4] [ab3,c4,eb4]@2 [ab3,c4,eb4,eb5,ab5]@2, ~@11 [ab5,c6]@3 ~@2", // Fm Ab
  AE: "[ab3,c4,eb4,eb5,ab5]@4 [ab3,c4,eb4,eb5,g5]@4 [g3,c4,eb4,c5]@3 [g3,c4,eb4] [g3,c4,eb4]@2 [g3,c4,eb4,eb5,g5,bb5]@2, ~@11 [c5,eb5]@3 ~@2", // Ab Abmaj7 Cm Cm7 Cm
  AF: "[g3,c4,eb4,eb5,g5]@4 [g3,c4,eb4,c5,eb5]@4 [g3,bb3,eb4,bb4,eb5]@3 [g3,bb3,eb4] [g3,bb3,eb4]@2 [g3,bb3,eb4,g5,bb5,eb6]@2, ~@11 [eb5,g5]@3 ~@2", // Cm Eb
  AG: "[g3,bb3,eb4,eb5,g5,bb5]@4 [g3,bb3,eb4,eb5,g5]@4 [ab3,c4,f4,ab5,c6,f6]@3 [ab3,c4,f4] [ab3,c4,f4]@2 [ab3,c4,f4,f6,ab6,c7]@2, ~@11 [f6,ab6]@3 ~@2", // Eb Fm
  AH: "[ab3,c4,f4,ab6,c7,f7]@4 [ab3,c4,f4,f6,ab6,c7]@4 [ab3,c4,eb4,ab6,eb7]@3 [ab3,c4,eb4] [ab3,c4,eb4]@2 [ab3,c4,eb4,eb6,ab6]@2, ~@11 [ab6,c7]@3 ~@2", // Fm Ab
  AI: "[ab3,c4,eb4,eb6,ab6]@4 [ab3,c4,eb4,eb6,g6]@4 [g3,c4,eb4,c6]@3 [g3,c4,eb4] [g3,c4,eb4]@2 [g3,c4,eb4,eb6,g6,bb6]@2, ~@11 [c6,eb6]@3 ~@2", // Ab Abmaj7 Cm Cm7 Cm
  AJ: "[g3,c4,eb4,eb6,g6]@4 [g3,c4,eb4,c6,eb6]@4 [g3,bb3,eb4,bb5,eb6]@3 [g3,bb3,eb4] [g3,bb3,eb4]@2 [g3,bb3,eb4,g6,bb6,eb7]@2, ~@11 [eb6,g6]@3 ~@2", // Cm Eb
  AK: "[g3,bb3,eb4,eb6,g6,bb6] [g3,bb3,eb4,eb6,g6] ~@2", // Eb
})).s("gm_piano").gain(0.3)

stack(piano)