Strudelify

Kokoro x Kiseki

Len & Rin Kagamine

KeyG majorTempo120 bpm
0:00/0:00
// Kokoro x Kiseki — Len & Rin Kagamine
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1744851; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 124 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 · [...]/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 · violin
const violin = note(`<
  A@2 B@2 C@2 D E F@2 G@2 H@3 I J@2 G@2 K@3 L M N O P Q N R@2 S T U V W X Y@2 ~ A@2 Z AA A@2 AB@2 AC AD Z AA AE N AF AG
  AH AI AJ@2 AK AL AJ@2 AK AL AJ AM AN AO AP@3 ~ AQ AR AS@2 AT@2 AU E AV@2 AW@2 ~@4 AX AY AR AZ@2 BA@2 BB BC BD@2 B@2
  C@2 D E BE@2 BF E BG@2 BH BI BJ BK BL BM BN BO BP BQ
>`.pickRestart({
  A: "[b4@3 b4!2 c5 b4 b4@2 a4 g4 a4@5]/2", B: "[a4@3 a4!2 b4 a4 a4@2 g4 f#4 g4@5]/2",
  C: "[b4@4 b4 c5 b4 b4@2 a4 g4 a4@5]/2", D: "a4@3 a4!2 b4 c5 f#4", E: "a4 g4 f#4 g4@5",
  F: "[~@2 e4 d4 c4 b3@2 c4@2 g4@2 c4@2 b3@2 c4]/2", G: "[~@2 g4!2 f#4 e4@2 f#4@2 d4@2 b3@2 d4@2 c4]/2",
  H: "[~@2 e4!2 d4 c4@2 d4@2 g4@2 d4@2 b3@2 c4@7 ~@2]/3", I: "~ g4 f#4 e4 ~ g4 f#4 e4",
  J: "[~@2 e4!2 d4 c4@2 d4@2 g4@2 d4@2 b3@2 c4]/2", K: "[~@2 e4!2 d4 c4@2 d4@2 g4@2 d4@2 b3@2 c4@7 ~ e4]/3",
  L: "e4@2 f#4 g#4@2 a4@3", M: "b4@3 b4@2 c5@2 b4", N: "b4 a4 g4 a4@3 ~@2", O: "a4@3 a4!2 b4 c5 b4",
  P: "a4 g4 f#4 g4 g4@2 ~@2", Q: "b4@3 b4@2 b4 c5 b4", R: "[c4@3 b3@3 d4@8 ~@2]/2", S: "b4@2 ~ b4@2 b4 c5 b4",
  T: "b4 a4 a4@2 ~@4", U: "a4@2 ~ a4@2 b4 c5 b4", V: "a4 g4 f#4 a4 g4@2 ~@2", W: "a4@2 ~ a4@2 a4!3",
  X: "a4 g4 f#4 g4 g4@2 e4!2", Y: "[f#4@3 e4@3 e4@10]/2", Z: "a4@3 b4 c5 b4 f#4 g4", AA: "g4 ~",
  AB: "[a4@4 a4 g#4 a4 b4@5 e4@2 d4@2]/2", AC: "b4@3 b4!2 c5 d5 e5", AD: "~ a4 g4 b4 a4@2 ~@2", AE: "b4@3 b4!2 c5 b4!2",
  AF: "a4!2", AG: "b4 d4", AH: "~ b4!5 ~ b4", AI: "~ c5 d5 b4 ~@4", AJ: "~ g4!3 ~ g4!3", AK: "~ f#4!7",
  AL: "~ f#4!4 g4 f#4 e4", AM: "~ f#4!3 ~ g4 c5 b4", AN: "~ e5!4 b4 d5!2", AO: "c5 e5!2 g5@2 f#5@2 e5",
  AP: "[e5@6 ~ d5@4 d#5@4 g4@9]/3", AQ: "b4@2 ~ b4!2 c5 b4!2", AR: "b4 a4 g4 a4@5",
  AS: "[a4@2 ~ b4!2 c5 b4 b4@2 a4 g4 a4@5]/2", AT: "[a4@2 ~ a4!2 b4 a4 a4@2 g4 f#4 g4@5]/2", AU: "a4@2 ~ a4!2 b4 c5 b4",
  AV: "[b4@2 ~ b4!2 c5 b4 b4@2 a4 g4 a4@5]/2", AW: "[a4@3 a4!2 b4@2 a4@2 a4 g4@6]/2", AX: "~@2 g4 a4",
  AY: "b4@3 b4!2 b4@2 b4", AZ: "[a4@3 b4 c5 b4 f#4 a4@2 g4 f#4 g4@5]/2", BA: "[b4@3 b4!4 b4@2 a4 g4 b4 a4@4]/2",
  BB: "~@2 a4!3 b4 c5 d5", BC: "e5 d5 g5 e5@5", BD: "[b4@3 b4!3 c5 b4@2 a4 g4 a4@5]/2",
  BE: "[b4@4 b4 c5 b4 b4@2 a4 g4 a4@3 ~ f#4]/2", BF: "a4!5 b4 c5 f#4", BG: "[b4@3 b4@2 c5 b4 b4@2 a4 g4 a4@5]/2",
  BH: "a4@3 a4@2 b4 c5 d5", BI: "e5 d5 g5 f#5", BJ: "~ b4!3 b4@2 ~@2", BK: "~ a4!3 a4@2 ~@2", BL: "~@4 c5@2 b4 a4",
  BM: "a4 g4@3", BN: "~@2 g4 b4", BO: "a4 f#4", BP: "g4 a4", BQ: "b4",
})).s("gm_violin").gain(0.4)

stack(violin)