Strudelify

Game Of Thrones Theme

Ramin Diawadi Irene Tripodi

KeyE♭ majorTempo75 bpm
0:00/0:00
// Game Of Thrones Theme — Ramin Diawadi Irene Tripodi
// 75 bpm, 12/8, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Violino" named as a string part, played on violin (its piano patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/2327971; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 23 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(75/6)

// 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 · violin · "Violino"
const violin = note("<~@3 A B C A D E F G H I J K L M N O L M P Q>".pickRestart({
  A: "c2!12", B: "g1!12", C: "bb1!12",
  D: "c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 eb4 f4 c2@2 c2@2 c2@2 c2@2 eb4 f4, g4@3 c4@3 c2 g4@2 c4@2 c2", E: "g1!12, d4",
  F: "bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 eb4 d4 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2, f4@3 bb3@3 bb1 f4@2 bb3@3",
  G: "eb4 d4 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2, c2 c4@11",
  H: "[c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 eb5 f5 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 [c2,c3]@2 eb5 f5, g5@3 c5@3 [c2,c3] g5@2 c5@2 [c2,c3]", // C
  I: "[g1,g2]!12, d5", // G
  J: "[bb1,bb2]!6 [bb1,bb2,d5] ~ [bb1,bb2] [bb1,bb2,d5] ~ [bb1,bb2], f5@3 bb4@3 ~ [bb1,bb2] ~@2 [bb1,bb2] ~, ~@5 eb5 ~ bb4", // Bb
  K: "[c2,c3]!12, c5", L: "[ab1,ab2]!6 [eb2,eb3]!6, c6 bb5", M: "[f2,f3]!6 [eb2,eb3]!6, c5 g5",
  N: "[ab1,ab2]!9 [bb1,bb2]!3, ab4@2 eb5 f5", O: "[c2,c3]!12, g5", P: "[ab1,ab2]!9 [g1,g2]!3, ab5@2 eb5 d5",
  Q: "[c2,c3,c5]", // C
})).s("gm_violin").gain(0.3)

// chords · violin · "Violino" · soft notes
const violin_soft = note("<~ [c2!12]!2 ~@20>").s("gm_violin").gain(0.2)

// other · cello · "Violoncello"
const cello = note("<A B@2 C D E F C D E F C D G B H I J K H I J L>".pickRestart({
  A: "[c3,g3]", B: "c3", C: "g3@6 c3@6 eb3 f3 g3@4 c3@4 eb3 f3", D: "d3", E: "f3@6 bb2@6 eb3 d3 f3@4 bb2@6",
  F: "eb3 d3 c3@22", G: "f3@2 bb2@2 d3 eb3 d3 bb2", H: "c3 ab2 bb2 eb2", I: "f2 ab2 eb2 g2", J: "ab2!2 c3 d3",
  K: "c2!2 g2 c2!2 g2 c2!2 g2 c2!2 g2", L: "eb3",
})).s("gm_cello").gain(0.3)

// chords · contrabass · "Contrabbasso"
const contrabass = note("<A B@2 C D E A C D E A C D E A F G H C F G I B>".pickRestart({
  A: "[g1,c2]", B: "c2", C: "[c2,g2]", D: "[g1,d2]", E: "[bb1,f2]", F: "ab2 eb2", G: "f2 eb2", H: "ab1@2 ab1 bb1",
  I: "ab1@2 eb2 g1",
})).s("gm_contrabass").gain(0.2)

// chords · piano
const piano = note("<~@11 A B C D E F G H E F G I>".pickRestart({
  A: "[c3,g3]@2 ~@2 eb3 f3 g3@2 ~@2 eb3 f3 g3@2 ~@2 eb3 f3 g3@2 c3@2 eb3 f3, c2@23 ~, ~ c3@3 c3@3 c3@3 ~@2", // C5
  B: "[g2,d3]@2 ~@2 bb2 c3 d3@2 ~@2 bb2 c3 d3@2 ~@2 bb2 c3 d3@2 g2@2 bb2 c3, g1@23 ~, ~ g2@3 g2@3 g2@3 ~@2", // G5
  C: "[bb2,f3]@2 ~@2 d3 eb3 f3@2 ~@2 d3 eb3 f3@2 ~@2 d3 eb3 f3@2 bb2@2 d3 eb3, bb1@23 ~, ~ bb2@3 bb2@3 bb2@3 ~@2", // Bb5
  D: "~@2 g2@2 ab2 bb2 ~@2 g2@2 ab2 bb2 ~@2 g2@2 ab2 bb2 ~@2 g2@2 [eb2,eb3] [ab2,bb2,ab3,bb3], c2@23 ~, c3@6 c3@6 c3@6 c3@5 ~", // Eb Absus2
  E: "[c3,c4]!2 ab3 [c3,c4]!2 [ab2,ab3] [bb2,bb3]!2 ~ [bb2,bb3]!2 [g2,g3], ab1@11 ~@13, ab2@4 ab2@6 ~@2 [eb2,eb3]@4 [eb2,eb3]@7 ~", // C Ab Bb G Eb
  F: "[f2,f3] ~ [ab2,ab3] [f2,f3]!2 [d2,d3] [eb2,eb3] ~ [g2,g3] [eb2,eb3]!2 [g2,g3], ~ [f2,f3]@2 ~@4 [eb2,eb3]@2 ~@3", // F Ab F D Eb G Eb G …
  G: "[ab2,ab3] ab3 [eb2,eb3] [ab2,ab3]!2 [eb2,eb3] [c2,c3] ~ [bb1,bb2] [d2,d3] ~ [bb1,bb2], ab1@11 ~@3 [c2,c3]@4 ~@2 [d2,d3]@4, ~ ab2@2 ~@9", // Ab Eb Ab Eb C Bb D Bb …
  H: "~@2 g2@2 ab2 bb2 ~@2 g2@2 ab2 bb2 ~@2 g2@2 ab2 bb2 ~@2 g2@2 ab2 bb2, c2@23 ~, c3@6 c3@6 c3@6 c3@5 ~",
  I: "[g1,c2,g2,c3]@23 ~", // C5
})).s("gm_piano").gain(0.25)

// chords · piano · soft notes
const piano_soft = note("<A B@2 C D E C@2 D E C ~@12>".pickRestart({
  A: "[c2,g2]@23 ~", B: "[[c2,c3]@23 ~]/2", C: "[c2,g2,c3]!4", D: "[g1,d2,g2]!4", E: "[bb1,f2,bb2]!4",
})).s("gm_piano").gain(0.15)

stack(violin, violin_soft, cello, contrabass, piano, piano_soft)