Strudelify

fairy tail - main theme

amr-S

KeyD minorTempo120 bpm
0:00/0:00
// fairy tail - main theme — amr-S
// 120 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "Violin" violin (copy of ch 1 "Piano" piano); ch 6 "Flute" flute (copy of ch 5 "Acoustic Guitar" acoustic guitar steel)
// note: Transcription provider: pdmx. https://musescore.com/score/1838426; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 66 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel = note(`<
  ~@8 A B C@2 D@3 E F G H I F J K L D E M N O P Q R S T C B C U V W X Y V Z X AA V W X Y V Z X AA C B C U C B C U C@2 AB
  AC
>`.pickRestart({
  A: "c5@2 e5 d5 c5@2 a4@2 g4@2 a4 c5 d5@2 c5@2", B: "d5@2 e5 d5 c5@2 a4@2 g4@2 a4 c5 f5@2 e5@2",
  C: "d5@2 e5 d5 c5@2 a4@2 g4@2 a4 c5 d5@2 c5@2", D: "d4@2 e4 f4 e4@2 g4@2 f4@2 a4@2 g4 f4 e4@2",
  E: "d5@2 e5 f5 e5@2 g5@2 f5@2 a5@2 g5 f5 e5@2", F: "d4 a4", G: "a4@6 g4 c4", H: "f4 e4", I: "d4@2 e4 c4",
  J: "c5@6 a4 f4", K: "g4 c4 f4 e4", L: "d4 c4", M: "d5 a5", N: "a5@6 g5 c5", O: "f5 e5", P: "d5@2 e5 c5", Q: "g5 d6",
  R: "c6@6 a5 f5", S: "g5 c5 f5 e5", T: "d5 c5", U: "f5@2 e5 d5 e5@2 d5 c5 a4 c5 d5 c5 f5@2 e5@2",
  V: "d5@3 e5 f5@2 e5 d5", W: "c5@2 a5@4 g5 f5", X: "g5@3 a5 g5@2 f5 e5", Y: "d5 e5", Z: "c5 a4 c6@2 a5@2 g5 f5",
  AA: "d5@6 e5 f5 e5@4 c5@4", AB: "a5", AC: "d5!3 ~@13",
})).s("gm_acoustic_guitar_steel").gain(0.3)

// other · church organ · "Organ"
const church_organ = note(`<
  ~@4 A B@2 C A B@3 D@3 B D E F D@2 A G D@2 B@2 H C B I J I B@4 C B A I B@2 A I B@2 A I B@2 A I B@4 C B@3 C B@2 H B
>`.pickRestart({
  A: "c5", B: "d5", C: "f5", D: "d4", E: "a4", F: "f4", G: "g4", H: "a5", I: "g5", J: "c6",
})).s("gm_church_organ").gain(0.3)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<~@4 [x!3 ~]!60 x!2>").gain(0.43)

// drums · woodblocks
const woodblocks_2 = s("woodblock:4").struct("<~@4 [~@3 x]!60 [~ x] ~>").gain(0.43)

stack(acoustic_guitar_steel, church_organ, woodblocks, woodblocks_2)