Strudelify

THE LAST OF US - ARREGLO FINAL

Gustavo Santaolalla

KeyG majorTempo120 bpm
0:00/0:00
// THE LAST OF US - ARREGLO FINAL — Gustavo Santaolalla
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5832790; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 104 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · acoustic guitar steel · "Guitarra acústica"
const acoustic_guitar_steel = note("<~@6 A@2 ~@91 B@2 C@2 D>".pickRestart({
  A: "a#4/2", B: "[g4 f4@3]/2", C: "e4/2", D: "e4@4 g4 b4 e5@3 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.3)

// other · recorder · "Flauta dulce"
const recorder = note(`<
  ~@19 A B C D A B C D E F G H@2 I ~ J K J L J K M F ~ A N O D P Q R@2 S T U@2 S V D W N ~ J K J L J K M F ~ A N O D P Q
  R@2 S T U@2 S V D W N ~ J K J L J K M F M F X Y@2 U@2 Z
>`.pickRestart({
  A: "d6", B: "c#6", C: "c6", D: "b5", E: "a5", F: "e5", G: "g5 f#5 e5 d5", H: "f#5/2", I: "g5 e5@3", J: "g5 e5 a5 f#5",
  K: "g5 g5@3", L: "b5 b5@3", M: "a#5@3 a5@3 g5@3 e5@2 d5", N: "g5", O: "d6 g5@3", P: "d5@9 d5 e5@2", Q: "b5@3 g5",
  R: "d6/2", S: "f#5", T: "d6@3 f#5", U: "e5/2", V: "d6@5 e6", W: "a5@5 g5", X: "a#5 a5 g5@2", Y: "[g5 f5@3]/2",
  Z: "e5@4 g5 b5 e6@3 ~@3",
})).s("gm_recorder").gain(0.3)

// other · acoustic guitar steel · "Guitarra acústica"
const acoustic_guitar_steel_2 = note(`<
  ~ A@3 B@2 C@2 D@6 ~@5 E F G H E F G H I J K L@2 M ~@10 E N O H P Q R@2 S T U@2 S V H W N ~ X Y X Z X Y AA J ~ E N O H
  P Q R@2 S T U@2 S V H W N ~ X Y X Z X Y AA J AA J AB N AC U@2 AD
>`.pickRestart({
  A: "[e4@11 e4]/3", B: "[b3@9 ~ b3 e4]/2", C: "[e4@7 ~]/2", D: "e2", E: "d4", F: "c#4", G: "c4", H: "b3",
  I: "a3@4 b3 a3", J: "e3", K: "g3 f#3 e3 d3", L: "f#3/2", M: "g3 e3@3", N: "g3", O: "d4 g3@3", P: "d4@9 d4 e4@2",
  Q: "b3@3 g3", R: "d4/2", S: "f#3", T: "d4@3 f#3", U: "e3/2", V: "d4@5 e4", W: "a3@5 g3", X: "g3 e3 a3 f#3",
  Y: "g3 g3@3", Z: "b3 b3@3", AA: "a#3@3 a3@3 g3@3 e3@2 d3", AB: "a#3 a3 g3@2", AC: "f3", AD: "e3@4 g3 b3 e4@3 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.3)

// bass · electric bass finger · "Bajo eléctrico"
const bass = note(`<
  ~@8 A@12 B@2 A@2 B@2 A B@5 A C A ~@8 D@2 E@2 D@2 E@2 F@2 A@2 F@2 A@2 ~@2 A ~@8 D@2 E@2 D@2 E@2 F@2 A@2 F@2 A@2 ~@2
  A@10 G H@2 I J K
>`.pickRestart({
  A: "e2", B: "a1", C: "e2!2", D: "c2", E: "g1", F: "b1", G: "e2 f2", H: "f2", I: "e1@3 ~@3 e1@3 e1!2 ~",
  J: "e1@3 ~@3 e1 ~ e1!3 ~", K: "e2!6 e2@3 ~@3",
})).s("gm_electric_bass_finger").gain(0.3)

stack(acoustic_guitar_steel, recorder, acoustic_guitar_steel_2, bass)