Strudelify
KeyE majorTempo80 bpm
0:00/0:00
// Korobuschka — Alexander Alexandrowitsch
// 80 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/1524406; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 20 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(80/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 · accordion · "Akkordeon"
const accordion = note("<A B C D E F G H I J K L M N O P M N O P>".pickRestart({
  A: "~@5 [e4,f#4,a#4,c#5] ~@2 [e4,f#4,a#4,c#5] ~@7 [e4,f#4,a#4,c#5] ~@2 [e4,f#4,a#4,c#5] ~ d3@5 ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~@2, f#2@11 f#2@11 ~@5 b2@5", // F#7 Bm
  B: "f#2@5 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@7 [e4,f#4,a#4,c#5] ~@2 [e4,f#4,a#4,c#5] ~@7 [e4,f#4,a#4,c#5] ~ [e4,f#4,a#4,c#5] ~@2, ~@11 f#2@10 f#2@11", // Bm F#7
  C: "d3@5 [d4,f#4,b4] ~@2 [d4,f#4,b4] ~@2 b4@2 c#5@3 d5@3 e5@2 ~@3 [e4,g4,b4]@3 ~@2 [e4,g4,b4]@3, ~@5 b2@5 ~ b2@10 e2@5 ~ b2@5", // Bm Em
  D: "~@3 [e4,g4,b4]@2 ~@3 [e4,g4,b4]@3 ~@2 [d4,f#4,b4]@3 ~@3 [d4,f#4,b4]@2 ~@3 [d4,f#4,b4]@3 ~@2 [d4,f#4,b4]@3, e2@5 b2@5 ~ b2@5 f#2@5 b2@5 ~ f#2@5", // Em Bm
  E: "~@3 [e4,f#4,a#4,c#5]@2 ~@3 [e4,f#4,a#4,c#5]@3 ~@2 [e4,f#4,a#4,c#5]@3 ~@3 [e4,f#4,a#4,c#5]@2 [d3,d5]@5 ~ [b2,b4]@5, f#2@5 a#2@5 ~ f#2@5 a#2@5 ~@11", // F#7 D B
  F: "b4@3 c#5@2 d5@3 e5@3 ~@2 [e4,g4,b4]@3 ~@3 [e4,g4,b4]@2 ~@3 [e4,g4,b4]@3 ~@2 [e4,g4,b4]@3, b2@11 e2@5 b2@5 e2@5 ~ b2@5", // Em
  G: "~@3 [d4,f#4,b4]@2 ~@3 [d4,f#4,b4]@3 ~@2 [d4,f#4,b4]@3 ~@3 [d4,f#4,b4]@2 ~@3 [e4,f#4,a#4,c#5]@3 ~@2 [e4,f#4,a#4,c#5]@3, b2@5 f#2@5 ~ b2@5 f#2@5 f#2@5 ~ a#2@5", // Bm F#7
  H: "~@3 [e4,f#4,a#4,c#5]@2 ~@3 [e4,f#4,a#4,c#5]@3 [d3,d5]@5 [b2,b4]@5 b4@3 c#5@3 d5@2 e5@3, f#2@5 a#2@5 ~@11 b2@11", // F#7 D B
  I: "~@2 [a4,c#5] [b4,d5] [f#2,c#5,e5] ~ [f#2,d5,f#5] [f#2,c#5,e5], ~@4 f#2 ~ f#2 ~@9", // A Bm F#7 D F#7
  J: "[b2,b4,d5] ~ [b4,d5] [c#5,e5] [d5,f#5] ~ [b2,c#5,e5] [b2,b4,d5], ~@4 b2 ~ b2 ~ b2 ~@7", // Bm C#m D C#m7 Bm
  K: "[a#4,c#5] f#4 a#4 b4 [f#2,a#4,c#5] f#4 [f#2,b4,d5] f#4 [c#5,e5] f#4 a#4 c#5 [d5,f#5] f#4 [c#5,e5] f#4, f#2 ~@3 f#2 ~ f#2!2", // A#m F# Bm C#m D C#m
  L: "[b4,d5] f#4 b4 c#5 [e3,d5] e5 [e3,d5] c#5 [e3,b4] a#4 b4 c5 b4 a4 g4 f#4, b2 ~@5 b2!2", // Bm E7 E5
  M: "e4@2 [g#2,b2,e3] ~ c#4@2 [g#2,b2,e3] ~ e4@2 [g#2,b2,e3] ~ g4@2 [g#2,b2,e3] ~ b4@2 [g#2,b2,e3] ~ g4@2 [g#2,b2,e3] ~ c#5@2 [g#2,b2,e3] ~ a#4@2 [g#2,b2,e3] ~, ~ b3 ~ d#4 ~ f#4 ~ a4 ~ e4 ~ b4 ~ b4 ~ b4", // E
  N: "f#4 [f#2,b2,d3,g4] f#4 [f#2,b2,d3,e4] d4 [f#2,b2,d3,e4] d4 [f#2,b2,d3,c#4] b3 [f#2,b2,d3,c#4] d4 [f#2,b2,d3,e4] f#4 [f#2,b2,d3,b4] c#5 [f#2,b2,d3,d5]", // Gmaj7 Bm
  O: "c#5@2 [g#2,b2,e3] ~ c#5@2 [g#2,b2,e3] ~ a#4@2 [g#2,b2,e3] ~ a#4@2 [g#2,b2,e3] ~ f#4@2 [e2,f#2,a#2,c#3] ~ f#4@2 [e2,f#2,a#2,c#3] ~ d4@2 [e2,f#2,a#2,c#3] ~ d4@2 [e2,f#2,a#2,c#3] ~, ~ d5 ~ b4 ~ b4 ~ g4 ~ g4 ~ e4 ~ e4 ~ c#4", // E F#7
  P: "b3 c#4 d4 e4 f4 f#4 g#4 a#4 b4 a#4 b4 c5 b4 a4 g4 f#4",
})).s("gm_accordion").gain(0.3)

stack(accordion)