Strudelify

Love's Vagrant - Bravely Default

REVO

KeyA majorTempo136 bpm
0:00/0:00
// Love's Vagrant - Bravely Default — REVO
// 136 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "Piano" piano (copy of ch 1 "Piano" piano)
// note: Transcription provider: pdmx. https://musescore.com/score/5899908; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 51 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(136/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 · piano
const piano = note(`<
  A@2 B C D E F G H I@3 D E F G H J K L M@2 N O P Q R S T U V O W X Y Z AA AB D E F G H J K L M@2 AC AD AE
>`.pickRestart({
  A: "[f#2,f#3,a3,c#4,f#4,a4,c#5]@2 [f#4,a4,c#5] ~@3 [f#2,f#3,a3,c#4]@2 ~@2 [f#4,a4,c#5]@2 [e2,e3,g#3,b3]@2 ~@2, ~@6 [f#4,a4,c#5] ~@5 [e4,g#4,b4] ~@3", // F#m E F#m E
  B: "[a2,f#3,a3,c#4,a4,c#5,f#5]@2 [a4,c#5,f#5] ~@3 [a2,f#3,a3,c#4]@2 ~@2 [a4,c#5,f#5]@2 [g#2,e3,g#3,b3]@2 ~@2, ~@6 [a4,c#5,f#5] ~@5 [g#4,b4,e5] ~@3", // F#m E F#m E
  C: "[a2,f#3,a3,c#4,a4,c#5,f#5] ~ [a2,f#3,a3,c#4,a4,c#5,f#5] ~@3 [a2,f#3,a3,c#4,a4,c#5,f#5]@2 ~@8", // F#m
  D: "[f#2,f#3,a3,c#4,a4,c#5]@2 ~@2 b4@2 [f#2,f#3,a3,c#4]@2 ~@2 c#5 d5 [a2,f#3,a3,c#4]@2 b4@2, ~@6 [a4,c#5] ~@5 c#5 ~@3", // F#m A
  E: "[b2,f#3,b3,d4,f#4,c#5]@2 ~@2 b4@2 [b2,f#3,b3,d4]@2 ~@4 [f#2,f#3,b3,d4]@2 a4 b4, ~@6 f#4 ~@9", // Bm
  F: "[e2,e3,g#3,b3,g#4,c#5]@2 ~@2 b4@2 [e2,e3,g#3,b3]@2 ~@2 c#5 d5 [g#2,e3,g#3,b3]@2 d5@2, ~@6 [g#4,c#5] ~@5 [c#5,e5] ~@3", // C#m7 E C#5 C#m
  G: "[a2,e3,a3,c#4,a4,c#5]@2 ~@2 b4@2 [a2,e3,a3,c#4]@2 ~@4 [c#3,e3,a3,c#4]@2 a4 b4, ~@6 c#5 ~@9", // A
  H: "[d3,f#3,a3,d4,a4,c#5]@2 ~@2 b4@2 [d3,f#3,a3,d4]@2 ~@2 c#5 d5 [f#2,f#3,a3,d4]@2 b4@2, ~@6 [a4,c#5] ~@5 c#5 ~@3", // Dmaj7 D A
  I: "[[g#2,g#3,b3,d4,g#4,c#5]@2 ~@2 b4@2 [g#2,g#3,b3,d4]@2 ~@2 f#4 ~ [g#2,g#3,b3,d4]@2 ~@2 [c#3,e3,g#3]@2 ~@4 [c#3,e3,g#3,c#4]@2 [d3,f#3,a3,d4]@2 ~@2 [d3,f#3,a3,d4,f#4]@2 ~@2 [e2,e3,g#3,b3]@2 ~@4 [e2,e3,g#3,b3,d4]@2 [g#2,f3,g#3,b3,f4]@2 ~@2 [g#2,f3,g#3,b3,b4]@2 ~@2, ~@6 g#4 ~@5 b4 ~ g#4@32 ~@2, ~@8 c#4@3 ~@5 e4@3 ~@5]/3", // G#dim C#m D E E7 Fdim
  J: "[f#2,f#3,a3,d4,f#4,c#5]@2 ~@2 b4@2 [a2,f#3,a3,d4]@2 ~@2 c#5 d5 [d3,f#3,a3,d4]@2 d5@2, ~@6 [f#4,c#5] ~@5 e5 ~@3", // Dmaj7 D F#5
  K: "[g#2,g#3,b3,d4,c#5]@2 ~@2 [g#2,g#3,b3,d4] ~ [g#2,g#3,b3,d4] ~ [e2,e3,g#3,b3]@4 [g#2,g#3,b3,d4]@2 ~@2, ~@2 b4 c#5@5", // G#dim E G#dim
  L: "[c#3,e3,g#3,c#4]@2 ~@4 c#5!2 [g#2,f3,g#3,b3,c#5]@3 ~ [g#2,f3,g#3,b3]@2 f5 ~, ~@11 g#5@3 ~@2", // C#m C#7 Fdim
  M: "[[f#2,f#3,a3,c#4]@2 [f#2,f#3,a3,c#4] ~@3 [f#2,f#3,a3,c#4] ~@3 [f#2,f#3,a3,c#4]@2 [e2,e3,g#3,b3] ~@3 [f#2,f#3,a3,c#4]@2 [f#2,f#3,a3,c#4] ~@3 [f#2,f#3,a3,c#4] ~@3 [f#2,f#3,a3,c#4]@2 [e2,e3,g#3,b3] ~@3, g#5@6 f#5@17 ~@9]/2", // F#m E F#m E
  N: "[f#2,f#3,a3,c#4,f#4]@2 g#4 ~ a4 ~@5 f#4@2 [f#2,f#3,a3,c#4,g#4]@2 a4 ~", // F#m
  O: "f#4 g#4@2 f#4@3 e4 ~ [c#4,d4] d4@2 c#4 [g#2,f3,g#3,c#4]@2 b3 ~, [e2,e3,g#3,b3] ~@3 [d3,f#3,a3] ~@3", // Dmaj7 C# E D
  P: "[f#2,f#3,a3,c#4]@2 f#4@2 a4 ~@5 f#4@2 [f#2,f#3,a3,c#4]@2 a4 ~, ~@12 g#4 ~@3", // F#m
  Q: "[b4,c#5] b4@2 a4@3 b4 ~ [a2,e3,a3,c#4]@2 ~@2 [a#2,e3,a#3,c#4]@2 g#4 a#4, [e2,e3,g#3,b3] ~@3 c#5@3 ~", // Bsus2 A A#dim E
  R: "[b2,f#3,b3,d4,b4]@2 c#5 ~ d5 ~@5 b4@2 [e2,e3,g#3,b3,c#5]@2 d5 ~", // Bm C#m7
  S: "[c#5,d5] c#5@2 b4@3 c#5 ~@5 [d3,f#3,a3,d4]@2 g#4 a4, [a2,e3,a3,c#4] ~@3 a4@3 ~", // Dmaj7 D A
  T: "[e2,e3,g#3,b3]@2 ~@4 [e2,e3,g#3,b3]@2 ~@2 [a4,c#5]@2 [b4,d5] ~ [f4,g#4]@2, b4@6 b4 ~@5 g#2@4", // E A Bm Fm
  U: "[c#3,e3,g#3,c#4,e4,g#4,c#5] ~@3 c#5 d5 b4@2 [c#3,c#5]@2 a4@2 [b2,b4]@2 g#4@2, ~@2 d3 ~@5", // C#m C# B
  V: "[f#2,f#3,a3,c#4,f#4]@2 g#4 ~ a4 ~ [f#2,f#3,a3,c#4]@2 ~@2 f#4@2 [f#2,f#3,a3,c#4,g#4]@2 a4 ~", // F#m
  W: "[f#2,f#3,a3,c#4]@2 f#4@2 a4 ~ [f#2,f#3,a3,c#4]@2 ~@2 f#4@2 [f#2,f#3,a3,c#4]@2 a4 ~, ~@12 g#4 ~@3", // F#m
  X: "[b4,c#5] b4@2 a4@3 e5 ~ [a2,e3,a3,c#4]@2 ~@2 [a#2,e3,a#3,c#4]@2 g#4 a#4, [e2,e3,g#3,b3] ~@3 c#5@3 ~", // Bsus2 A A#dim E
  Y: "[b2,f#3,b3,d4,b4]@2 c#5 ~ d5 ~ [b2,f#3,b3,d4]@2 ~@2 f#5@2 [e2,e3,g#3,b3,e5]@2 d5 ~", // Bm E
  Z: "[c#5,d5] c#5@2 b4@3 [a2,e3,a3,c#4]@2 ~@4 [d3,f#3,a3,d4]@2 g#4 a4, [a2,e3,a3,c#4]@2 ~@4 c#5 ~ a4@6 ~@2", // Dmaj7 A D A
  AA: "[e2,e3,g#3,b3]@2 ~@4 [e2,e3,g#3,b3,b4] ~ [e2,e3,g#3,b3,b4]@2 c#5 ~ d5@2 f#5@2, b4@3 ~@3 f#2@2", // E
  AB: "[c#3,f3,g#3,c#4] ~@3 c#5 d5 b4@2 [c#3,c#5]@2 a4@2 [b2,b4]@2 g#4@2, f5 ~ d3 ~@5", // C# B
  AC: "[f#2,f#3,a3,c#4,a4]@2 [f#2,f#3,a3,c#4] ~@3 [f#2,f#3,a3,c#4] ~@3 [f#2,f#3,a3,c#4]@2 [e2,e3,g#3,b3] ~@3, ~ b4 c#5@6", // F#m E
  AD: "[c#3,c#6]@3 ~ b2@2 a5 ~ [a2,g#5]@3 ~ g#2@2 e5 ~, ~@3 b5@3 ~@5 f#5@3 ~@2", // C# Amaj7
  AE: "~@2 [f#2,f#3,a3,c#4,f#4,c#5,f#5]@2 [f#2,f#3,a3,c#4,f#4,c#5,f#5] ~ [e2,e3,g#3,b3,e4,b4,e5]@2 [f#2,f#3,a3,c#4,f#4,c#5,f#5]@2 ~@6", // F#m E F#m
})).s("gm_piano").gain(0.48).pan(0)

stack(piano)