Strudelify

dragon ball z - we gotta power

Eliú Matheus Cardoso Maier

KeyG majorTempo120 bpm
0:00/0:00
// dragon ball z - we gotta power — Eliú Matheus Cardoso Maier
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 5/4 at bar 3, 3/4 at bar 4, 4/4 at bar 5) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 4 "Electric Guitar" named as a guitar, played on electric guitar clean (its violin patch is not one); ch 5 "Electric Guitar" named as a guitar, played on electric guitar clean (its pizzicato strings patch is not one); ch 6 "Electric Bass" named as a bass, played on electric bass finger (its tremolo strings patch is not one); ch 7 "Violin" named as a string part, played on violin (its trumpet patch is not one); ch 14 "Violin" named as a string part, played on violin (its brass section patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/178958; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 75 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Electric Guitar.
setcpm(120/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 · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note(`<
  ~@2 A B C@2 D E D E F G H I@2 J K@2 L M N O P J K@2 L Q N R S@2 T U S@2 T U V@2 W X V Y Z@2 AA AB AC AD AE AF AG AH
  AI@2 V@2 W X V Y Z@2 AJ AK AC AD AE AF AG AH AL AM AN
>`.pickRestart({
  A: "[g4,d5]!2 ~ [g4,d5] [c5,g5] ~@2 [g4,d5] ~ [c5,g5] ~@2 [d5,a5] ~@2 [c5,g5]", // G5 C5 G5 C5 D5 C5
  B: "~ [d5,a5] ~@2 [e5,b5] ~@2 [d5,a5] ~ [e5,b5] ~@2 [g5,d6] ~@2 [g5,d6]", C: "[g5,d6]",
  D: "[g3,d4,g4,g5]!2 ~ [g3,d4,g4,g5] [g3,d4,g4,g5]@4 ~@2 [g3,d4,g4,g5]@2 ~@2 [g3,d4,g4,g5]@2", // G5
  E: "[g3,d4,g4,g5]!2 ~ [g3,d4,g4,g5] [g3,d4,g4,g5]@4 ~@4 [g3,d4,g4,g5]!2 ~ [g3,d4,g4,g5]", // G5
  F: "[g4,c5]@6 [f#4,b4] [g4,c5] [a4,d5]@6 [g4,c5] [a4,d5]", G: "[b4,e5]@6 [a4,d5] [b4,e5] [c5,f5]@8",
  H: "[g4,c5]@3 [g4,c5] g4@5 g4@3 g4@2 [g4,c5]@2, ~@2 c5@5 ~", // C5
  I: "[d5@16 [e2,b2]@2 e2!4 [e2,b2]@2 e2!4 [e2,b2]@2 e2!2, a4, ~ d5]/2", // E5
  J: "[d3,a3]@2 d3!4 [d3,a3]@2 d3!4 [d3,a3]@2 d3!2", K: "[c3,g3]@2 c3!4 [c3,g3]@2 c3!4 [c3,g3]@2 c3!2",
  L: "[g2,d3,g3] g2!2 [d3,a3,d4] d3!2 [d3,a3,d4] d3", M: "[c3,g3,d4] c3!2 [d3,a3,d4] d3!2 [d3,a3,d4] d3",
  N: "e2!2 [g2,d3] e2!2 [g2,d3] e2!2", O: "b2 d3 b2 a#2@2 a2@2 g2", P: "[e2,b2]@2 e2!4 [e2,b2]@2 e2!4 [e2,b2]@2 e2!2",
  Q: "[c3,g3,c4] c3!2 [d3,a3,d4] d3!2 [d3,a3,d4] d3", R: "e2 [e3,g#3,d4,g4] ~ [e3,g#3,d4]@3 ~@2, ~@3 g4@4 ~",
  S: "[[c3,g3,c4] c3!2 [c3,g3,c4] c3!3 [d3,a3] [d3,a3] d3!4 [d3,a3,d4] d3!2, ~@7 d4@2 ~@7]/2", // C5 D5
  T: "[g2,d3,g3] g2!2 [g2,d3,g3] g2!2 [g2,d3,g3] g2", U: "[b2,f#3,b3] b2!2 [b2,f#3,b3] b2!2 [b2,f#3,b3] b2",
  V: "e2@2 e2!2 e2@2 e2!2 e2@2 e2!2 e2@2 e2!2", W: "[d3,a3,d4] [e3,b3,e4] ~ [b3,e4]@4 [b3,e4], ~@3 e3@5",
  X: "[e3,b3,e4] [b2,f#3,b3] ~ [f#3,b3]@4 [f#3,b3], ~@3 b2@5", // E5 B5
  Y: "[e2,b2]@2 e2!2 e2@2 e2!2 [e2,b2]@2 e2!2 e2@2 [e2,b2,e3]@2", // E5
  Z: "[[b2,f#3,b3]!2 ~ [d3,a3,d4] ~ [e3,b3,e4] ~ [e3,b3] [e3,b3] b2 d3 b2 g3 f#3 e3 d3, ~@7 e4@2 ~@7]/2", // B5 D5 E5
  AA: "[c3,g3,c4]@2 c3!4 [c3,g3,c4]@2 c3!4 [c3,g3,c4]@2 c3!2", // C5
  AB: "[c3,g3,c4]@2 c3!4 [c3,g3,c4,d4]@2 c3!4 [c3,g3,c4]@2 c3!2", // C5 Csus2 C5
  AC: "[d3,a3,d4,a4]@2 d3!4 [d3,a3,d4,a4]@2 d3!4 [d3,a3,d4]@2 d3!2", // D5
  AD: "[b2,f#3,b3,f#4]@2 b2!4 [b2,f#3,b3,f#4]@2 b2!4 [b2,f#3,b3]@2 b2!2", // B5
  AE: "[e2,b2,e3,b3]@2 e2!2 e2@2 e2!6 [e2,b2,e3]@2 e2@2", // E5
  AF: "[e2,b2,e3,b3]@2 e2!4 [e2,b2,e3,b3]@2 e2!4 [e2,b2,e3]@2 e2!2", // E5
  AG: "[b2,f#3,b3]@3 [b2,f#3,b3]@2 [b2,f#3,b3]@3 [d3,a3,d4]@3 [d3,a3,d4]@2 [d3,a3,d4]@3", // B5 D5
  AH: "b2 [b2,f#3,b3] ~ b2 [b2,f#3,b3] ~@3", // B5
  AI: "[[e3,b3,e4]@6 [d3,a3,d4]@6 [b2,f#3]@4 [b2,f#3]@3 [b2,f#3]@2 [a#2,f3]@3 [a2,e3]@3 [g2,d3]@2 [e2,b2]@3, ~@12 b3@7 ~@13]/2", // E5 D5 B5 A#5 A5 G5 E5
  AJ: "[c3,g3,c4,g4]@2 c3!4 [c3,g3,c4,g4]@2 c3!4 [c3,g3,c4]@2 c3!2", // C5
  AK: "[c3,g3,c4,g4]@2 c3!4 [c3,g3,c4,g4]@2 c3!4 [c3,g3,c4,d4]@2 c3!2", AL: "[e3,b3,e4]@3 [d3,a3,d4]@3 [b2,f#3,b3]@2",
  AM: "[a2,d3,g3,b3]@2 [e3,g#3,d4,g4]@6 a#2@3 a2@2 g2@3", AN: "[e3,b3,e4] [e2,b2,e3]@3",
})).s("gm_electric_guitar_clean").gain(0.3)

// chords · electric guitar clean · "Electric Guitar"
const electric_guitar_clean_2 = note(`<
  ~@20 A ~@7 A ~ B ~ C ~@5 D E ~@2 D F ~@6 D F ~@4 D E ~@2 D F ~@6 D F ~ G ~ H ~
>`.pickRestart({
  A: "~@3 e2 ~@3 e2 ~@8", B: "~@6 g3 ~", C: "~@7 d3", D: "~ g3", E: "b3 d4", F: "~ d4", G: "~@3 d3 ~@4",
  H: "~@7 [e3,g#3,d4]", // E7
})).s("gm_electric_guitar_clean").gain(0.3)

// bass · electric bass finger · "Electric Bass"
const bass = note(`<
  A B C@2 D E F G F G H I D E J K L@2 M N O P J K L@2 M N O Q R@2 S T R@2 S U J@2 V W J@2 X@2 L@2 K T L@2 Y Z AA@2 J@2 V
  W J@2 X@2 L@2 K T L@2 Y Z AB@2 AC
>`.pickRestart({
  A: "g1 d2", B: "c2 b1", C: "b1/2", D: "d3 c3 b2 a2", E: "g2 f#2 e2 d2", F: "g1!2 ~ g1 g1@4 ~@2 g1@2 ~@2 g1@2",
  G: "g1!2 ~ g1 g1@4 ~@4 g1!2 ~ g1", H: "c2 d2", I: "e2 f2", J: "e1!8", K: "d2!8", L: "c2!8", M: "g1!3 d2!5",
  N: "c2!3 d2!5", O: "e1!2 g1 e1!2 g1 e1!2", P: "b1 d2 b1 a#1@2 a1@2 g1", Q: "e1 e2 ~ e2@4 ~", R: "[c2!7 d2@2 d2!7]/2",
  S: "g1!8", T: "b1!8", U: "b1!2 ~ b1@5", V: "d2 e2 ~ e2@5", W: "e2 b1 ~ b1@5",
  X: "[b1!2 ~ d2 ~ e2 ~ e2@2 b1 d2 b1 g2 f#2 e2 d2]/2", Y: "b1@3 b1@2 b1@3 d2@3 d2@2 d2@3", Z: "b1!5 ~@3",
  AA: "[e2@6 d2@6 b1@7 b1@2 a#1@3 a1@3 g1@2 e1@3]/2", AB: "[e2@6 d2@6 b1@6 e2@6 a#1@3 a1@2 g1@3]/2", AC: "e1 ~@3",
})).s("gm_electric_bass_finger").gain(0.3)

// chords · violin
const violin = note(`<
  A B C@2 D@2 E ~ E F G H I J@2 ~@2 K ~@2 L M ~@6 L ~@9 N@2 ~ N O P ~@2 O P ~@8 Q@2 ~@2 O P ~@13
>`.pickRestart({
  A: "[g3,g4] [d4,d5]", B: "[c4,c5] [b3,b4]",
  C: "[[g4,d5]!2 ~ [g4,d5] [c5,g5] ~@2 [g4,d5] ~ [c5,g5] ~@2 [d5,a5] ~@2 [c5,g5] ~ [d5,a5] ~@2 [e5,b5] ~@2 [d5,a5] ~ [e5,b5] ~@2 [g5,d6] ~@2 [g5,d6], [b3,b4]@5 [b3,b4]@3]/2", // G5 C5 G5 C5 D5 C5 D5 E5 …
  D: "[[d5,g5,d6] [d5,g5,d6], d4]/2", E: "g4 [b4,d5] [g5,b5] [d6,g6] ~@12", F: "~@12 [d5,g5]!2 ~ [d5,g5]",
  G: "~@6 [f#5,b5] [g5,c6] ~@6 [g5,c6] [a5,d6], [c4,g4,g5,c6] [d4,a4,a5,d6]", // B5 C5 D5 C5 D5
  H: "~@6 [a5,d6] [b5,e6] [f4,c5,c6,f6]@8, [e4,b4,b5,e6] ~", // D5 E5 F5 E5
  I: "[g5,c6]@3 [g5,c6] g5@5 g5@3 g5@2 [g5,c6]@2, [c4,g4], ~@2 c6@5 ~", J: "[d4,a4,a5,d6]",
  K: "[c5,c6] [b4,b5] [a4,a5] [b4,b5]@2 [a4,a5] [b4,b5] [c5,c6]", L: "e4@2 e4!2 g4@2 e4!2 e4@2 g4@2 e4@2 e4@2",
  M: "b3 d4 b3 a#3@2 a3@2 g3", N: "e3@2 e3!2 e3@2 e3!2 e3@2 e3!2 e3@2 e3!2",
  O: "[e3,e4]@2 [e3,e4]!2 [e3,e4]@2 [e3,e4]!2 [e3,g4]@2 [e3,g4]!2 [e3,g4]@2 [e3,g4]!2", // E Em
  P: "[e3,b4]@2 [e3,b4]!2 [e3,b4]@2 [e3,b4]!2 [e3,d5]@2 [e3,d5]!2 [e3,d5]@2 [e3,d5]!2", // E5 E7
  Q: "e2@2 e2!2 e2@2 e2!2 e2@2 e2!2 e2@2 e2!2",
})).s("gm_violin").gain(0.3)

// other · violin
const violin_2 = note("<A B@3 C@2 ~@24 D@2 E F D@2 E F ~@37>".pickRestart({
  A: "g2 d3", B: "[c3 b2@5]/3", C: "d2/2", D: "[c3@7 d3@9]/2", E: "g2", F: "b2",
})).s("gm_violin").gain(0.3)

// other · violin
const violin_3 = note(`<
  ~@2 A B C@2 ~@3 D E F G H@2 ~@2 I ~@3 J K ~@19 L M ~ N O P Q R S T ~@8 L M ~ N O P Q R S T ~@5
>`.pickRestart({
  A: "[g4,d5]!2 ~ [g4,d5] [c5,g5] ~@2 [g4,d5] ~ [c5,g5] ~@2 [d5,a5] ~@2 [c5,g5]", // G5 C5 G5 C5 D5 C5
  B: "~ [d5,a5] ~@2 [e5,b5] ~@2 [d5,a5] ~ [e5,b5] ~@2 [g5,d6] ~@2 [g5,d6]", C: "[d6 d6, g5]/2",
  D: "~@12 [d5,g5]!2 ~ [d5,g5]", E: "[g5,c6]@6 [f#5,b5] [g5,c6] [a5,d6]@6 [g5,c6] [a5,d6]",
  F: "[b5,e6]@6 [a5,d6] [b5,e6] [c6,f6]@8", G: "[g5,c6]@3 [g5,c6] g5@5 g5@3 g5@2 [g5,c6]@2, ~@2 c6@5 ~",
  H: "[d6 d6, a5]/2", I: "c6", J: "[b3,b4] [d4,d5] [b3,b4] [a#3,a4]@2 [a3,a4]@2 [g3,g4]", K: "[e3,e4]",
  L: "g5 e5 g5 e5 g5 e5 c5 g4 g5 e5 g5 e5 g5 e5 c5 a4", M: "b5 g5 b5 g5 b5 g5 e5 b4 d6 b5 d6 b5 d6 b5 g5 d5",
  N: "~ g3 b3 g3 e4 d4 c4 b3", O: "g5 e5 c5 g4 g5 e5 c5 g4 g5 e5 c5 g4 g5 e5 c5 g4",
  P: "g5 e5 c5 g4 a5 e5 c5 g4 g5 e5 c5 g4 e5 c5 g4 c5", Q: "a5 f#5 d5 a4 a5 f#5 d5 a4 a5 f#5 d5 a4 a5 f#5 d5 a4",
  R: "b5 g5 e5 b4 b5 g5 e5 b4 b5 g5 e5 b4 b5 g5 e5 b4", S: "e4 g4", T: "b4 d5",
})).s("gm_violin").gain(0.3)

stack(electric_guitar_clean, electric_guitar_clean_2, bass, violin, violin_2, violin_3)