Strudelify

The Mandalorian

Ludwig Göransson

KeyF majorTempo80 bpm
0:00/0:00
// The Mandalorian — Ludwig Göransson
// 80 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2, 2/4 at bar 46, 4/4 at bar 46, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5912577; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 65 bars on a 16-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 · [...]/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 · clarinet · "B♭ Clarinet"
const clarinet = note(`<
  A B C D E F G H I J K L M N O P Q R Q R Q S T U V W X Y Z AA AB AC AD AE AD AF X Y Z AA AG AH AI AJ AK AL@8 AM AN AO
  AP AO AQ AR AS AT AU@3
>`.pickRestart({
  A: "~@15 g3", B: "d4 g3 d4@3 g3 d4 g3 d4@3 g3 d4@3 g3", C: "d4@3 g3 d4@3 g3 d4@3 g3 d4@3 g3",
  D: "f4 g3 f4@3 g3 f4 g3 f4@3 g3 f4@3 g3", E: "f4@3 g3 f4@3 g3 f4@3 g3 f4@3 g3",
  F: "bb3 g3 bb3@3 g3 bb3 g3 bb3@3 g3 bb3@3 g3", G: "bb3@3 g3 bb3@3 g3 bb3@3 g3 bb3@3 g3",
  H: "c4 g3 c4@3 g3 c4 g3 c4@3 g3 c4@3 g3", I: "c4@3 g3 c4@3 g3 c4@3 g3 c4@3 [g3,d4]",
  J: "[bb3,f4] [g3,d4] [bb3,f4]@3 [g3,d4] [bb3,f4] [g3,d4] [bb3,f4]@3 [g3,d4] [bb3,f4]@3 [g3,d4]", // Bb5 G5 Bb5 G5 Bb5 G5 Bb5 G5 …
  K: "d4@3 g3 d4@3 g3 d4@3 g3 d4@3 d4", L: "ab4 f4 g4@3 d4 ab4 f4 g4@3 f4 ab4@3 f4",
  M: "g4@3 f4 ab4@3 f4 g4@3 f4 ab4@3 g3", N: "bb4 ~ g4@3 d4 bb4 ~ g4@3 d4 bb4@3 d4",
  O: "g4@3 d4 ab4@3 d4 g4@3 d4 ab4@3 d4", P: "ab4 ~ g4@3 eb4 bb4 ~ g4@3 eb4 ~@4", Q: "~@15 [g4,g5]", R: "[c5,c6] ~",
  S: "[c5,c6] eb4 d4@2", T: "~@3 c4 g4@3 f4 d4@6 ~ [g4,g5]", U: "[c5,c6] [c4,eb4] [bb3,d4]@2",
  V: "~@3 [ab3,c4] [ab3,g4]@3 [ab3,f4] [f3,d4]@6 ~ g5", // Ab Abmaj7 Db Dm
  W: "c5@2 [g3,g4]!2 [g3,g4]@2 [g3,g4]!2 [g3,g4]@2 [c4,c5]@2 [bb3,bb4]@4", // G C Bb
  X: "~@2 [f3,f4] [g3,g4] [ab3,ab4]@3 [bb3,bb4] [ab3,ab4] [g3,g4] [f3,f4] ~@4 g5", // F G Ab Bb Ab G F
  Y: "c5@2 [g3,c4,g4]!2 [g3,c4,g4]@2 [g3,c4,g4]!2 [g3,c4,g4]@2 [c4,g4,c5]@2 [d4,f4,d5]@4", // C5 Dm
  Z: "~@2 [bb3,bb4] [c4,c5] [d4,ab4,d5]@3 [eb4,eb5] [d4,d5] [c4,c5] [bb3,bb4] ~@5", // Bb C Ddim Eb D C Bb
  AA: "[g4,eb5,g5] ~ [f4,d5,f5]@4 [d4,bb4,d5] ~ [eb4,c5,eb5]@4 [bb3,eb4,bb4] ~ [g3,c4,g4]@2", // Cm Dm Gm Cm Eb5 C5
  AB: "~@5 [eb3,ab3] ~ [f3,ab3,db4] [ab3,db4,f4] [g3,b3,d4] ~ [b3,d4,g4] [d4,g4,b4]@3 g3", // Ab5 Db G
  AC: "c4 g3 d4@3 g3 d4 g3 c4@3 g3 d4@3 g3", AD: "c4 g3 d4@3 g3 d4 g3 c4@3 g3 c4@2 ~ g5",
  AE: "c6 ~ d4@3 g3 d4 g3 c4@3 g3 d4@3 g3", AF: "c6@2 [g3,g4]!2 [g3,g4]@2 [g3,g4]!2 [g3,g4]@2 [c4,c5]@2 [bb3,bb4]@4",
  AG: "~@5 [eb3,ab3] ~ [f3,ab3,db4] [ab3,db4,f4] [g3,b3,d4] ~ [b3,d4,g4] [d4,g4,b4]@4", // Ab5 Db G
  AH: "[c4,f4,g4,c5]@6 eb4@8 [bb3,bb4]!2", AI: "[db4,db5]@3 c5 [db4,db5]@3 c5 [db4,db5]@3 eb5 db5 c5 bb4 ~",
  AJ: "[db4,e4,ab4,db5]@2 [e4,bb4]!2 [e4,bb4]@2 [e4,bb4]!2 [e4,bb4]@2 ab4 bb4 [gb4,c5]@2 gb4 eb4", // Dbm Edim Gbdim
  AK: "[bb3,f4]@2 [f4,bb4]!2 [bb3,f4]@2 [f4,bb4]!2 [bb3,f4]@2 ab4 bb4 [ab4,c5]@2 ab4 f4", // Bb5 Ab
  AL: "[[ab4,d5]@2 ab4 g4 [bb4,e5]@2 g4 gb4 [g4,c5,e5,g5]@2 [c5,e5] [b4,d5] e5@8 ~@2 [d4,d5] [e4,e5] [f4,a4,c5,f5]@2 [g4,g5] [f4,f5] [f4,a4,c5,f5]@2 [e4,g4,c5,e5]@8 [d4,d5] [e4,e5] [f4,bb4,d5,f5]@2 [e4,e5] [d4,d5] [d4,f4,bb4,d5]@8 ~@2 [c4,c5] [d4,d5] [c4,f4,ab4,c5]@2 [bb3,bb4] [ab3,ab4] [g3,g4]@2 [ab3,ab4]@6 [e4,f4] [g4,a4] [b4,c5] [d5,e5] [g4,c5,e5,g5]@2 [c5,e5] [b4,d5] e5@8 ~@2 [d4,d5] [e4,e5] [f4,a4,c5,f5]@2 [g4,g5] [f4,f5] [f4,a4,c5,f5]@2 [e4,g4,c5,e5]@8 [d4,d5] [e4,e5] [f4,bb4,d5,f5]@2 [e4,e5] [d4,d5] [d4,f4,bb4,d5]@8 ~@2 [c4,c5] [d4,d5] [c4,f4,ab4,c5]@2 [g3,g4] [f3,f4] [d4,d5]@2 [ab3,ab4] [g3,g4], ~@72 f5 ~@55]/8", // Abdim Bbdim C Bm D E F G …
  AM: "[e4,e5]@2 [c4,c5] [d4,d5] [f4,f5]@2 [c4,c5] [d4,d5] [g4,g5]@2 [c4,c5] [d4,d5] [ab4,ab5]@2 [c4,c5] [gb4,gb5]", // E C D F C D G C …
  AN: "[g4,c5,eb5,g5]", AO: "d4 c4 eb4@3 c4 d4 c4 eb4@3 c4 d4@2 ~ g4", AP: "c5 ~ d4@3 c4 eb4 c4 d4@3 c4 eb4@3 c4",
  AQ: "c5 ~ [c4,d4,eb4]@4 [c4,d4,eb4]@2 [c4,d4,f4]@4 [c4,d4,eb4]@4", // Cm Dm7 Cm
  AR: "[c4,d4,f4] ~ [c4,d4,eb4]@4 [c4,d4,f4]@2 [c4,d4,eb4]@4 ~@4", // Dm7 Cm Dm7 Cm
  AS: "[c4,d4,f4] ~ [c4,d4,eb4]@4 [c4,d4,eb4]@2 [c4,d4,f4]@4 [c4,d4,eb4]@4", // Dm7 Cm Dm7 Cm
  AT: "[c4,d4,f4] ~ [c4,d4,eb4]@4 [c4,d4,f4]@2 [c4,d4,eb4]@4 [c4,d4,f4]@2 ~@2", // Dm7 Cm Dm7 Cm Dm7
  AU: "[eb5,g5]@2 c5 eb5 [d5,f5]@4 [eb5,g5]@4 [d5,f5]@4", // Eb Dm Eb Dm
})).s("gm_clarinet").gain(0.3)

stack(clarinet)