Strudelify

Coldplay - Orphans

alexonthepiano

KeyA majorTempo108 bpm
0:00/0:00
// Coldplay - Orphans — alexonthepiano
// 108 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 5 "Percussive Organ" named as an organ, played on percussive organ (its electric guitar jazz patch is not one); ch 2 "Violin" named as a string part, played on violin (its distortion guitar patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5823248; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Acoustic Guitar.
setcpm(108/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.

// chords · piano
const piano = note(`<
  ~@3 A B C D E B C D E F C D E F C D E F G H I J@4 K@4 L M N O P M N O F C D E F Q H I J@4 R@4 S@2 T@4 U V U W J@4 K@4
  X Y Z AA AB@2 AC AD AE AF AG@4 AH
>`.pickRestart({
  A: "~@15 b1",
  B: "a1 ~ [b1,f#2]@2 d2@2 f#2@2 [a1,b1,f#2]@2 f#2 [d2,c#3] ~@3 a1, a2, [b1,c#3] ~@4 b1 f#2!2, ~ a1@3 a1@4 ~@5 b2@2 ~", // B5 B7 Dmaj7 Bsus2
  C: "a1 ~ [b1,f#2]@2 d2@2 f#2@2 [a1,b1,f#2]@2 f#2 [d2,c#3] ~@3 d2, a2, [b1,f#2] ~@4 b1 f#2!2, ~ a1@3 a1@4 ~@5 b2@2 ~", // B5 B7 Dmaj7 B5
  D: "d2 ~ [b1,f#2]@2 ~@2 f#2@2 [b1,d2,f#2]@2 f#2 [d2,c#3] ~@2 f#2!2, d1@15 ~, [b1,f#2]@2 ~@8 b1@2 ~ b2@2 ~, ~ d2@3 d2@4 ~@4 f#2@2 ~@2", // B5 Bm Dmaj7 B5
  E: "f#2!2 [b1,f#2]@2 [d2,f#2]@2 f#2@2 [b1,f#2]@2 f#2 [d2,c#3] ~@3 a1, f#1@15 ~, b1 ~@4 b1 f#2!2, ~@13 b2@2 ~", // B5 D B5 Dmaj7
  F: "a1 ~ [b1,f#2]@2 d2@2 f#2@2 [a1,b1,f#2]@2 f#2 [d2,c#3] ~@3 a1, a2, [b1,f#2] ~@4 b1 f#2!2, ~ a1@3 a1@4 ~@5 b2@2 ~", // B5 B7 Dmaj7 B5
  G: "a1 ~ [b1,f#2]@2 d2@2 f#2@2 [a1,b1,f#2]@2 f#2 [d2,c#3] ~ b2@2 ~, a2, [b1,f#2] ~@4 b1 ~@2, ~ a1@3 a1@4 ~@8", // B5 B7 Dmaj7 B5
  H: "~ f#4@15, [b1,b2,b3,d4]", I: "~ f#4@15, [d2,d3,a3,d4]",
  J: "[a1 ~@5 f#2@2 [b1,f#2]@2 ~@5 a1 a1 ~@5 f#2@2 [b1,f#2]@2 ~@5 d2 d2 ~@5 f#2@2 [b1,d2,f#2]@2 ~@4 f#2!2 f#2!2 f#2@2 f#2@2 f#2@2 [b1,f#2]@2 ~@5 a1, a2@12 f#2 b2@13 f#2 c#3@3 f#2@2 d1@28 f#2 b2 f#2@2, c#3@10 b1@4 f#2@2 a2@26 f#2 c#3@5 b1@2 b1@2 [d2,d#2]@6 b1@6, b1@2 b1@2 a1@4 a1@3 [d2,d#2]@5 [b1,f#2] a1 [b1,f#2]@2 [a1,d2,d#2]@4 a1@24 f#1@16, ~ a1 f#2@2 [d2,d#2]@6 f#2 c#3@15 b1 [d2,d#2] f#2 b2@3 [b1,f#2] d2 [b1,f#2]@2 [d2,d#2]@6 b1 [d2,d#2] f#2 b2@13 f#2 [d2,d#2,c#3]@5]/4", // B5 Bm B5 D#maj7 B5 D D#maj7 B5 …
  K: "[a1 ~@5 f#2@2 [b1,f#2]@2 ~@5 a1 a1 ~@5 f#2@2 [b1,f#2]@2 ~@5 d2 d2 ~@5 f#2@2 [b1,d2,f#2]@2 ~@4 f#2!2 f#2!2 f#2@2 f#2@2 f#2@2 [b1,f#2]@2 ~@5 a1, a2@12 f#2 b2@13 f#2 c#3@3 f#2@2 d1@28 f#2 b2 f#2@2, [b1,f#2]@2 b1@6 ~@2 b1@4 f#2@2 a2@26 f#2 c#3@5 b1@2 b1@2 [d2,d#2]@6 b1@6, ~ a1@3 [d2,d#2]@6 f#2 c#3@9 a1@4 a1@24 f#1@16, ~@2 f#2@2 a1@4 a1@3 [d2,d#2]@5 [b1,f#2] a1 [b1,f#2]@2 [d2,d#2]@6 b1 [d2,d#2] f#2 b2@3 [b1,f#2] d2 [b1,f#2]@2 [d2,d#2]@6 b1 [d2,d#2] f#2 b2@13 f#2 [d2,d#2,c#3]@5]/4", // B5 Bm B5 D#maj7 B5 D#maj7 B5 D#maj7
  L: "a1 ~ b1@2 a1@4 [a1,b1]@2 ~ [d2,c#3] ~ b2@2 a1, a2, c#3 ~@3, b1 ~ d2 ~@5, ~ a1@3 ~@6 b1@2 ~@4", // Asus2 Dmaj7
  M: "a1 ~ b1@2 a1@4 [a1,b1]@2 ~ [d2,c#3] ~ b2@2 d2, a2, b1 ~ d2 ~@5, ~ a1@3 ~@6 b1@2 ~@4", // Asus2 Dmaj7
  N: "d2 ~ b1@2 d2@4 [b1,d2]@2 ~ [d2,c#3] ~ b2@2 f#2, d1@15 ~, b1 ~@4 b1 ~@2, ~ d2@3 ~@12", // Bm Dmaj7
  O: "f#2 ~ b1@2 f#2@4 [b1,f#2]@2 ~ [d2,c#3] ~ b2@2 a1, f#1@15 ~, b1 ~ d2 ~@2 b1 ~@2, ~ f#2@3 ~@12", // B5 Dmaj7
  P: "a1 ~ b1@2 a1@4 [a1,b1]@2 ~ [d2,c#3] ~ b2@2 a1, a2, b1 ~ d2 ~@5, ~ a1@3 ~@6 b1@2 ~@4", // Asus2 Dmaj7
  Q: "a1 ~ [b1,f#2]@2 d2@2 f#2@2 [a1,b1,f#2]@2 f#2 [d2,c#3] ~ b2@2 d2, a2, [b1,f#2] ~@4 b1 ~@2, ~ a1@3 a1@4 ~@8", // B5 B7 Dmaj7 B5
  R: "[a1 ~@5 f#2@2 [b1,f#2]@2 ~@5 a1 a1 ~@5 f#2@2 [b1,f#2]@2 ~@5 d2 d2 ~@5 f#2@2 [b1,d2,f#2]@2 ~@4 f#2!2 f#2!2 f#2@2 f#2@2 f#2@2 [b1,f#2]@2 ~@4 f#2@2, a2@12 f#2 b2@13 f#2 c#3@3 f#2@2 d1@28 f#2 b2@3, [b1,f#2]@2 b1@6 ~@2 b1@4 f#2@2 a2@26 f#2 c#3@5 b1@2 b1@2 [d2,d#2]@6 b1@6, ~ a1@3 [d2,d#2]@6 f#2 c#3@9 a1@4 a1@24 f#1@16, ~@2 f#2@2 a1@4 a1@3 [d2,d#2]@5 [b1,f#2] a1 [b1,f#2]@2 [d2,d#2]@6 b1 [d2,d#2] f#2 b2@3 [b1,f#2] d2 [b1,f#2]@2 [d2,d#2]@6 b1 [d2,d#2] f#2 b2@13 f#2 [d2,d#2,c#3]@5]/4", // B5 Bm B5 D#maj7 B5 D#maj7 B5 D#maj7
  S: "[a1,a2,c#3]/2", T: "[~ [a1,a2], [d1,d2] ~, ~ [f#1,f#2]@2 ~]/4", U: "~ f#4@15, [b0,b1,b3,d4]",
  V: "~ f#4@15, [d1,d2,a3,d4]", W: "~ f#4@14 b1, [d1,d2,a3,d4]",
  X: "a1 ~ [b1,f#2]@2 d2@2 ~ b4 [a1,b1,f#2,b4]@2 f#2 [d2,d#2,c#3] ~@3 a1, a2, e5 ~@2 c#5, [b1,c#3] ~@2 f#2 ~@2 f#2!2, ~ a1@3 [a1,d#2,b4]@4 ~@2 [b1,b4]@2 ~ b2@2 ~", // B5 B7 Bsus2 B7 B
  Y: "a1 ~ [b1,f#2]@2 d2@2 ~ b4 [a1,b1,f#2,b4]@2 f#2 [d2,d#2,c#3] ~@3 d2, a2, e5 ~@2 c#5, [b1,f#2] ~@2 f#2 ~@2 f#2!2, ~ a1@3 [a1,d#2,b4]@4 ~@2 [b1,b4]@2 ~ b2@2 ~", // B5 B7 B5 B7 B
  Z: "d2 ~ [b1,f#2]@2 ~@3 b4 [b1,d2,f#2,b4]@2 f#2 [d2,d#2,c#3] ~@2 f#2!2, d1@15 ~, e5 ~@2 c#5, [b1,f#2] ~@2 f#2 ~@2 f#2 ~, ~ d2@3 [d2,d#2,b4]@4 ~@2 [b1,b4]@2 ~ b2@2 ~", // B5 Bm B5 G B
  AA: "f#2!2 [b1,f#2]@2 [d2,f#2]@2 ~ b4 [b1,f#2,b4]@2 f#2 [d2,d#2,c#3] ~@3 a1, f#1@15 ~, e5@2 ~ f#2 ~@2 a4@2, b1 ~ [d#2,b4]@2 ~ [b1,b4] f#2!2, ~@13 b2@2 ~", // B5 D B5 G#m B
  AB: "a1 ~ [b1,f#2]@2 d2@2 ~ b4 [a1,b1,f#2,b4]@2 f#2 [d2,d#2,c#3] ~@3 a1, a2, e5 ~@2 c#5, [b1,f#2] ~@2 f#2 ~@2 f#2!2, ~ a1@3 [a1,d#2,b4]@4 ~@2 [b1,b4]@2 ~ b2@2 ~", // B5 B7 B5 B7 B
  AC: "[b1,f#2]@2 [b1,f#2]@2 d2@2 f#2@2 [b1,f#2]@2 f#2 [d2,d#2] f#2@2 f#2@2, b2, ~@2 d#2@2 ~ b1 ~@2", // B5 D#maj7
  AD: "[b1,f#2]@2 [b1,f#2]@2 d2@2 f#2@2 [b1,f#2]@2 f#2 [d2,d#2] f#2@2 f#2@2, d3, d2@2 d#2@2 ~ b1 ~@2", // B5 D#maj7
  AE: "[b1,f#2]@2 [b1,f#2]@2 d2@2 ~ b4 [b1,f#2,b4]@2 f#2 [d2,d#2] f#2@2 f#2@2, b2, b4@2 [d#2,b4]@2 ~ [b1,b4] ~@2, ~@3 f#2 ~@2 b4@2", // B5 D#maj7 G#m B
  AF: "[b1,f#2]@2 [b1,f#2]@2 d2@2 ~ b4 [b1,f#2,b4]@2 f#2 [d2,d#2] f#2@2 f#2@2, d3, [d2,b4]@2 [d#2,b4]@2 ~ [b1,b4] ~@2, ~@3 f#2 ~@2 b4@2", // B5 D#maj7 G G#m B
  AG: "[b1@2 b1@2 [d#2,b4]@3 b4 [b1,b4]@2 ~ [d2,d#2] c#5@4 b1@2 b1@2 [d#2,b4]@3 b4 [b1,b4]@2 ~ [d2,d#2] a4@4 b1@2 b1@2 [d#2,b4]@3 b4 [b1,b4]@2 ~ [d2,d#2] c#5@4 b1@2 b1@2 [d#2,b4]@3 b4 [b1,b4]@2 ~ [d2,d#2] a4@4, [a1,a2], e5@2 d2 ~@2 [b1,b4] ~@2 e5@2 d2 ~@2 [b1,b4] ~@2 e5@2 d2 ~@2 [b1,b4] ~@2 e5@2 d2 ~@2 [b1,b4] ~@2]/4", // G#m B D#maj7 G#m B D#maj7 G#m B …
  AH: "b1 ~@3",
})).s("gm_piano").gain(0.19)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@7 A B ~@10 A B ~@3 C@4 D@4 B ~@10 A B ~@3 C@4 D@4 E@6 ~@4 C@4 D@4 ~@6 F@2 ~@7
>`.pickRestart({
  A: "~@12 a5 f#5 e5 d5", B: "c#5",
  C: "[~ [e3,a3]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3]@2 [e3,a3]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 a3@2 [f#3,a3,d4]@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3]@2 [f#3,a3,c#4]@3 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@3 ~@4 d5, ~ d4@16 d4@16 ~@14 d4@15 e5@2, ~@15 c#4@5 ~@11 e3@30 f#5@3, ~@31 c#4@18 ~@10 [f#3,a3,c#4]@5, ~@15 a5]/4", // A5 A A5 A D F#m
  D: "[~ [e3,a3]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3]@2 [e3,a3]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 a3@2 [f#3,a3,d4]@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3]@2 [f#3,a3,c#4]@3 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@3 ~@4 d5, c#5@31 c#4@18 ~@10 [f#3,a3,c#4]@3 e5@2, ~ d4@16 d4@16 ~@14 d4@17, ~@15 c#4@5 ~@11 e3@30 f#5@3, ~@15 a5]/4", // A5 A A5 A D F#m
  E: "[c#4@3 ~@5 c#4@3 ~@5 c#4@3 ~@5 c#4@3 ~@3 d4@2 d4@3 ~@5 d4@3 ~@3 e4@2 e4@3 ~@5 e4@3 ~@5 d4@3 ~@5 d4@3 ~@3 e4@2 e4@3 ~@5 e4@3 ~@3 f#4@2, ~@3 d4@3 d4@5 d4@3 d4@5 d4@3 d4@5 d4@3 ~@5 e4@3 e4@5 e4@3 ~@5 f#4@3 f#4@5 f#4@3 f#4@21 f#4@3 f#4@5 f#4@3 ~@2, ~ c#4 ~ c#4 ~ c#4 ~ c#4@8 ~@9, ~@9 d4 ~ d4@5 ~ d4 ~ d4@5, ~@52 e4@4 ~@4 e4@7 e4@3 e4@5 e4@3 ~@6 e4@4 ~@4 e4@4]/6",
  F: "b4@4 b4@3 b4 b4@2 b4@2 b4@4",
})).s("gm_piano").gain(0.1)

// chords · percussive organ
const percussive_organ = note(`<
  A@2 B@4 C D E ~@7 F@2 C D F@2 G H F@2 C D F@2 C D ~@8 F@2 C D F@2 G H F@2 C D F@2 C D ~@10 F@2 C D F@2 C D F@2 C D F@2
  I C I C ~@5
>`.pickRestart({
  A: "[d4,f#4,a4]/2", B: "[c#4,e4,a4]/4", C: "[d4,f#4,a4]", D: "[c#4,f#4,a4]", E: "[c#4,e4,a4]", F: "[c#4,e4,a4]/2",
  G: "[b3,d4,f#4]", H: "[a3,d4,f#4]", I: "[d4,f#4,b4]",
})).s("gm_percussive_organ").gain(0.06).pan(0.7)

// chords · violin
const violin = note(`<
  A@2 B@4 C D E@2 F G E@2 F G H@2 I J H@2 K L H@2 I J H@2 I J M@2 N O M@2 N O P@2 Q R H@2 K L H@2 I J H@2 I J S@2 T U
  S@2 V W V X H@2 I J H@2 I J E@2 F G E@2 Y F Y F ~@5
>`.pickRestart({
  A: "[a2,d3,d4,f#4,a4]/2", B: "[a2,c#3,c#4,e4,a4]/4", C: "[a2,d3,d4,f#4,a4]", D: "[f#2,c#3,c#4,f#4,a4]",
  E: "[c#4,e4,a4]/2", F: "[d4,f#4,a4]", G: "[c#4,f#4,a4]", H: "[c#4,e4,a4,c#5,e5,a5]/2", I: "[d4,f#4,a4,d5,f#5,a5]",
  J: "[c#4,f#4,a4,c#5,f#5,a5]", K: "[b4,d5,f#5]", L: "[a4,d5,f#5]", M: "[a1!4 a1!4, [c#4,e4,a4]]/2",
  N: "d1!4, [d4,f#4,a4]", O: "f#1!4, [c#4,f#4,a4]", P: "[a1!4 a1!4, [c#4,e4,a4,c#5,e5,a5]]/2",
  Q: "d1!4, [d4,f#4,a4,d5,f#5,a5]", R: "f#1!4, [c#4,f#4,a4,c#5,f#5,a5]", S: "[c#3,e3,a3,d4,e4,a4] ~",
  T: "[d3,f#3,a3,d4,f#4,a4] ~", U: "[c#3,f#3,a3,c#4,f#4,a4] ~", V: "[b2,d3,f#3,b3,d4,f#4]", W: "[a2,d3,f#3,a3,d4,f#4]",
  X: "[a2,d3,f#3,a3,d4,f#4]@3 ~", Y: "[d4,f#4,b4]",
})).s("gm_violin").gain(0.06).pan(0.7)

// chords · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel = note("<~@41 [~ d4@15] ~@47>").s("gm_acoustic_guitar_steel").gain(0.07)

// chords · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note("<~@4 A@4 ~@8 A@4 B@2 C D ~@16 E@4 B@2 ~@43>".pickRestart({
  A: "[~ [e3,a3]@3 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3]@4 [e3,a3]@3 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@2 a3@4 [a3,d4,f#4]@3 [a3,d4,f#4]@4 [a3,d4,f#4]@3 [a3,d4,f#4]@2 f#4@4 [c#4,f#4,a4]@3 [c#4,f#4,a4]@4 [c#4,f#4,a4]@3 [c#4,f#4,a4]@2 [c#4,f#4,a4]@3, ~ d4@16 d4@16 ~@12 [a3,d4]@19, ~@13 c#4@7 ~@9 e3@32 ~@3, ~@29 c#4@20 ~@15]/4", // A5 A A5 A D F#m D5
  B: "[~ [e3,a3]@3 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@3, ~ d4@31]/2", // A5 A
  C: "~ f#4@15, [b3,d4]", D: "~ f#4@15, [a3,d4]",
  E: "[~ [e3,a3]@3 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@4 [e3,a3,c#4]@3 [e3,a3,c#4]@2 a3@4 [a3,d4,f#4]@3 [a3,d4,f#4]@4 [a3,d4,f#4]@3 [a3,d4,f#4]@2 f#4@4 [c#4,f#4,a4]@3 [c#4,f#4,a4]@4 [c#4,f#4,a4]@3 [c#4,f#4,a4]@2 [c#4,f#4,a4]@3, ~ d4@32 ~@12 [a3,d4]@19, ~@29 e3@32 ~@3, ~@29 c#4@20 ~@15]/4", // A5 A D F#m D5
})).s("gm_electric_guitar_clean").gain(0.06).pan(0.7)

// chords · electric guitar clean · "Electric Guitar" · soft notes
const electric_guitar_clean_2 = note("<~@74 A@8 ~@7>".pickRestart({
  A: "[~ [e3,a3]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3]@2 [e3,a3]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@3 [e3,a3,c#4]@2 [e3,a3,c#4]@2 a3@2 [f#3,a3,d4]@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3]@2 [f#3,a3,c#4]@3 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@3 [f#3,a3,c#4]@5, ~ d4@16 d4@16 ~@14 d4@17, ~@15 c#4@5 ~@11 e3@32 ~, ~@31 c#4@18 ~@15]/4", // A5 A A5 A D F#m
})).s("gm_electric_guitar_clean").gain(0.04).pan(0.7)

stack(
  piano, piano_soft, percussive_organ, violin, acoustic_guitar_steel, electric_guitar_clean, electric_guitar_clean_2
)