Strudelify

On the Turning Away

Pink Floyd

KeyG majorTempo100 bpm
0:00/0:00
// On the Turning Away — Pink Floyd
// 100 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 86 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · "Right Hand Piano"
const piano = note(`<
  ~ A B C D ~ E F G H I J K L M N O P Q R S P T U V W X Y Z AA AB@2 AC@2 AD@2 AE AF AG AH AI AJ AK AL AM AN AO AP AQ@2
  AR AS@2 AT AU AV AT AW@2 AX P Q R S P T U V W X Y Z AY AZ@4 BA BB BC BD@2 BB BE@2 BF
>`.pickRestart({
  A: "~@2 g4@4 b4@2 a4@3 a4 a4@2 g4@2", B: "g4 ~@7", C: "~@5 b4@2 d5", D: "e5@4 e5@2 d5@2 b4@2 b4 d5 d5@4",
  E: "~ g4@2 b4 a4@3 g4", F: "g4@3 b4 b4@2 d5@2 e5@3 e5 e5@2 d5@2", G: "e5 ~@3", H: "~@5 f5@2 f5",
  I: "f5@3 d5 d5@2 b4@2 e5@6 d5@2", J: "d5@2 ~@3 g5!3", K: "g5 d5!2 b4 d5@3 e5", L: "e5@2 ~@3 g5@2 g5",
  M: "g5@3 d5 d5@2 b4@2 e5@4 d5@2 d5@2", N: "d5@4 ~@2 c5@2 a4@3 a4 a4@2 a4@2", O: "g4 ~@3",
  P: "~@2 g4@4 b4@2 a4@3 a4 a4@2 g4@2, ~ b3@3 d4@4", Q: "[b3,d4], g4 ~@3",
  R: "~@2 g4@4 d5@2 e5@3 e5 e5@2 d5@2, ~ [d4,b4]@3 [g4,c5]@4", S: "b4 d5@3 ~@12, [e4,g4]",
  T: "g4@3 b4 b4@2 [b4,d5]@2 e5@3 e5 e5@2 [g4,b4,d5]@2, b3@3 ~ [g4,c5]@3 ~", U: "[g4,c5] [e4,g4,c5], e5 ~@3",
  V: "[e4,g4,c5]@2 [b4,g5]@4 [b4,g5]@2 g5@3 d5 d5@2 [g4,b4]@2, ~@4 b4@3 ~", W: "e5@3 d5 [g4,b4]@4, [g4,c5]@2 d5 ~",
  X: "[g4,b4]@2 [b4,g5]@4 [b4,g5]@2 g5@3 d5 d5@2 [g4,b4]@2, ~@4 b4@3 ~", Y: "d5@3 e5 [g4,c5]@4, [g4,b4]@2 e5 ~",
  Z: "[g4,c5]@2 [b4,g5]@4 [b4,g5]@2 g5@3 d5 d5@2 [g4,b4]@2, ~@4 b4@3 ~", AA: "e5@3 d5 [g4,d5]@2 g4 b4, [g4,c5] c5",
  AB: "[a4 a4@2 g4 [b3,d4,g4]@8 ~ g4@2 b4, d4@4 ~@9 b3@3]/2", // G
  AC: "[a4@3 a4 a4@2 g4@2 [b3,d4]@16 ~@2 b4@4 d5@2, d4@4 g4@2 ~@7 [d4,g4]@3]/2", // Bm G5
  AD: "[e5@3 e5 e5@2 d5@2 b4 d5@3 ~@14 g4@4 b4@2, [g4,c5]@4 [e4,g4]@8 ~ b3@3]/2", // C5 Em
  AE: "a4@3 a4 a4@2 g4@2 g4@3 b4 b4@2 [b4,d5]@2, d4@4 b3@3 ~", // Bm
  AF: "e5@3 e5 e5@2 [g4,b4,d5]@2 [g4,c5]@8, [g4,c5]@3 ~ e5@2 ~@2", AG: "[e4,g4,c5]@4 [e4,g4,c5] [b4,g5]@2 [b4,g5]",
  AH: "g5@3 d5 d5@2 [g4,b4]@2 e5@6 d5@2, b4@3 ~ [g4,c5]@4", AI: "[g4,b4]@4 [g4,b4] [b4,g5]@2 [b4,g5], d5 ~@3",
  AJ: "g5@3 d5 d5@2 [g4,b4]@2 d5@6 e5@2, b4@3 ~ [g4,b4]@4", AK: "[g4,c5]@4 [g4,c5] [b4,g5]@2 [b4,g5], e5 ~@3",
  AL: "g5@3 d5 d5@2 [g4,b4]@2 [g4,c5]@8, b4@3 ~ e5@2 ~@2", AM: "~@3 g4 g4@2 b4@2 a4@3 a4 a4@2 g4@2, b3 d4",
  AN: "[b3,d4,g4]", AO: "[b3,d4,g4]@2 g5 f5", AP: "[g4,b4,e5]@4 [g4,b4,e5]@3 [g4,b4,d5]",
  AQ: "[[f4,a4,d5]@2 a4 b4 [e4,g4,b4,c5]@8 c5!2 [f4,a4,d5]@2, ~@6 [e4,g4] ~]/2", AR: "[g4,b4,e5]!2",
  AS: "[[f4,a4,d5] [d4,f4,a4] [c4,e4,a4]@4 [c4,e4,a4] [d4,g4,b4]]/2", AT: "[e4,g4,b4,c5]@4 [b4,c5]@2 b4 c5, ~ [e4,g4]",
  AU: "[f4,a4,d5] [d4,f4,a4] [c4,e4,a4]@2", AV: "[c4,e4,a4]@2 [c4,e4,a4] [b3,d4,g4]",
  AW: "[[f4,a4,d5] [d4,f4,a4] [g3,b3,e4]@4 [g3,b3,e4]@2]/2", AX: "[g3,b3,e4]",
  AY: "e5@3 d5 d5@2 c5@2 [g4,d5]@3 g4 g4@2 b4@2, g4 ~", // G5
  AZ: "[a4@3 a4 a4@2 g4@2 [b3,d4,g4]@16 [b3,d4,g4]@16 [b3,d4,g4]@16 [b3,d4,g4]@8, d4 ~@7]/4", // G
  BA: "[g3,g4] [f3,f4] [g4,b4,e5]@2", BB: "[e4,g4,b4]!2", BC: "[e4,g4,c5]!2 [g4,b4,e5]@2",
  BD: "[[e4,g4,b4] [e4,g4,b4]@2 [g4,b4,e5]]/2", BE: "[[d4,f4,a4]!2 [b3,d4,g4]@4 [b3,d4,g4]@2]/2", BF: "f4!2 ~@2",
})).s("gm_piano").gain(0.26)

// other · electric guitar muted · "Juitar"
const electric_guitar_muted = note("<~ A B C D ~ E F G H I J K L M N B A B O P ~@65>".pickRestart({
  A: "~@2 g4@4 b4@2 a4@3 a4 a4@2 g4@2", B: "g4 ~@3", C: "~@5 b4@2 d5", D: "e5@4 e5@2 d5@2 b4@2 b4 d5 d5@4",
  E: "~ g4@2 b4 a4@3 g4", F: "g4@3 b4 b4@2 d5@2 e5@3 e5 e5@2 d5@2", G: "e5 ~@3", H: "~@5 g5@2 g5",
  I: "g5@3 d5 d5@2 b4@2 e5@6 d5@2", J: "d5@2 ~@3 g5!3", K: "g5 d5!2 b4 d5@3 e5", L: "e5@2 ~@3 g5@2 g5",
  M: "g5@3 d5 d5@2 b4@2 e5@4 d5@2 d5@2", N: "d5@4 ~@2 b4@2 a4@3 a4 a4@2 g4@2", O: "~@2 b4@4 d5@2 e5@3 e5 e5@2 d5@2",
  P: "b4@3 d5 ~@12",
})).s("gm_electric_guitar_muted").gain(0.26)

stack(piano, electric_guitar_muted)

More by Pink Floyd