Strudelify

is this it

The Strokes

KeyC majorTempo120 bpm
0:00/0:00
// is this it — The Strokes
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6409084; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 54 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// 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 I F J K A B C D A B L D M N O P M N O P Q R I F G H I S T K U V A B C D A B C D W X
>`.pickRestart({
  A: "[a3,c4,g4] [a3,c4,f4] [a3,c4,g4] [a3,c4,f4]", B: "[a3,c4,g4]@2 [a3,c4,f4]@2 g4 f4 e4 f4, ~@2 [a3,c4]!2",
  C: "[d3,f3,f4] [d3,f3,e4] [d3,f3,f4] [d3,f3,e4]", D: "[d3,f3,f4]@2 [d3,f3,e4]@2 f4 e4 d4 e4, ~@2 [d3,f3]!2",
  E: "f4 ~ [a3,c4]@2 [a3,c4]@2 [a3,c4]@2, [a3,c4] ~@3, ~ f4@2 ~@5", // Am
  F: "[a3,c4]@2 [a3,c4]@2 ~@3 a4, ~@2 [a3,c4]!2, ~@5 a4@2 ~", G: "[e3,g3]!4, g4 ~",
  H: "[e3,g3]@2 [e3,g3]@2 ~ c5!3, ~@2 [e3,g3]!2", I: "[a3,c4]!4", J: "[e3,g3] [e3,g3,g4] [e3,g3]!2", K: "[e3,g3]!4",
  L: "f4 ~ [d3,f3]@2 [d3,f3,f4]@2 [d3,f3,e4]@2, [d3,f3] ~@3, ~ e4@3 ~@4", // Dm
  M: "f4 e4 f4 ~ [e3,g3]@2 ~ f4, [e3,g3]!2 ~ [e3,g3], ~@3 g4@4 ~", // Em
  N: "f4 e4 f4 ~ [e3,g3]@2 ~ g4, [e3,g3]!2 ~ [e3,g3], ~@3 g4@4 ~", // Em
  O: "a#4!2 a4 ~ [a3,c4]@2 ~ f4, [a3,c4]!2 ~ [a3,c4], ~@3 f4@4 ~", // Am
  P: "f4 e4 f4 ~ [a3,c4]@2 ~ f4, [a3,c4]!2 ~ [a3,c4], ~@3 g4@4 ~", Q: "f4 e4 f4 g4 ~ f4!3, [e3,g3]!4",
  R: "f4 e4 f4 ~ [e3,g3]@2 g4 f4, [e3,g3]!2 ~ [e3,g3], ~@3 g4@2 ~@3", // Em
  S: "[a3,c4]@2 [a3,c4]@2 ~@3 a4, ~@2 [a3,c4]!2, ~@5 a#4@2 ~", T: "[e3,g3]!4, c5 ~",
  U: "f5 a5 f5 a5 e5 a5 d5 a5, [a3,c4]!4", V: "f5 a5 f5 a5 e5 a5 d5 a5, [e3,g3]!4",
  W: "[d3,f3]!2 [d3,f3,f4] f3 [d3,f3]!2 [d3,f3]@2, f4 ~@3", X: "[f3,a3,c4]@15 ~",
})).s("gm_piano").gain(0.3)

stack(piano)