Strudelify

Viva la Vida

Coldplay

KeyB♭ majorTempo138 bpm
0:00/0:00
// Viva la Vida — Coldplay
// 138 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5928689; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 96 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(138/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A B C D A B C D A B C D A B C D E@4 F@4 G H G H G H G H I J K H ~ L M N O@2 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W X W X W X Y
  Z@2 AA@2 Z@2 AA@2 ~ AB J W X AB J W X AC AD AE AF U@2 AG@2 AH@4 AI@3 AJ
>`.pickRestart({
  A: "db4 ~ db4 ~ db4 ~ db4!2", B: "~ db4 ~ db4!2 ~ db4 ~", C: "c4 ~ c4 ~ c4 ~ c4!2", D: "~ c4 ~ c4!2 ~ c4 ~",
  E: "[ab4@7 g4@9]/2", F: "[ab5@7 g5@9]/2", G: "eb4 ~ eb4 ~ eb4 ~ eb4!2", H: "~ eb4 ~ eb4!2 ~ eb4 ~",
  I: "eb4 ~ eb4 ~ eb4 ~ eb4 bb4", J: "~ bb4 ~ bb4!2 ~ bb4 ~", K: "ab4 ~ ab4 ~ ab4 ~ ab4 eb4", L: "~@5 eb4 eb4@2",
  M: "ab4@2 g4@2 f4@2 f4@4 f4@2 g4 ab4 g4@2", N: "f4 f4@3 ~@4", O: "[f5@2 f5@2 f5 eb5 f5 eb5@3 bb4 c5@2 db5@3]/2",
  P: "[eb5@2 eb5@2 eb5 c5 eb5 c5@3 f4 g4@2 ab4@3]/2", Q: "[f5@2 f5@2 f5 eb5 f5 eb5@3 bb4 c5@2 db5@2 eb4]/2",
  R: "[eb5 c5 eb5@2 eb5 c5 eb5 c5@2 f4@2 g4@2 ab4@3]/2", S: "[ab4@2 ab4@2 ab4 g4 ab4 db5@2 db5@2 db5@5]/2",
  T: "[eb5@2 eb5@2 eb5@2 eb5 db5@2 c5@3 c5!4]/2", U: "[c5@6 db5 bb4@5 ~@2 bb4 ab4]/2",
  V: "[g4 g4@3 c5@2 g4 ab4@5 ~@4]/2", W: "eb5 ~ eb5 ~ eb5 ~ eb5 c5", X: "~ c5 ~ c5!2 ~ c5 ~",
  Y: "~@2 c5@4 c5 ~ c5@2 ~@2 db5@2 ~@2", Z: "[~ c5 eb5 ab5@3 g5 f5@8 eb5]/2", AA: "[~ c5 eb5 ab5@3 g5 eb5@8 c5]/2",
  AB: "db5 ~ db5 ~ db5 ~ db5 bb4", AC: "db5 ~ db5 ~ db5 ~ db5!2", AD: "~ db5 ~ db5!2 ~ db5 ~",
  AE: "bb4 ~ bb4 ~ bb4 ~ bb4 eb5", AF: "~ eb5 ~ eb5 c5!4", AG: "[g4 g4@3 c5@2 g4 ab4@9]/2", AH: "[eb5@30 c5 db5]/4",
  AI: "[eb5@11 g5]/3", AJ: "[eb5,f5]!16",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note(`<
  A B A B A B A B A B A B A B A B C@2 D@2 C@2 E@2 F@2 G H I@2 J K L M N O L M N O P M Q O P M Q O R S T R P M Q O U V U
  V U W X ~ P M N O P M N Y Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 AF AG AH AI AJ AK AL@2 AJ AK AL@2
>`.pickRestart({
  A: "f3 ~ f3 ~ f3 ~ f3!2", B: "~ f3 ~ f3!2 ~ f3 ~", C: "[f3@7 g3@9]/2", D: "[ab3@7 g3@9]/2",
  E: "[ab3@7 f3@4 ab3!2 ~ ab3 ~]/2", F: "[c4@6 db4 bb3@5 ~ bb3@2 eb3]/2", G: "bb3@2 bb3 ab3 bb3!2 c4 ab3",
  H: "g3 f3 ~@2 c4!4", I: "[c4@6 db4 bb3@5 ~@2 ab3!2]/2", J: "c4@2 bb3@2 ab3@2 ab3@6 bb3 c4 bb3@2", K: "ab3 ab3@3 ~@4",
  L: "ab3 ~ ab3 ~ ab3 ~ ab3 db4", M: "~ db4 ~ db4!2 ~ db4 ~", N: "c4 ~ c4 ~ c4 ~ c4!2", O: "~ c4 ~ c4!2 ~ c4 ~",
  P: "eb4 ~ eb4 ~ eb4 ~ eb4 db4", Q: "eb4 ~ eb4 ~ eb4 ~ eb4 c4", R: "ab3!8", S: "bb3!8", T: "bb3!7 ab3",
  U: "ab3@2 g3@2 ab3@2 g3@2 ab3@2 g3@2 ab3 ~ ab3@2", V: "g3 ab3 g3 ab3!2 g3 ab3 g3", W: "g3 ab3 g3 ab3!2 g3 ab3 ~",
  X: "~@2 g3@4 g3 ~ g3@2 ~@2 g3@2 ~@2", Y: "~ c4 eb4 ab4@3 g4@2", Z: "[c4@2 c4@2 c4 bb3 c4 bb3@9]/2",
  AA: "[c4@2 c4@2 c4 ab3 c4 ab3@3 f3 g3@2 ab3@3]/2", AB: "[c4@2 c4@2 c4 bb3 c4 c4@3 bb3 c4@2 db4@2 eb3]/2",
  AC: "[c4 ab3 c4@2 c4 ab3 c4 ab3@2 f3@2 g3@2 ab3@2 ~]/2", AD: "[c4@2 c4@2 c4 bb3 c4 db4@2 db4@2 db4@5]/2",
  AE: "[g3@2 g3@2 g3@2 g3 ab3@5 ab3 ~ ab3 ~]/2", AF: "ab3 ~ ab3 ~ ab3 ~ ab3 bb3", AG: "~ bb3 ~ bb3!2 ~ bb3 ~",
  AH: "g3 ~ g3 ~ g3 ~ g3 f3", AI: "~ f3@2 f3!2 ~ f3 ~", AJ: "~ c4", AK: "db4", AL: "c4/2",
})).s("gm_trombone").gain(0.4)

// bass · tuba · "Euphonium"
const bass = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D E F G H E F G H I J K H E F G D A B C
  D L M N ~ E F G H E F G H E F G H E F G H E J K H E F G O P Q R S P Q R S
>`.pickRestart({
  A: "db3 ~ db3 ~ db3 ~ db3 eb3", B: "~ eb3 ~ eb3!2 ~ eb3 ~", C: "ab2 ~ ab2 ~ ab2 ~ ab2 f2", D: "~ f2 ~ f2!2 ~ f2 ~",
  E: "db2!7 eb2", F: "eb2!8", G: "ab2!7 f2", H: "f2!8", I: "db2!8", J: "eb2!6 bb2!2", K: "c3!7 f2",
  L: "db3 ~ db3 ~ db3 ~ db3 f2", M: "~ f2 ~ f2 f2@2 f2@2", N: "~@2 eb2@4 eb2 ~ eb2@2 ~@2 eb2@2 ~@2",
  O: "~ f2@2 f2!2 ~ f2 ~", P: "db3@3 db3", Q: "eb3", R: "ab3", S: "f3",
})).s("gm_tuba").gain(0.4)

stack(trumpet, trombone, bass)

More by Coldplay