Strudelify
KeyF majorTempo120 bpm
0:00/0:00
// Mirage — Jean_luc Ponty
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Violin" named as a string part, played on violin (its trombone patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/25130; license: https://creativecommons.org/publicdomain/zero/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 · [...]/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("<~@4 A@4 B C D@2 E@2 F ~ G H I@2 ~@6>".pickRestart({
  A: "[~@8 bb4@16 bb4 c5 ~ d5@19 e5@10 d5@8]/4", B: "f5 e5 f5 g5@13", C: "f5@3 e5",
  D: "[c5@12 d5@2 a4@10 ~@4 bb4 d5 e5 f5]/2", E: "[f5@6 e5 d5@7 c5 b4]/2", F: "c5@3 e5@5", G: "gb4@3 e5@5",
  H: "bb4@3 ~", I: "[b3@3 eb5@9 ~@4]/2",
})).s("gm_violin").gain(0.48)

// bass · fretless bass · "Fretless Electric Bass"
const bass = note("<A B C D E F G H E F G H I J K L M@2 N@2 O@2 K@2 P@2>".pickRestart({
  A: "d2", B: "d3", C: "g1", D: "g2", E: "g1@3 d2 f2 gb2 g2 g1@4 d2 f2 gb2 g2 g1",
  F: "g1@3 d2 f2 gb2 g2 g1@2 g1 ab1@2 a1 ~@2 d2", G: "d2@3 a2 c3 db3 d3 d2@4 a2 c3 db3 d3 d2",
  H: "d2@3 a2 c3 db3 d3 d2@4 a1 d2@2 a1@2", I: "b1 b2", J: "e1 e2", K: "a1", L: "a1@8 a1!2 ~ ab1 ~ g1 ~ db2",
  M: "[gb1@28 gb1 g1 ab1 a1]/2", N: "b1/2", O: "e2", P: "e1",
})).s("gm_fretless_bass").gain(0.29)

stack(violin, bass)