Strudelify

Natsuhiboshi Japanese and English Lyric Audio

Toshio Masuda

KeyA minorTempo85 bpm
0:00/0:00
// Natsuhiboshi Japanese and English Lyric Audio — Toshio Masuda
// 85 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Piano" named as a piano, played on piano (its synth bass 2 patch is not one); ch 2 "Grand Piano" named as a piano, played on piano (its synth strings 1 patch is not one); ch 4 "Marimba" named as a mallet, played on marimba (its string ensemble 1 patch is not one)
// note: duplicate parts dropped: ch 5 "Effect Synthesizer" pizzicato strings (copy of ch 1 "Piano" piano); ch 14 "Harp" orchestral harp (copy of ch 1 "Piano" piano); ch 15 "Choir Synthesizer" pad choir (copy of ch 1 "Piano" piano); ch 16 "Bass Synthesizer" synth bass 1 (copy of ch 1 "Piano" piano); ch 8 "Classical Guitar" acoustic guitar nylon (copy of ch 3 "Voice" synth strings 2); ch 9 "Acoustic Guitar" acoustic guitar steel (copy of ch 7 "Classical Guitar" acoustic guitar nylon)
// note: Transcription provider: pdmx. https://musescore.com/score/2177096; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 47 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/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 B C D E F G H I J K D L M N O E F G H I J K D L M N P L M N O E F G H I J K D L M N P Q@2 R
>`.pickRestart({
  A: "a2 e3 a3 b3 c4@4, [a4,c5]@15 ~", B: "f2 c3 f3 [g3,e5] [a3,a4,c5]@4, d5@3 ~@5",
  C: "g2 d3 g3 d3 b3 g3 a4 g4, [g4,b4]@2 d5 d4", D: "a2 e3 a3 b3 c4@4, a4@15 ~",
  E: "[a2,e5] [e3,e5] [a3,e5] [b3,d5] e5@2 g5 e5, ~ c4", F: "g2 d3 g3 [a3,e5] [b3,d5]@4, d5@3 ~@5",
  G: "f2 c3 f3 [g3,c5] c5!2 a4 c5, c5@3 ~ a3@4", H: "[g2,d5] [d3,d5] [g3,d5] [a3,e5] [b3,d5]@4",
  I: "a2 e3 a3 [b3,d5] e5@2 g5 e5, e5@3 ~ c4@4", J: "f2 c3 f3 [g3,e5] [a3,c5]@4, d5@3 ~@5",
  K: "g2 d3 g3 d3 b3 g3 a4 g4, b4!3 d4", L: "a2 e3 a3 c4 g2 d3 [g3,c6] [b3,b5], a5 e6 d6 ~",
  M: "a2 e3 [a3,g5] [c4,a5] e2 b2 [e3,d5] [g3,e5], a5 ~ e5 ~", N: "a2 e3 a3 c4 g2 d3 [g3,b5] [b3,g5], a5 c6 d6 ~",
  O: "a2 e3 a3 b3 c4@4, a5@15 ~", P: "c4 e3 b3 e3 ~@2 d5 e5, a5@11 ~@5, ~ a3",
  Q: "[~@4 c6@4 ~@4 g3@4 b3@15 ~, [a2,e3]@3 ~@5, a5@4 ~@4 d6@23 ~, ~ a3@11 ~@20]/2", R: "c6@2 b5@2 [e3,a3,a5]@11 ~",
})).s("gm_piano").gain(0.25)

// chords · piano · "Grand Piano"
const piano_2 = note(`<
  A B C D E F G H I J K D L M N O E F G H I J K D L M N P L M N O E F G H I J K D L M N P Q@2 R
>`.pickRestart({
  A: "a2 e3 a3 b3 c4@4, [a4,c5]", B: "f2 c3 f3 [g3,e5] [a3,a4,c5]@4, d5@3 ~@5",
  C: "g2 d3 g3 d3 b3 g3 a4 g4, [g4,b4]@2 d5 d4", D: "a2 e3 a3 b3 c4@4, a4",
  E: "[a2,e5] [e3,e5] [a3,e5] [b3,d5] e5@2 g5 e5, ~ c4", F: "g2 d3 g3 [a3,e5] [b3,d5]@4, d5@3 ~@5",
  G: "f2 c3 f3 [g3,c5] c5!2 a4 c5, c5@3 ~ a3@4", H: "[g2,d5] [d3,d5] [g3,d5] [a3,e5] [b3,d5]@4",
  I: "a2 e3 a3 [b3,d5] e5@2 g5 e5, e5@3 ~ c4@4", J: "f2 c3 f3 [g3,e5] [a3,c5]@4, d5@3 ~@5",
  K: "g2 d3 g3 d3 b3 g3 a4 g4, b4!3 d4", L: "a2 e3 a3 c4 g2 d3 [g3,c6] [b3,b5], a5 e6 d6 ~",
  M: "a2 e3 [a3,g5] [c4,a5] e2 b2 [e3,d5] [g3,e5], a5 ~ e5 ~", N: "a2 e3 a3 c4 g2 d3 [g3,b5] [b3,g5], a5 c6 d6 ~",
  O: "a2 e3 a3 b3 c4@4, a5", P: "c4 e3 b3 e3 ~@2 d5 e5, a5@3 ~, ~ a3",
  Q: "[~ c6 ~ g3 b3@4, [a2,e3]@3 ~@5, a5 ~ d6@6, ~ a3@11 ~@20]/2", R: "c6 b5 [e3,a3,a5]@6",
})).s("gm_piano").gain(0.3)

// chords · marimba
const marimba = note(`<
  A B C D E F G H I J K D L M N O E F G H I J K D L M N P L M N O E F G H I J K D L M N P Q@2 R
>`.pickRestart({
  A: "a2 e3 a3 b3 c4@4, [a4,c5]", B: "f2 c3 f3 [g3,e5] [a3,a4,c5]@4, d5@3 ~@5",
  C: "g2 d3 g3 d3 b3 g3 a4 g4, [g4,b4]@2 d5 d4", D: "a2 e3 a3 b3 c4@4, a4",
  E: "[a2,e5] [e3,e5] [a3,e5] [b3,d5] e5@2 g5 e5, ~ c4", F: "g2 d3 g3 [a3,e5] [b3,d5]@4, d5@3 ~@5",
  G: "f2 c3 f3 [g3,c5] c5!2 a4 c5, c5@3 ~ a3@4", H: "[g2,d5] [d3,d5] [g3,d5] [a3,e5] [b3,d5]@4",
  I: "a2 e3 a3 [b3,d5] e5@2 g5 e5, e5@3 ~ c4@4", J: "f2 c3 f3 [g3,e5] [a3,c5]@4, d5@3 ~@5",
  K: "g2 d3 g3 d3 b3 g3 a4 g4, b4!3 d4", L: "a2 e3 a3 c4 g2 d3 [g3,c6] [b3,b5], a5 e6 d6 ~",
  M: "a2 e3 [a3,g5] [c4,a5] e2 b2 [e3,d5] [g3,e5], a5 ~ e5 ~", N: "a2 e3 a3 c4 g2 d3 [g3,b5] [b3,g5], a5 c6 d6 ~",
  O: "a2 e3 a3 b3 c4@4, a5", P: "c4 e3 b3 e3 ~@2 d5 e5, a5@3 ~, ~ a3",
  Q: "[~ c6 ~ g3 b3@4, [a2,e3]@3 ~@5, a5 ~ d6@6, ~ a3@11 ~@20]/2", R: "c6 b5 [e3,a3,a5]@6",
})).s("gm_marimba").gain(0.4)

// other · acoustic guitar nylon · "Classical Guitar"
const acoustic_guitar_nylon = note(`<
  A B C A@2 D B D A B C A E F E A@2 D B D A B C A E F E G E F E A@2 D B D A B C A E F E G H I J
>`.pickRestart({
  A: "a2 e3 a3 b3 c4@4", B: "f2 c3 f3 g3 a3@4", C: "g2 d3 g3 d3 b3 g3 d4@2", D: "g2 d3 g3 a3 b3@4",
  E: "a2 e3 a3 c4 g2 d3 g3 b3", F: "a2 e3 a3 c4 e2 b2 e3 g3", G: "c4 e3 b3 e3 a3@4", H: "~ a3@11 g3@4, [a2,e3]@3 ~",
  I: "b3", J: "~ [e3,a3]@3",
})).s("gm_acoustic_guitar_nylon").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  A@2 B A C A B A C A B A B@3 A C A B A C A B A B@3 C B@3 A C A B A C A B A B@3 C D E F
>`.pickRestart({
  A: "x!5 ~@3", B: "x!8", C: "x!5 ~ x!2", D: "x!2 ~@2 x ~@3 x ~@3 x ~@3", E: "x", F: "x!3 ~@5",
})).gain(0.3)

// drums · snare
const snare = s("sd").struct(`<
  A B C A D B E F G B H A H I H A D B E F G B H A H I H J H I H A D B E F G B H A H I H J K ~ L
>`.pickRestart({
  A: "x", B: "x ~@2 x!2 ~@3", C: "x ~@3 x ~ x!2", D: "x!5 ~ x!2", E: "x ~@2 x!5", F: "x!5 ~@3", G: "x ~@2 x!2 ~ x!2",
  H: "x ~ x ~ x ~ x!2", I: "x ~ x!3 ~ x!2", J: "x ~@5 x!2", K: "x!3 ~", L: "x!3 ~@5",
})).gain(0.3)

stack(piano, piano_2, marimba, acoustic_guitar_nylon, kick, snare)

More by Toshio Masuda