Strudelify

cross the fields - mountains

KÅichi Sugiyama

KeyC majorTempo90 bpm
0:00/0:00
// cross the fields - mountains — KÅichi Sugiyama
// 90 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 8 "Trompette Basse" named as a bass, played on electric bass finger (its pizzicato strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5896192; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 64 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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 · pizzicato strings · "Flûte"
const pizzicato_strings = note("<~@19 A B C D E@6 ~@19 A B C D E@6 ~@6>".pickRestart({
  A: "a4 ~@3 b4 c#5 b4 c#5 b4 ~ a5 ~ g#5 ~ b4 ~", B: "~@4 a4 b4 a4 b4 a4 ~ a5 ~ f#5 ~ c5 ~",
  C: "a4@2 b4 ~@3 b4 ~ b4@2 c5 ~@3 c5 ~", D: "c5@2 d5 ~@3 d5 ~ f5@2 d#5@2 d5@2 c5@2",
  E: "[~@2 f5@4 d5@4 d#5@4 f5@4 a#4@4 d#5@4 d#5@4 c5@3 c5@2 c5@2 c5@2 c5@2 b4@2 b4@2 b4@2 b4]/6",
})).s("gm_pizzicato_strings").gain(0.25)

// other · tremolo strings · "Trompette"
const tremolo_strings = note(`<
  A B C D E F E G H ~@10 I J I K ~@6 A B C D E F E G H ~@10 I J I K ~@6 A B C L ~@2
>`.pickRestart({
  A: "e4 ~ e4 ~@3 e4 ~ e4 ~ e4 ~@3 e4 ~", B: "f4 ~ f4 ~@3 f4 ~ g4 ~ g4 ~@3 g4 ~",
  C: "e4 ~ e4 ~@3 e4 ~ g4 ~ g4 ~@3 g4 ~", D: "f4 ~ f4 ~@3 f4 ~ d4 ~ d4 ~@3 d4 ~",
  E: "g4 ~ g4 ~@3 g4 ~ e4 ~ e4 ~@3 e4 ~", F: "f4 ~ f4 ~@3 f4 ~ e4 ~ e4 ~@3 e4 ~",
  G: "f4 ~ f4 ~@3 f4 ~ f#4 ~ f#4 ~@3 f#4 ~", H: "d4 ~ d4 ~@3 d4 ~ d4@6 ~@2", I: "d4 ~@11 e4 ~@3", J: "e4 ~@11 f#4 ~@3",
  K: "f4 ~@7 d#4@8", L: "f4 ~ f4 ~@13",
})).s("gm_tremolo_strings").gain(0.2)

// other · tremolo strings · "Trompette" · soft notes
const tremolo_strings_soft = note(`<
  ~@61
  [~@6 f4 ~ d4 ~ d4 ~@3 d4 ~]
  [g4 ~ g4 ~@3 g4 ~ e4 ~ e4 ~@3 e4 ~]
  [f4 ~ f4 ~@3 f4 ~ e4 ~ e4 ~@3 e4 ~]
>`).s("gm_tremolo_strings").gain(0.1)

// other · pizzicato strings · "Trompette"
const pizzicato_strings_2 = note(`<
  A B C D E A E A F ~@10 G H I J K@6 A B C D E A E A F ~@10 G H I J K@6 A B C L ~@2
>`.pickRestart({
  A: "c4 ~ c4 ~@3 c4 ~ c4 ~ c4 ~@3 c4 ~", B: "d4 ~ d4 ~@3 d4 ~ e4 ~ e4 ~@3 e4 ~",
  C: "c4 ~ c4 ~@3 c4 ~ e4 ~ e4 ~@3 e4 ~", D: "c4 ~ c4 ~@3 c4 ~ a3 ~ a3 ~@3 a3 ~",
  E: "e4 ~ e4 ~@3 e4 ~ c#4 ~ c#4 ~@3 c#4 ~", F: "c4 ~ c4 ~@3 c4 ~ b3@6 ~@2", G: "b3 ~@11 d4 ~@3", H: "c#4 ~@11 d4 ~@3",
  I: "b3 ~@11 c4 ~@3", J: "c4 ~@7 c4@8",
  K: "[~@2 d5@4 d5@4 c5@4 d5@4 g4@4 a#4@4 a4@4 g4@3 g4@2 g4@2 g4@2 g4@2 f4@2 f4@2 f4@2 f4]/6", L: "c4 ~ c4 ~@13",
})).s("gm_pizzicato_strings").gain(0.2)

// other · pizzicato strings · "Trompette" · soft notes
const pizzicato_strings_soft = note(`<
  ~@61
  [~@6 c4 ~ a3 ~ a3 ~@3 a3 ~]
  [e4 ~ e4 ~@3 e4 ~ c#4 ~ c#4 ~@3 c#4 ~]
  [c4 ~ c4 ~@3 c4 ~ c4 ~ c4 ~@3 c4 ~]
>`).s("gm_pizzicato_strings").gain(0.1)

// other · string ensemble 1 · "Trompette"
const string_ensemble_1 = note(`<
  A B C D E F E G H I J K L M N O@3 P Q R S T ~@6 A B C D E F E G H I J K L M N O@3 P Q R S T ~@6 A B C U ~@2
>`.pickRestart({
  A: "b3 ~ b3 ~@3 b3 ~ b3 ~ b3 ~@3 b3 ~", B: "c4 ~ c4 ~@3 c4 ~ d4 ~ d4 ~@3 d4 ~",
  C: "a3 ~ a3 ~@3 a3 ~ d4 ~ d4 ~@3 d4 ~", D: "a3 ~ a3 ~@3 a3 ~ f3 ~ f3 ~@3 f3 ~",
  E: "d4 ~ d4 ~@3 d4 ~ a3 ~ a3 ~@3 a3 ~", F: "g#3 ~ g#3 ~@3 g#3 ~ a3 ~ a3 ~@3 a3 ~",
  G: "a3 ~ a3 ~@3 a3 ~ a3 ~ a3 ~@3 a3 ~", H: "g3 ~ g3 ~@3 g3 ~ g3@6 ~@2", I: "e4!2", J: "e4 g4", K: "g#4 a4", L: "g4!2",
  M: "c4!2", N: "c4@2 b3!2", O: "a4", P: "g#4 f#4", Q: "f#3 ~@11 g#3 ~@3", R: "g3 ~@11 c4 ~@3", S: "g3 ~@11 a#3 ~@3",
  T: "a3 ~@7 a3@8", U: "a3 ~ a3 ~@13",
})).s("gm_string_ensemble_1").gain(0.2)

// other · string ensemble 1 · "Trompette" · soft notes
const string_ensemble_1_soft = note(`<
  ~@61
  [~@6 a3 ~ f3 ~ f3 ~@3 f3 ~]
  [d4 ~ d4 ~@3 d4 ~ a3 ~ a3 ~@3 a3 ~]
  [g#3 ~ g#3 ~@3 g#3 ~ a3 ~ a3 ~@3 a3 ~]
>`).s("gm_string_ensemble_1").gain(0.1)

// bass · electric bass finger · "Trompette Basse"
const bass = note("<A B C D E F E G H ~@10 I J K L M@6 A B C D E F E G H ~@10 I J K L M@6 A B C N ~@2>".pickRestart({
  A: "g3 ~ g3 ~@3 g3 ~ g3 ~ g3 ~@3 g3 ~", B: "a3 ~ a3 ~@3 a3 ~ b3 ~ b3 ~@3 b3 ~",
  C: "f3 ~ f3 ~@3 f3 ~ b3 ~ b3 ~@3 b3 ~", D: "f3 ~ f3 ~@3 f3 ~ d3 ~ d3 ~@3 d3 ~",
  E: "b3 ~ b3 ~@3 b3 ~ e3 ~ e3 ~@3 e3 ~", F: "f3 ~ f3 ~@3 f3 ~ f3 ~ f3 ~@3 f3 ~",
  G: "d3 ~ d3 ~@3 d3 ~ d3 ~ d3 ~@3 d3 ~", H: "d3 ~ d3 ~@3 d3 ~ d3@6 ~@2", I: "b2 ~@11 e3 ~@3", J: "a2 ~@11 f#3 ~@3",
  K: "d3 ~@11 c3 ~@3", L: "f2 ~@7 f2@8",
  M: "[~@2 a#4@4 g4@4 g4@4 a4@4 d4@4 g4@4 f4@4 d#4@3 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4]/6", N: "f3 ~ f3 ~@13",
})).s("gm_electric_bass_finger").gain(0.2)

// bass · electric bass finger · "Trompette Basse" · soft notes
const bass_soft = note(`<
  ~@61
  [~@6 f3 ~ d3 ~ d3 ~@3 d3 ~]
  [b3 ~ b3 ~@3 b3 ~ e3 ~ e3 ~@3 e3 ~]
  [f3 ~ f3 ~@3 f3 ~ f3 ~ f3 ~@3 f3 ~]
>`).s("gm_electric_bass_finger").gain(0.1)

// other · tremolo strings · "Cor en Fa"
const tremolo_strings_2 = note("<~@9 A B C D B E ~@4 F G H I ~@15 A B C D B E ~@4 F G H I ~@12>".pickRestart({
  A: "g3 a3", B: "b3 c4", C: "d4 c4", D: "c4@4 d4 b3!3", E: "c4@2 b3!2", F: "a4 ~@11 g#4 ~@3", G: "g4 ~@11 f#4 ~@3",
  H: "f4 ~@11 e4 ~@3", I: "e4 ~@7 d#4@8",
})).s("gm_tremolo_strings").gain(0.4)

// other · string ensemble 1
const string_ensemble_1_2 = note("<~@9 A B C D E F G H I J ~@19 A B C D E F G H I J ~@16>".pickRestart({
  A: "g4 a4", B: "b4 c5", C: "d5 c5", D: "c5@4 b4 a4!2 g4", E: "e4!2", F: "e4@2 f4 e4", G: "c#5", H: "d5", I: "f5 f#5",
  J: "b4 a#4",
})).s("gm_string_ensemble_1").gain(0.25)

// other · string ensemble 1 · "Violoncelles"
const string_ensemble_1_3 = note("<~@9 A@2 B@2 C D E F G H ~@19 A@2 B@2 C D E F G H ~@16>".pickRestart({
  A: "e3!2", B: "f3!2", C: "b3 a3", D: "d3@2 g2 g#2", E: "g#4", F: "f#4", G: "f4 f#4", H: "e4 c#4",
})).s("gm_string_ensemble_1").gain(0.25)

// other · string ensemble 1 · "Violoncelles"
const string_ensemble_1_4 = note("<~@9 A@3 B C D E F G H ~@19 A@3 B C D E F G H ~@16>".pickRestart({
  A: "c3!2", B: "g2!2", C: "c3 a2", D: "d2@2 g2 g#2", E: "a2", F: "b2", G: "d3", H: "c#3 f#2",
})).s("gm_string_ensemble_1").gain(0.25)

// bass · pizzicato strings · "Contrebasses"
const bass_2 = note("<A@8 B@6 ~@9 C D E F G@2 A@8 B@6 ~@9 C D E F G@2 H@6>".pickRestart({
  A: "[~ c2@2 c2@2 d2@2 e2@2 f2@2 e2@2 d2@2 b1@2 e2@2 a1@2 d2@2 f2@2 e2@2 a1@2 d2@2 d2]/8",
  B: "[~ g1@2 g2@2 c2@2 c2@2 c2@2 c2@2 d2@2 d2@2 g2@2 g2@2 ~@3]/6", C: "a#1 d#2", D: "a1 d2", E: "g1 c2",
  F: "f2@2 d2 d3", G: "g2!4", H: "[~ c2@2 c2@2 d2@2 e2@2 f2@2 e2@2 d2@2 b1@2 e2@2 a1@2 d2@2 f2]/6",
})).s("gm_pizzicato_strings").gain(0.8)

// other · marimba · "Xylomarimba"
const marimba = note("<~@8 A B C D E F G ~@8 H I J K L M ~@8 A B C D E F G ~@8 H I J K L M ~@6>".pickRestart({
  A: "~@6 e5 f5", B: "g5 a5 ~ a5!2 b5 ~ b5", C: "b5 c6 ~ c6!2 d6 ~ d6", D: "~ d6!2 c6!2 b5!2 a5",
  E: "a5 c6!2 b5!2 a5!2 g5", F: "e5 f5 f#5 a5 g5@4", G: "g#5 a5 b5 c6 d6@2 e6@2",
  H: "~@2 d6 c#6 d6 ~ a#5 ~ g5 a5 a#5 c6 d6 c6 a#5 g5", I: "~@2 c6 b5 c6 ~ a5 ~ f5 g5 a5 a#5 c6 a5 g5 f5",
  J: "~@2 a#5 a5 a#5 ~ g5 ~@3 d#5 d5 d#5 ~ c5 ~", K: "d#5 f5 g5 a5 g5 f5 d#5 d5 c5 d5 d#5 f5 g5 a5 a#5 c6",
  L: "~@2 g5 f5 e5 ~ d5 ~ g5 ~ c5 ~ d5 ~ g5 ~", M: "~@2 g5 f5 e5 ~ d5 ~ g5 ~ b4 ~ d5 ~ g5 ~",
})).s("gm_marimba").gain(0.3)

stack(
  pizzicato_strings, tremolo_strings, tremolo_strings_soft, pizzicato_strings_2, pizzicato_strings_soft,
  string_ensemble_1, string_ensemble_1_soft, bass, bass_soft, tremolo_strings_2, string_ensemble_1_2,
  string_ensemble_1_3, string_ensemble_1_4, bass_2, marimba
)