Strudelify

Ultra Instinct Theme

Dragon Ball Super

KeyD majorTempo100 bpm
0:00/0:00
// Ultra Instinct Theme — Dragon Ball Super
// 100 bpm, 2/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5981822; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 123 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/2)

// 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 · french horn · "B♭ Trumpet 2"
const french_horn = note(`<
  A@2 B@2 A@2 ~@9 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C D E@2 C D F G C D E@2 C D F G H@3 I J@2 K@2 L@3 M N@2 O@2 P Q@3 P
  Q@3 R S@3 R S@3 P Q@3 P Q@3 R S@3 R T U V ~@2 W X Y@4 ~@2 W X Y@4 Z AA@2 AB Z AA@2 AB AC@4
>`.pickRestart({
  A: "[c#4,c#5]@3 ~@5 [c#4,c#5]@3 ~@5", B: "[d4,d5]@3 ~@5 [d4,d5]@3 ~@5", C: "c#5@3 ~@5 c#5@3 ~ a3@2 a3@2",
  D: "a3@5 ~@3 c#5@3 a3@5, c#5@3 ~@2 a3@5 ~@6", E: "[d5@3 ~@5 d5@3 ~@5 d5@3 ~@5 d5@3 ~@5, d4]/2",
  F: "g4 f4, d5@3 ~@5 d5@3 ~@5", G: "e4 f4, d5@3 ~@5 d5@3 ~@5", H: "[c#4 d4 e4 f4]/3", I: "e4 d4",
  J: "[c#4@3 d4@3 e4@2]/2", K: "[d4@3 e4@3 f4@2]/2", L: "[f#4 g4 a4 a#4]/3", M: "a4 g4", N: "[f#4@3 g4@3 a4@2]/2",
  O: "[a#4@3 c5@3 d5@2]/2", P: "e4 f4 g4 a4 e4 f4 g4 a4, f5",
  Q: "[e4 f4 g4 a4 e4 f4 g4 a4 e4 f4 g4 a4 e4 f4 g4 a4 e4 f4 g4 a4 e4 f4 g4 [a4,e5], e5@9 ~ d#5 ~]/3", // A5
  R: "d4 e4 f4 g4 d4 e4 f4 g4, g5",
  S: "[d4 e4 f4 g4 d4 e4 f4 g4 d4 e4 f4 g4 d4 e4 f4 g4 d4 e4 f4 g4 d4 e4 f4 [g4,d5], f5@9 ~ e5 ~]/3", // G5
  T: "d4 e4 f4 g4 d4 e4 f4 g4, f5", U: "[a4,a5]", V: "[e4,g#5]", W: "~@7 [e4,e5]", X: "[a4,a5]@7 [e4,e5]",
  Y: "[f4@7 g4 a4@24, a5]/4", Z: "[e4,a5]", AA: "[d#4,a5]/2", AB: "[d4,a5]@6 ~ [d#4,a5]", AC: "[e4,a5]/4",
})).s("gm_french_horn").gain(0.3)

// other · trumpet · "B♭ Trumpet 3"
const trumpet = note(`<
  ~@15 A@16 B C D@2 B C E F B C D@2 B C E F G@3 H I@2 J@2 K@3 L M@2 N@2 O P@3 O P@3 Q R@3 Q R@3 O P@3 O P@3 Q R@3 Q@4
  ~@2 S T U V@3 ~@2 S T U V@3 W X@2 Y W X@2 Y Z@4
>`.pickRestart({
  A: "e4 f4 g4 a4", B: "~@6 a4!2", C: "a4@5 a4@5 ~ a4@5", D: "d5/2", E: "g5 f5", F: "e5 f5", G: "[a3 a#3 c4 c#4]/3",
  H: "c4 a#3", I: "[a3@3 a#3@3 c4@2]/2", J: "[a#3@3 c4@3 c#4@2]/2", K: "[d4 d#4 f4 f#4]/3", L: "f4 d#4",
  M: "[d4@3 d#4@3 f4@2]/2", N: "[g4@3 a4@3 a#4@2]/2", O: "c#5", P: "[c#5@18 ~@2 c#5@2 ~ c#5]/3", Q: "d5",
  R: "[d5@18 ~@2 d5@2 ~ d5]/3", S: "~@7 e5", T: "a5@7 e5", U: "f5@7 g5", V: "a5/3", W: "e4", X: "d#4/2",
  Y: "d4@6 ~ d#4", Z: "e4/4",
})).s("gm_trumpet").gain(0.3)

// other · french horn · "French Horn 1"
const french_horn_2 = note(`<
  A B C D A B ~@9 A B C D A B E F A B C D A B E F A B C D A B E F A B C D A B E F ~@16 G H@3 G H@3 I J@3 I J@3 G H@3 G
  H@3 I J@3 I G K L ~@2 M N O@4 ~@2 M N O@4 K P@2 Q K P@2 Q O@4
>`.pickRestart({
  A: "a4@3 ~@5 g4@3 ~@5", B: "a#4@3 ~@5 a4@3 ~@5", C: "g4@3 ~@5 f4@3 ~@5", D: "e4@3 ~@5 f4@3 ~@5",
  E: "c5@3 ~@5 a#4@3 ~@5", F: "a4@3 ~@5 g#4@3 ~@5", G: "f4", H: "[e4@18 ~@2 d#4@2 ~ e4]/3", I: "g4",
  J: "[f4@18 ~@2 e4@2 ~ d4]/3", K: "a4", L: "g#4", M: "~@7 e4", N: "a4@7 e4", O: "a4/4", P: "a4/2", Q: "a4@6 ~ a4",
})).s("gm_french_horn").gain(0.45)

// other · trombone
const trombone = note(`<
  ~@15 A@32 ~@16 B C@3 B C@3 D E@3 D E@3 B C@3 B C@3 D E@3 D@4 ~@2 F G H I@3 ~@2 F G H I@3 J K@2 L J K@2 L M@4
>`.pickRestart({
  A: "e3 f3 g3 a3", B: "c#4", C: "[c#4@18 ~@2 c#4@2 ~ c#4]/3", D: "d4", E: "[d4@18 ~@2 d4@2 ~ d4]/3", F: "~@7 e3",
  G: "a3@7 e3", H: "f3@7 g3", I: "a3/3", J: "e4", K: "d#4/2", L: "d4@6 ~ d#4", M: "e4/4",
})).s("gm_trombone").gain(0.3)

// bass · trombone · "Bass Trombone"
const bass = note(`<
  ~@6 A B@2 C@2 B@2 C@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 F@8 G@7 H I@2 J@2 K@2 L@2 M@2
  L@2 K@2 N O I@2 J@2 K@2 L@2 M@2 P@2 Q@2 L@2 R@14 I@3 R@2 I@2 R@2 I S@4
>`.pickRestart({
  A: "d#2 f#2 e2 g2 f2 g#2 f#2 a2", B: "a2 f2 ~ f2 a2 f2 ~ f2", C: "a2 e2 ~ e2 a2 e2 ~ e2", D: "a2 c#3", E: "a2 d3",
  F: "e2@2 e2 f2 f#2!2 g2 g#2", G: "a2@2 a2 a#2 b2!2 c3 c#3", H: "d#3 e3 f3 f#3 g3 g#3 a3 a#3", I: "a2", J: "g2/2",
  K: "f2", L: "e2/2", M: "d3", N: "g2", O: "g#2", P: "c3/2", Q: "b2", R: "a2/2", S: "a2/4",
})).s("gm_trombone").gain(0.3)

// bass · tuba · "Euphonium"
const bass_2 = note("<~@15 A@32 ~@16 B@8 C@8 B@8 C@6 D E ~@2 F G H I@3 ~@2 F G H I@3 J K@2 L J K@2 L M@4>".pickRestart({
  A: "e3 f3 g3 a3", B: "e3 f3 g3 a3 e3 f3 g3 a3", C: "d3 e3 f3 g3 d3 e3 f3 g3", D: "a3", E: "b3", F: "~@7 e3",
  G: "a3@7 e3", H: "f3@7 g3", I: "a3/3", J: "e3", K: "d#3/2", L: "d3@6 ~ d#3", M: "e3/4",
})).s("gm_tuba").gain(0.3)

// other · tuba
const tuba = note(`<
  ~@6 A B@2 C@2 B@2 C@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 D@2 E@2 F@8 G@7 H I@2 J@2 K@2 L@2 M@2
  L@2 K@2 N O I@2 J@2 K@2 L@2 P@2 Q@2 R@2 L@2 S@14 I@3 S@2 I@2 S@2 I T@4
>`.pickRestart({
  A: "d#1 f#1 e1 g1 f1 g#1 f#1 a1", B: "a1 f1 ~ f1 a1 f1 ~ f1", C: "a1 e1 ~ e1 a1 e1 ~ e1", D: "a1 c#2", E: "a1 d2",
  F: "e1@2 e1 f1 f#1!2 g1 g#1", G: "a1@2 a1 a#1 b1!2 c2 c#2", H: "d#2 e2 f2 f#2 g2 g#2 a2 a#2", I: "a1", J: "g1/2",
  K: "f1", L: "e1/2", M: "d1", N: "g1", O: "g#1", P: "d2", Q: "c2/2", R: "b1", S: "a1/2", T: "a1/4",
})).s("gm_tuba").gain(0.3)

stack(french_horn, trumpet, french_horn_2, trombone, bass, bass_2, tuba)