Strudelify

the legend of zelda breath of the wild - Life in the Ruins

Nintendo

KeyE♭ majorTempo82 bpm
0:00/0:00
// the legend of zelda breath of the wild - Life in the Ruins — Nintendo
// 82 bpm, 3/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (3/4 at bar 1, 4/4 at bar 9, 3/4 at bar 36) are rendered on a constant 3/4 grid of one bar per cycle
// note: ch 1 "Oboe" named as a reed, played on oboe (its acoustic bass patch is not one); ch 2 "Clarinete en Mi♭" named as a reed, played on clarinet (its tremolo strings patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 2 "Clarinete en Mi♭" clarinet (copy of ch 1 "Oboe" oboe)
// note: Transcription provider: pdmx. https://musescore.com/score/3162351; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 56 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(82/3)

// 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.

// other · oboe
const oboe = note("<~@25 A@5 ~@26>".pickRestart({
  A: "[~@5 eb4@8 f4@8 g4@48 ab4@8 bb4@8 c5@32 ~@3]/5",
})).s("gm_oboe").gain(0.25)

// chords · piano · "Fagot"
const piano = note("<A@7 B@3 C@8 ~@2 D@7 E@6 ~ F@7 G@2 H@8 I@2 J@3>".pickRestart({
  A: "[~@65 f6@6 ~@59 g5@25 g5@13, ~@4 c4@5 bb5@48 ~@2 bb5@12 ~@3 eb5@40 g6@48 ~@6, ~@5 g4@6 f5@48 ~@12 [db4,ab4]@6 f5@48 ~@43, ~@6 c5@33 g5@32 ~ c5@33 c6@48 ~@15, ~@8 [d5,eb5]@38 d6@25 ~@4 [g5,bb5]@48 ~@45]/7", // Db5 Ebmaj7 Gm
  B: "[~@5 g5@2 [g5,g6]@4 ~@22 c5@4 g5@2 [g5,g6]@4 ~@18 bb5@8 [c5,c6]@2 [g5,g6], ~@5 [c5,c6]@6 c6@26 ~@35, ~@11 c5@6 c5@16 ~@4 [c5,c6]@6 [c5,c6]@26 ~@3, ~@13 g6@24 ~@35, ~@13 g5@8 g5@16 ~@8 [g5,g6]@24 ~@3]/3", // G C G C G
  C: "[~@29 [c5,c6]@6 ~@2 c5@12 c2@4 c3@4 bb2@4 ~@2 [g4,g5]@4 ~@2 g5@8 ~@12 bb5@4 [f5,g5]@6 ~@14 f5@4 ~@4 eb5@4 [a4,c5]@6 ~@18 g5@8 [c6,g6]@16 ~@16 g5@3, ~@3 [c5,c6]@26 ~@6 [bb4,bb5]@14 ~@12 ab2@20 c6@12 ~@8 g5@24 ~@32 g5@32 ~@3, ~@5 [g5,g6]@20 [g5,g6]@24 ~@20 g4@24 [g4,d5]@32 ~@6 [g4,bb4]@42 ~@19, ~@17 [f5,d6,f6]@32 ~@12 c5@6 c5@26 ~@24 [bb4,f5]@8 ~@8 [a4,c5]@40 ~@19, ~@25 bb5@10 ~@2 c6@23 ~ bb5@16 g5@16 ~@6 f5@14 ~@12 d5@48 ~@19]/8", // C G Fsus2 Am C5 C Bb G …
  D: "[~@41 c5@4 ~@24 bb4@8 ~@28 c5@4 ~@28 bb4@4 ~@20 [g4,g5]@7, ~@13 [c2,eb4]@16 [c4,c5]@4 [g4,g5]@12 ~@12 f3@4 bb3@4 f4@12 ~@12 eb3@4 [ab3,c5]@4 [g4,g5]@12 bb4@12 d3@4 g3@4 d4@4 f4@8 c5@12 g3@4 [c4,c5]@11, ~@17 g2@28 [bb1,d4,g4,g5]@32 [ab1,c4]@32 [g1,g4,d5,g5]@32 ~@8 c3@19, ~@21 c3@24 ~@4 f2@28 ~@4 eb2@28 ~@4 d2@28 [c2,eb4]@27, ~@25 g3@20 ~@8 bb2@24 ~@8 ab2@24 d4@8 g2@24 ~@4 g2@23]/7", // G Cm C G Ab G C Gm …
  E: "[~ c5@4 ~@24 bb4@8 ~@28 c5@4 ~@4 f2@4 bb2@4 f3@4 ~@4 f4@4 bb4@4 f5@4 bb5@2 f6@3 bb6@3 f7@23 ~@12, ~@5 [bb1,d4,g4,g5]@16 bb3@4 f4@12 c5@12 eb3@4 [ab3,c5]@4 [g4,g5]@12 [d4,g5]@64 ~@11, ~@9 f2@28 [ab1,c4,eb4,ab4]@32 bb1@30 ~@45, ~@13 bb2@24 ~@4 eb2@28 ~@75, ~@17 f3@20 ~@8 ab2@24 g4@15 ~ bb3@15 ~@44]/6", // Gm Ab G G5 Ab
  F: "[~@19 c3@4 c4@3 [eb3,g3]@6 g2@4 bb4@3 c3@6 ~ [eb3,g3]@6 ab2@3 g2@3 ~ g4@3 bb3@3 [f3,ab3]@6 ~ g2@6 ab2@4 db4@3 [eb3,ab3,eb4]@6 f4@4 db3@3 g4@3 c4@3 ~ [eb3,g3]@6 ~@3 d5@3 ~ c3@6 [e3,g3]@6 ~ g2@6 f2@6 ~ [c3,f3]@6 ~ [bb4,bb5]@3 ~@10 [d3,g3]@4, ~@19 g4@3 ~@4 c5@9 ~@4 g4@19 ~ f2@6 c4@12 ~ g4@3 ~@10 db3@3 ~@4 c3@6 ~ eb5@9 ~@4 [c4,e4,g4]@19 [g4,g5]@12 ~@5 [a4,a5]@6 [g4,g5]@8, ~@111 g2@6 ~@34 f2@6 g2@6 ~@5]/7", // Eb Fm Ab5 Eb Em F5 Bb G5 …
  G: "[~@2 [g2,b4,d5,f5]@6 ~ [eb5,g5]@3 c5@3 bb5 ~@9 bb5@3 c3@4 c5@3 [eb3,g3]@6 ~ ab2@3 [g2,bb4]@3, ~@9 c3@6 [eb3,g3]@6 ~ g2@6 g4@3 ~@4 c5@7 ~@6, ~@16 c6@9 ~@3 g5@19 ~]/2", // G7 Eb Gm Eb
  H: "[[g4,g5]@3 bb4@3 ~ [f3,ab3]@6 g2@6 ~ g5@3 db5@3 [eb3,ab3,eb5]@6 ~ db3@3 ab2@3 c3@4 c5@3 d6 ~@9 d6@3 ~@7 [e3,g3]@6 g2@6 ~ f2@6 [c3,f3]@4 [a4,a5]@3 [bb4,bb5]@7 ~@3 [c5,c6]@3 [d3,g3]@6 ~ g2@6 d5@3 ~ bb4@3 ~@7 ab2@6 d5@3 ~ a4@3 c5@6 ~ f5@3 d5@3 ~ c5@3 g5@3 ~ g5@3 c5@3 c5@2 d5@2 ~ f5@2 g5@3 ~@4 [f3,a3,c4]@6, f2@6 ~ c5@12 ~ ab2@6 ~@7 f5@6 g5@3 ~@4 [eb3,g3]@6 ~ g2@6 c3@6 ~@27 f2@6 ~ g2@6 ~@13 [ab2,eb3,ab3]@13 ~@7 [bb2,f3,bb3]@13 ~ bb2@6 ~ c3@6 ~ [eb3,c4]@6 [g2,g3]@6 ~ [f2,c3,f3]@6 ~@7, ~@47 eb6@9 ~@3 g5@20 [g4,g5]@9 ~@17 [c5,c6]@12 ~@8 c5@13 ~@21 g4@10 ~@23, ~@60 c6@19 ~@90 g5@6 ~ eb5@3 f5@13, ~@61 [e6,g6]@18 ~@103 c6@10]/8", // G Fm Ab5 Em F5 A Bb C …
  I: "[~ [c3,g4,c5]@3 [bb2,bb4,d5]@3 ab2@6 ~@4 [d5,f5]@3 ~ [ab2,eb5,g5]@6 ~ [bb2,d5,f5]@6 [bb2,f3,bb3,d5,f5,d6]@13 ~, ~@7 [ab4,c5,eb5]@10 ~@31, ~@7 [eb3,c4]@3 ~@14]/2", // C5 Bb Dm Abmaj7 Bb Ab Cm
  J: "[~@20 [c3,g3,c4,c6,e6,g6,c7]@37 ~@15]/3", // C
})).s("gm_piano").gain(0.4)

// other · pizzicato strings · "Fagot"
const pizzicato_strings = note("<~@20 A@7 B@6 ~@23>".pickRestart({
  A: "[~@13 c4@32 bb3@32 ab3@32 bb3@32 c4@27]/7", B: "[~@5 bb3@32 ab3@32 bb3@64 ~@11]/6",
})).s("gm_pizzicato_strings").gain(0.2)

// other · tremolo strings · "Trompeta en Mi♭"
const tremolo_strings = note("<~@25 A@8 ~@23>".pickRestart({
  A: "[~@5 eb4@8 f4@8 g4@48 ab4@8 bb4@8 c5@32 d5@16 eb5@8 f5@40 ~@11]/8",
})).s("gm_tremolo_strings").gain(0.3)

// other · pizzicato strings · "Trompa en Mi♭"
const pizzicato_strings_2 = note("<~@19 A@8 B@4 C@2 ~@23>".pickRestart({
  A: "[~@21 c8@16 eb4@32 d4@32 c4@32 d4@32 eb4@27]/8", B: "[~@5 d4@32 c4@32 d4@20 bb3@4 d4@3]/4",
  C: "[~ f4@4 ~@16 c8@16 ~@11, ~@5 bb4@32 ~@11]/2",
})).s("gm_pizzicato_strings").gain(0.25)

// other · tremolo strings · "Trompa en Mi♭"
const tremolo_strings_2 = note("<~@20 A@7 B@4 C@2 ~@23>".pickRestart({
  A: "[~@13 c4@32 bb3@32 ab3@32 bb3@32 c4@27]/7", B: "[~@5 bb3@32 ab3@32 bb3@20 bb3@4 d4@3]/4",
  C: "[~ f4@4 bb4@32 ~@11]/2",
})).s("gm_tremolo_strings").gain(0.2)

// other · string ensemble 1 · "Violines"
const string_ensemble_1 = note("<~@7 A@8 B@3 ~@8 C D@2 E@4 ~@23>".pickRestart({
  A: "[~@5 c5@12 g4@4 c5@12 g4@4 bb4@24 g4@8 ab4@16 eb5@8 f5@8 g5@16 c5@16 ~@8 eb5@8 d5@8 c5@8 d5@16 bb4@11]/8",
  B: "[~@5 a4@24 g4@8 bb4@32 ~@3]/3", C: "~@13 c4@4 g4@4 ~@3", D: "[~ c4@4 g4@32 ~@11]/2",
  E: "[~@5 c4@4 g4@4 ~@4 c4@4 g4@64 ~@11]/4",
})).s("gm_string_ensemble_1").gain(0.3)

// other · string ensemble 1 · "Violonchelos"
const string_ensemble_1_2 = note("<~@7 A@8 B C@2 ~@2 D@7 E@6 ~@23>".pickRestart({
  A: "[~@5 ab2@24 eb3@4 ab2@4 g2@32 f2@32 e2@32 ab2@24 eb3@4 ab2@4 g2@20 d3@4 g3@3]/8", B: "~ g2@4 f2@19",
  C: "[~ c3@4 f3@4 eb3@4 db3@32 ~@3]/2", D: "[~@13 c3@32 bb2@32 ab2@32 g2@32 c3@27]/7",
  E: "[~@5 bb2@32 ab2@32 bb2@64 ~@11]/6",
})).s("gm_string_ensemble_1").gain(0.35)

// bass · contrabass · "Contrabajo"
const bass = note("<~@7 A@8 B C@2 ~@2 D@7 E@6 ~@23>".pickRestart({
  A: "[~@5 ab1@24 eb2@4 ab1@4 g1@32 f1@32 e1@32 ab1@24 eb2@4 ab1@4 g1@27]/8", B: "~ g1@4 f1@19",
  C: "[~ c2@4 f2@4 eb2@4 db2@32 ~@3]/2", D: "[~@13 c2@32 bb1@32 ab1@32 g1@32 c2@27]/7",
  E: "[~@5 bb1@32 ab1@32 bb1@64 ~@11]/6",
})).s("gm_contrabass").gain(0.15)

stack(
  oboe, piano, pizzicato_strings, tremolo_strings, pizzicato_strings_2, tremolo_strings_2, string_ensemble_1,
  string_ensemble_1_2, bass
)

More by Nintendo