Strudelify

O christmas night!

Adolphe Adam

KeyD♭ majorTempo60 bpm
0:00/0:00
// O christmas night! — Adolphe Adam
// 60 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5858383; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 53 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(60/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@2 B C D A@2 B E F G H I H J K L M K N O P Q R S T U A B C D A@2 B E F G H I H J K L M K N O P Q V S T W
>`.pickRestart({
  A: "f3 db4 ab3 f4 db4 ab3 f3 db4 ab3 f4 db4 ab3, [db2,ab2,db3]@23 ~", // Db5
  B: "f3 db4 ab3 f4 db4 ab3 gb3 db4 bb3 gb4 db4 bb3, [db2,ab2,db3]@11 ~ [gb2,db3]@11 ~", // Db5 Gb5
  C: "f3 db4 ab3 f4 db4 ab3 f3 db4 ab3 f4 db4 ab3, [db2,ab2,db3]@11 ~ [f2,db3]@11 ~", // Db5 Db
  D: "f3 db4 ab3 f4 db4 ab3 gb3 c4 ab3 eb4 c4 ab3, [ab1,ab2]@23 ~", // Ab
  E: "f3 db4 ab3 f4 db4 ab3 f3 b3 ab3 f4 b3 ab3, [db2,ab2,db3]@11 ~ [db2,db3]@11 ~", // Db5 Db
  F: "f3 c4 ab3 f4 c4 ab3 g3 c4 bb3 e4 c4 bb3, [c2,c3]@11 ~ [c2,c3]@11 ~", // C
  G: "f3 c4 ab3 f4 c4 ab3 f3 c4 ab3 f4 c4 ab3, f2@11 ~@13",
  H: "gb3 c4 ab3 eb4 c4 ab3 gb3 c4 ab3 eb4 c4 ab3, c2@23 ~, c3 ab2 c3 ab2",
  I: "f3 db4 ab3 f4 db4 ab3 f3 db4 ab3 f4 db4 ab3, db2@23 ~, db3 ab2 db3 ab2",
  J: "f3 db4 ab3 f4 db4 ab3 f3 db4 ab3 f4 db4 ab3, db2@12 db2@11 ~, db3 ab2 db3 ~",
  K: "~ db4 bb3 f4 db4 bb3 ~ db4 bb3 f4 db4 bb3, [bb1,bb2]@23 ~, f3@11 ~ f3@11 ~", // Bb
  L: "~ c4 ab3 f4 c4 ab3 ~ c4 ab3 f4 c4 ab3, [f1,f2]@23 ~, f3@11 ~ f3@11 ~", // F
  M: "~ eb4 bb3 gb4 eb4 bb3 ~ eb4 bb3 gb4 eb4 bb3, [eb1,eb2]@23 ~, gb3@11 ~ gb3@11 ~", // Eb
  N: "~ db4 ab3 f4 db4 ab3 ~ c4 ab3 eb4 c4 ab3, [ab1,ab2,f3]@11 ~ [gb1,gb2,eb3]@11 ~", // Db Ebm
  O: "~ f4 db4 ab4 f4 db4 ~ db4 bb3 gb4 db4 bb3, [f1,f2,ab3]@11 ~ [gb1,gb2,gb3]@11 ~", // Fm Gb
  P: "~ db4 ab3 f4 db4 ab3 ~ c4 ab3 eb4 c4 ab3, [ab1,ab2,f3]@11 ~ [ab1,ab2,gb3]@11 ~", // Db Ab7
  Q: "~ db4 ab3 f4 db4 ab3 ~ db4 ab3 f4 db4 ab3, f3@11 ~ f3@11 ~, [db1,db2] [f1,f2] [ab1,ab2] [db2,db3]", // Db F Ab Db
  R: "~ c4 ab3 eb4 c4 ab3 ~ c4 ab3 eb4 c4 ab3, [ab1,ab2,eb3]@11 ~ [gb1,gb2,gb3]@11 ~", // Ab5 Gb
  S: "~ f4 db4 ab4 f4 db4 ~ eb4 bb3 gb4 eb4 bb3, [f1,f2,ab3]@11 ~ [gb1,gb2,gb3]@11 ~", // Fm Gb
  T: "~ db4 ab3 f4 db4 ab3 [ab1,ab2,gb3,ab3,c4,eb4]@3 ~@3, [ab1,ab2,f3]@11 ~@13", // Ab7 Db
  U: "[f3,ab3,db4] db4 ab3 f4 db4 ab3 f3 db4 ab3 f4 db4 ab3, [db2,ab2,db3]@23 ~", // Db Db5
  V: "~ c4 ab3 eb4 c4 ab3 ~ c4 ab3 eb4 c4 ab3, [ab1,ab2,eb3]@11 ~ [gb1,gb2,eb3]@11 ~", // Ab5 Ebm
  W: "~@2 f2@2 ab2@2 db3@2 ab2@2 f2@2 [db2,db3]@11 ~, [f3,ab3,db4]@23 ~, db2@11 ~@13", // Db
})).s("gm_piano").gain(0.3)

stack(piano)

More by Adolphe Adam