Strudelify

BTS - DNA

dlalsrbgn

KeyE majorTempo130 bpm
0:00/0:00
// BTS - DNA — dlalsrbgn
// 130 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5535578; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 50 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/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 · piano · "피아노 , �� �Ǻ�"
const piano = note("<A B A B A B A B A B A B A B A B A B A B A B C B D@8 E@8 F G H I J G H I ~@2>".pickRestart({
  A: "c#5 b4 c#5 c#5@3 g#5 a5", B: "b5 a5 g#5 ~@5", C: "c#5 b4 c#5!2 ~@2 g#5 a5",
  D: "[~@3 c#2@3 c#2 g#1@2 g#1 a1@4 a1@3 b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1@3 b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1@3 b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1@2]/8",
  E: "[~ b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1@3 b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1@3 b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1@3 b1@2 c#2@3 c#2 g#1@2 g#1 a1@4 a1 ~]/8",
  F: "a1@2 b1@3 ~@5 e5@3 ~@3", G: "~@2 b4@3 ~@11", H: "c#4@2 e4@2 f#4@2 f#4@3 f#4@3 f#4@2 f#4@2",
  I: "~ f#4@3 f#4@2 e4@2 c#4@8", J: "~@10 e5@3 ~@3",
})).s("gm_piano").gain(0.5)

// other · piano · "피아노 , Track2"
const piano_2 = note("<A B C B C B C B C B C B C B C B C B C B C B D B E@8 F@8 G H I H I H I J K ~>".pickRestart({
  A: "~@3 g#3@4 d#3", B: "d#3 ~ a3@4 a3@2", C: "~ b3@2 g#3@4 d#3", D: "~ b3@2 g#3 ~@3 d#3",
  E: "[~ b3@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@3 b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@3 b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@3 b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@2]/8",
  F: "[~ b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@3 b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@3 b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4@3 b4@2 g#4@2 g#4@2 g#4@2 g#4 a4@4 a4 ~]/8",
  G: "~ b4@2 c#3 c#3@3 g#2", H: "g#2@6 a2@9 ~", I: "a2 b2@2 c#3 c#3@3 g#2", J: "g#2@3 a2@5", K: "~ b2@7",
})).s("gm_piano").gain(0.5)

// other · piano · "피아노 , Track3"
const piano_3 = note("<A B C B C B C B C B C B C B C B C B C B C B D B E@8 F@8 G H I H I H I J K ~>".pickRestart({
  A: "~@3 c#2@4 g#2", B: "g#2!2 a2@4 a2@2", C: "a2 b2@2 c#2@4 g#2", D: "a2 b2@2 c#2 ~@3 g#2",
  E: "[a2 b2@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@3 f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@3 f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@3 f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@2]/8",
  F: "[~ f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@3 f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@3 f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4@3 f#4@2 e4@2 e4@2 d#4@2 d#4 e4@4 e4 ~]/8",
  G: "~ f#4@2 c#2 c#2@3 g#1", H: "g#1@6 a1@9 ~", I: "a1 b1@2 c#2 c#2@3 g#1", J: "g#1@3 a1@5", K: "~ b1@7",
})).s("gm_piano").gain(0.5)

// other · piano · "피아노 , Track5"
const piano_4 = note("<~@21 A B@3 ~@8 C D C D ~@3 E F ~@2 E F ~@4>".pickRestart({
  A: "~@2 c#5@3 ~@11", B: "[~@2 c#5@3 ~@9 c#4 c#4@2 b3 c#4 c#4@2 b3 c#4 c#4@2 b3 c#4!2 c#4@2 c#4@4 ~@14]/3",
  C: "~@6 g2 c#3", D: "d#3 e3 d#3 c#3@4 ~", E: "~@10 c#6@3 ~@3", F: "~@2 g#5@3 ~@11",
})).s("gm_piano").gain(0.5)

stack(piano, piano_2, piano_3, piano_4)