Strudelify

Inishie No Mahou

Takanashi Yasuharu

KeyG majorTempo120 bpm
0:00/0:00
// Inishie No Mahou — Takanashi Yasuharu
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 1/4 at bar 9, 4/4 at bar 10) are rendered on a constant 4/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 13 "Soprano Recorder" recorder (copy of ch 12 "Soprano Recorder" recorder)
// note: Transcription provider: pdmx. https://musescore.com/score/485141; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 26 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 · [c3,e3] is a chord · [...]/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 B C D E F G H I J K L M N O P Q R S T U R V W X Y>".pickRestart({
  A: "~@6 e4 f#4", B: "g4 a4 b4@2 d4@2 f#4@2", C: "g4@2 e4@4 g4 a4", D: "b4 d5 c#5@2 a4@2 g4@2", E: "a4 b4@2 e5",
  F: "g4@2 c5 d5 e5 c5 a4@2", G: "d5 b4@2 g4", H: "a4@2 g4@2 a4@2 b4 a4 g4@2 f#4@2 e4@4", I: "f#4@2 e4@4 c5 d5",
  J: "e5 f#5 g5 a5 b5@2 d5@2", K: "f#5 g5 e5@2", L: "g4 a4 b4 d5 c#5@2 a4@2", M: "g4 a4 b4@2",
  N: "e5@2 g4@2 c5 d5 e5 c5", O: "a4 d5 b4@2", P: "g4@4 a4@2 g4@2 a4@2 b4 a4 g4@2 f#4@2", Q: "e4@2 f#4@2 e4@2 e4 f#4",
  R: "g4@2 a4 g4 f#4@2 e4@2 d4@4 e4@2 f#4@2", S: "e4@2 b3@4 e4 f#4", T: "b4@2 c5 b4 a4@2 g4@2 a4@4 g4@2 f#4@2",
  U: "g4@2 a4@2 b4@2 g4@2 a4@2 b4 a4 e4@2 f#4@2", V: "e4 b4@3", W: "c5@2 b4@2 a4@2 g4@2 b4@2 a4 g4 f#4@2 d4@2",
  X: "g4 f#4@2 g4 a4@2 f#4@2", Y: "e4@3 ~@5",
})).s("gm_violin").gain(0.3)

// other · string ensemble 1 · "Violins 2"
const string_ensemble_1 = note("<A@8 B C D E F G D H I J@2 K L M L N O P>".pickRestart({
  A: "[~@3 e4@2 g4@2 f#4@2 e4@2 g4@2 c#5@2 g4@2 b4@2 e5@2 c5@2 a4@2 b4@2 g4@2 a4@2 e4]/8", B: "f#4 e4@2 ~",
  C: "[e4,e5] [g4,g5]", D: "[d4,d5] [e4,e5]", E: "[g4,g5] [a4,a5]", F: "[e4,e5] ~@7", G: "[c4,c5]!2",
  H: "[e4,e5] [e4,d5]", I: "[c4,c5] [d4,d5] [e4,e5]@2", J: "[g4,g5]/2", K: "d4", L: "g4", M: "b4", N: "e4 d4",
  O: "g4 f#4@2 g4 a4@2 f#4@2", P: "e4@3 ~@5",
})).s("gm_string_ensemble_1").gain(0.2)

// other · bagpipe
const bagpipe = note("<~@6 A B ~@7 C D E F ~@7>".pickRestart({
  A: "~@3 g4", B: "a4@2 g4@2 a4@2 b4 a4 g4@2 f#4@2 ~@4", C: "g4@4 a4@2 g4@2 a4@2 b4 a4 g4@2 f#4@2", D: "~@6 e4 f#4",
  E: "g4@2 a4 g4 f#4@2 e4@2 d4@4 e4@2 f#4@2", F: "e4 b3@2 ~",
})).s("gm_bagpipe").gain(0.3)

// other · french horn · "Horn"
const french_horn = note("<A@7 B@2 C D E F G D H I J@2 K L M L N O P>".pickRestart({
  A: "[~@3 g3@2 b3@2 a3@2 g3@2 b3@2 a3@2 g3@2 b3@2 e4@2 c4@2 a3@2 b3@2 g3]/7", B: "[~ a3@2 e3@3 e3 ~]/2",
  C: "[e3,e4] [g3,g4]", D: "[d3,d4] [e3,e4]", E: "[g3,g4] [a3,a4]", F: "[e3,e4]", G: "[c3,c4]!2", H: "[e3,e4] [d3,d4]",
  I: "c4 d4 e4@2", J: "[g3,g4]/2", K: "d3", L: "g3", M: "b3", N: "g3 d3", O: "g3 f#3@2 g3 a3@2 f#3@2", P: "e3@3 ~@5",
})).s("gm_french_horn").gain(0.3)

// other · trombone
const trombone = note("<A@8 B C D E F G D H I J@2 K L@2 F M N O>".pickRestart({
  A: "[~@3 [e2,e3]@3 [g2,g3] [d2,d3]@2 [e2,e3]@2 [g2,e3,g3]@2 [a2,a3]@2 [g2,e3,g3]@4 [c3,c4]@4 [a2,f#3,a3]@2 [b2,g3,b3]@2 [c2,c3]@2 [e2,e3]@2 [e2,e3]]/8", // E G D E C A C D …
  B: "[d2,d3] [e2,e3]@2 ~", C: "[e2,e3] [g2,g3]", D: "[d2,d3] [e2,e3]", E: "[g2,g3] [a2,a3]", F: "[e2,e3]",
  G: "[c2,c3] [a2,a3]", H: "[e2,e3] [d2,d3]", I: "[c2,c3]!2", J: "[g2,g3]/2", K: "[b1,b2]", L: "[g2,g3]",
  M: "c3 b2 a2 g2 b2 a2 g2 f#2", N: "g3 f#3@2 g3 a3@2 f#3@2", O: "e3@3 ~@5",
})).s("gm_trombone").gain(0.3)

// other · recorder · "Soprano Recorder"
const recorder = note("<~@13 A B C D ~ E F G H I J K L>".pickRestart({
  A: "e6@2 g5@2 c6 d6 e6 c6", B: "a5 d6 b5@2", C: "g5@4 a5@2 g5@2 a5@2 b5 a5 g5@2 f#5@2", D: "e5 f#5 e5 ~",
  E: "~@6 e5 f#5", F: "b5@2 c6 b5 a5@2 g5@2 a5@4 g5@2 f#5@2", G: "g5@2 a5@2 b5@2 g5@2 a5@2 b5 a5 e5@2 f#5@2",
  H: "g5@2 a5 g5 f#5@2 e5@2 d5@4 e5@2 f#5@2", I: "e5 b5@3", J: "c6@2 b5@2 a5@2 g5@2 b5@2 a5 g5 f#5@2 d5@2",
  K: "g5 f#5@2 g5 a5@2 f#5@2", L: "e5@3 ~@5",
})).s("gm_recorder").gain(0.5)

stack(violin, string_ensemble_1, bagpipe, french_horn, trombone, recorder)

More by Takanashi Yasuharu