Strudelify

hijaz mandira

Turkey Folk Song

KeyB♭ majorTempo110 bpm
0:00/0:00
// hijaz mandira — Turkey Folk Song
// 110 bpm, 7/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "Violin" violin (copy of ch 1 "Piano" piano)
// note: Transcription provider: pdmx. https://musescore.com/score/5882892; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 62 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/3.5)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// melody · piano
const piano = note(`<
  A B A B C D E F C D E F G H I J G H I F K L M N K L M O P@2 Q R Q S Q R Q S T U V W T U V X Y Z AA J Y Z AA AB AC@2 AD
  J AC@2 AD F
>`.pickRestart({
  A: "d4@7 d4@7 d4@3 d4@3 ~ d4@3", B: "d4@7 d4@7 d4@3 d4@7", C: "gb4@7 eb4@3 gb4@3 ~ eb4@3 d4@3 ~ c4@3",
  D: "d4@7 eb4@7 gb4@3 g4@3 ~ a4@3", E: "g4@3 gb4@3 ~ eb4@3 gb4@3 ~ eb4@3 d4@3 ~ c4@3", F: "d4@7 d4@7 d4@10",
  G: "d4@7 g4@3 gb4@3 ~ eb4@3 d4@3 ~ eb4@3", H: "gb4@7 g4@7 a4@3 g4@3 ~ a4@3", I: "d4@7 g4@3 gb4@3 ~ eb4@3 d4@3 ~ c4@3",
  J: "g4@7 gb4@3 a4@3 ~ g4@10", K: "g4@7 g4@3 d4@3 ~ g4@7 g4@3", L: "a4@7 a4@3 g4@3 ~ a4@7 a4@3",
  M: "d5@7 c5@3 b4@3 ~ b4@3 a4@3 ~ g4@3", N: "b4@7 a4@3 g4@3 ~ gb4@3 e4@3 ~ d4@3", O: "g4@7 g4@7 g4@10",
  P: "d5@7 d5@7 d5@3 d5@3 ~ d5@3", Q: "e5@7 d5@3 c5@3 ~ b4@3 a4@3 ~ b4@3", R: "c5@3 b4@3 ~ c5@3 e5@3 ~ d5@7 d5@3",
  S: "c5@7 b4@3 a4@3 ~ g4@7 g4@3", T: "d5@7 d5@3 b4@3 ~ c5@7 a4@3", U: "bb4@7 bb4@3 g4@3 ~ a4@7 g4@3",
  V: "bb4@3 a4@3 ~ g4@3 a4@3 ~ gb4@7 eb4@3", W: "d4@3 eb4@3 ~ gb4@3 g4@3 ~ a4@3 b4@3 ~ c5@3", X: "d4@7 d4@7 d4@7 d4@3",
  Y: "c4@3 d4@3 ~ eb4@3 gb4@3 ~ g4@7 g4@3", Z: "bb4@3 a4@3 ~ g4@3 gb4@3 ~ eb4@3 d4@3 ~ eb4@3",
  AA: "gb4@7 g4@3 gb4@3 ~ eb4@3 d4@3 ~ c4@3", AB: "c4@7 c4@3 c4@3 ~ c4@10", AC: "c4@7 c4@7 eb4@3 d4@3 ~ c4@3",
  AD: "c4@7 g4@3 gb4@3 ~ eb4@3 d4@3 ~ c4@3",
})).s("gm_piano").gain(0.3)

stack(piano)