Strudelify

Unforgiven - Fingerstyle cover

Metallica

KeyE minorTempo120 bpm
0:00/0:00
// Unforgiven - Fingerstyle cover — Metallica
// 120 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "Akustische Gitarre [Tabulatur]" acoustic guitar steel (copy of ch 1 "Akustische Gitarre" acoustic guitar steel)
// note: Transcription provider: pdmx. https://musescore.com/score/5710995; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 128 bars on a 16-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 · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// melody · acoustic guitar steel · "Akustische Gitarre"
const acoustic_guitar_steel = note(`<
  A B A B A B A B C D E F C D E F G H I J K L M N O B A B P Q R S T U V W X Y Z S T U V AA AB AC AD AE AF AC AG AH AI AJ
  AK AL AM AJ AN AO AM AJ AN AP AI AQ AR AO AS B A AT P Q R S T U V W X Y Z S T U V AA AB AC AD AE AF AC AG AH AI AJ AK
  AL AM AJ AN AO AM AJ AN AP AI AQ AR AO AS AU AV AW A AU AV AW A B A B A B A B
>`.pickRestart({
  A: "[a2,b3]@2 a3 e3 b3 a3 e3 b3", B: "a3 e3 b3 a3 e3 c4 a3 e3", C: "[a2,b3]@4 a3@2 e3@2 a3 ~ e3@2 b3 ~ e3@2",
  D: "[a2,c4] ~ e3@2 a3@2 e3@2 c4 ~ b3 ~ a3 ~ e3@2", E: "a2@2 e3@2 a3@2 e3@2 a3 ~ e3@2 b3 ~ e3@2",
  F: "[a2,b3] ~ c4 ~ a3@2 e3@2 c4 ~ a3 ~ e3@2 a3@2", G: "[a2,b3]@4 a3@2 e3@2 a3 ~ e3@2 [b2,b3] ~ g3@2",
  H: "[c3,c4] ~ g3@2 e3@2 g3@2 c4 ~ g3@2 e3@2 c4 ~", I: "[g2,c4] ~ b3 ~ g3 ~ d3@2 g3@2 d3@2 b3 ~ d3@2",
  J: "[e2,e3] ~ b2@2 e3 ~ b2@2 a3 ~ e3@2 b3 ~ e3@2", K: "[a2,a3] ~ e3@2 a2@2 e3@2 a3 ~ e3@2 [b2,b3] ~ g3@2",
  L: "[c3,c4] ~ g3@2 e3@2 g3@2 e4 ~ g3@2 e3@2 e4 ~", M: "[g2,e4] ~ d4 ~ b3 ~ d3@2 g3@2 d3@2 b3 ~ d3@2",
  N: "[e2,g#3] ~ e3@2 g#3 ~ e3@2 b3 ~ g3 ~ a3 ~ b3 ~", O: "[a2,a3]@3 ~ e3@2 a3@2 b3@2 a3@2 e3@2 b3@2",
  P: "[a2,a3,d4] ~ e3@2 [a3,c4] ~ e3@2 [a3,b3] ~ e3@2 [a3,c4] ~ e3@2", // D5 Am Asus2 Am
  Q: "[e2,g3,b3] ~ e3@2 g3@2 b3@2 g3@2 e3@2 g4@3 ~", R: "[d3,d4,g4] ~ a3@2 [d4,f#4] ~ a3@2 [d4,f#4] ~ a3@2 c4@3 ~",
  S: "[a2,a3,c4] ~ e3@2 a3@2 c4@2 a3@2 e3@2 [a3,d4]@3 ~", T: "[a2,a3,d4] ~ e3@2 c4 ~ b3 ~ e3@2 c4 ~ a3@2 e3@2",
  U: "[e2,b3] ~ e3@2 g3@2 b3@2 g3@2 e3@2 g3@3 ~", V: "[d3,g3] ~ a3 ~ a3 ~ d3@2 a3 ~ d3@2 b3@3 ~",
  W: "[a2,a3] ~ e3@2 a3@2 c4@2 a3@2 e3@2 d4@3 ~", X: "[a2,a3,d4] ~ e3@2 [a3,c4] ~ [a3,b3] ~ e3@2 c4 ~ a3@2 e3@2",
  Y: "[e2,b3] ~ e3@2 g3@2 b3@2 g3@2 e3@2 g4@3 ~", Z: "[d3,d4,g4] ~ [d4,f#4] ~ a3@2 f#4 ~ d4@2 a3@2 c4@3 ~",
  AA: "[a2,a3] ~ e3@2 b3 ~ e3@2 c4 ~ e3@2 e4 ~ a3 ~", AB: "a2@2 e3@2 a3@2 e3@2 [a3,d4]@5 ~@3",
  AC: "[c3,g3,c4] ~ e3@2 b3 ~ e3@2 a3 ~ b3@4 ~@2", AD: "[g2,d3,g3,b3] ~ d3@2 g3@2 d3@2 b3@2 g3@2 d3@2 e4 ~",
  AE: "[a2,c4,e4] ~ d4 ~ e3@2 [a3,d4] ~ e3@2 [a3,c4] ~ e3@2 [a3,c4] ~", AF: "a2@2 e3@2 a3@2 e3@2 c4@2 e3@2 d4@3 ~",
  AG: "[g2,g3,b3] ~ d3@2 g3@2 d3@2 b3@2 g3@2 d3@2 g3@2", AH: "[e2,e3,g#3,b3]", AI: "a2@4 e3@2 a3@2 c4 ~ b3 ~ e3@2 c4 ~",
  AJ: "c3@4 e3@2 g3@2 c4 ~ b3 ~ e3@2 b3 ~", AK: "g2@4 d3@2 g3@2 d3@2 b3 ~ b3 ~ g3 ~",
  AL: "e2@2 g3 ~ g3 ~ e3@2 a3 ~ e3@2 b3@3 ~", AM: "[a2,a3]@3 ~ e3@2 a3@2 c4 ~ b3 ~ e3@2 c4 ~",
  AN: "g2@4 d3@2 g3@2 b3@2 d3@2 b3@3 ~", AO: "[e2,g#3] ~ e3@2 g#3 ~ e3@2 a3 ~ e3@2 b3 ~ e3@2",
  AP: "[e2,e3,g3,d4] ~ e3@2 d4 ~ e3@2 c4 ~ b3@3 ~ a3 ~", AQ: "c3@4 e3@2 g3@2 c4 ~ b3 ~ b3@3 ~",
  AR: "g2@4 d3@2 g3@2 b3@2 d3@2 b3 ~ b3 ~", AS: "[a2,b3] ~ a3@3 ~ e3@2 b3@2 a3@2 e3@2 b3@2",
  AT: "a3 e3 b3 a3 e3 c4 a3 d4", AU: "[c3,c4]@2 g3 e3 c4 g3 e3 c4", AV: "[g2,b3]@2 g3 d3 b3 g3 d3 b3",
  AW: "[e2,b3]@2 g#3 e3 b3 g#3 e3 b3", // E5
})).s("gm_acoustic_guitar_steel").gain(0.15)

stack(acoustic_guitar_steel)

More by Metallica