Strudelify

Le Fantome

Brassens Georges

KeyF majorTempo208 bpm
0:00/0:00
// Le Fantome — Brassens Georges
// 208 bpm, 2/2, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 194 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(208/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 · electric guitar jazz
const electric_guitar_jazz = note(`<
  A@9 B C D E F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E F G H I@2
  J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E
  F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O P Q C D E F G H I@2 J K L M N O
  R S J K L M N T U V
>`.pickRestart({
  A: "~@4 [a2,c3,f3]@3 ~@5 [a2,c3,f3]@3 ~", B: "~@4 [a2,c3,f3]@3 ~@5 [bb2,c3,e3]@3 ~",
  C: "f3@3 ~ [a2,c3,f3]@2 f3@2 f3@3 ~ [a2,c3]@3 ~", D: "a2@3 ~ [a2,c3]@3 ~ f2@3 ~ a2@3 ~",
  E: "gb3@3 ~ [a2,d3,gb3]@2 gb3@2 gb3@3 ~ [a2,d3]@3 ~", F: "a2@3 ~ [a2,c3]@3 ~ gb2@3 ~ a2@3 ~",
  G: "g3@3 ~ [bb2,d3,g3]@2 g3@2 g3@3 ~ [bb2,d3,g3]@3 ~", H: "~@4 [g2,bb2]@3 ~@5 [g2,bb2]@3 ~, c3@7 ~ c3@7 ~",
  I: "[~@4 [a2,c3]@3 ~@5 [a2,c3]@3 ~@5 [a2,c3]@3 ~@5 [eb3,f3]@3 ~, a3@7 ~ f3@15 ~@9]/2", // Am Ebsus2
  J: "bb3@3 ~ [d3,f3,bb3]@2 bb3@2 bb3@3 ~ [db3,f3]@3 ~", K: "a3@3 ~ [c3,f3,a3]@3 ~ a3@3 ~ [c3,f3]@3 ~",
  L: "db3@3 ~ [a2,db3,g3]@3 ~ g3@3 ~ [a2,db3,a3]@2 g3@2", M: "f3@3 ~ [a2,d3]@3 ~ f3@3 ~ [a2,d3]@3 ~",
  N: "bb2@3 ~ [bb2,d3]@2 f3@2 c4@3 ~ [db3,f3,bb3]@3 ~", O: "~@4 [c3,f3]@3 ~@5 [a2,d3,f3]@3 ~, a3@11 ~@5",
  P: "~@4 [bb2,d3]@3 ~@5 [bb2,c3,e3]@3 ~, g3@15 ~", Q: "~@4 [a2,c3]@3 ~@5 [a2,c3]@3 ~, f3@7 ~@9",
  R: "~@4 [g2,bb2]@3 ~@5 [bb2,d3]@3 ~, d3@7 ~ g3@7 ~", S: "~@4 [db3,e3]@3 ~@5 [db3,e3]@3 ~, a3@11 ~@5",
  T: "~@4 [c3,f3]@3 ~@5 [f3,a3]@3 ~, a3@7 ~ c4@7 ~", U: "~@4 [bb2,d3]@3 ~@5 [bb2,e3]@3 ~, g3@7 ~ a3@7 ~",
  V: "[a2,c3]@3 ~ [bb2,c3]@3 ~ [a2,c3]@3 ~@5, f3@11 ~@5", // Am Bbsus2 Am
})).s("gm_electric_guitar_jazz").gain(0.58).pan(0.7)

// bass · fretless bass
const bass = note(`<
  A@9 B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G
  H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2
  C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H L M B A@2 C@2 D E F G H I J K H
  L N J H O J K H P M Q
>`.pickRestart({
  A: "f2@3 ~@5 c2@3 ~@5", B: "f2@3 ~ c2@3 ~ d2@3 ~ e2@3 ~", C: "d2@3 ~@5 d2@3 ~@5", D: "g2@3 ~@5 d2@3 ~@5",
  E: "c2@3 ~@5 c2@3 ~@5", F: "f2@3 ~@5 e2@3 ~@5", G: "eb2@3 ~ f2@3 ~ g2@3 ~ a2@3 ~", H: "bb2@3 ~@5 bb2@3 ~@5",
  I: "c3@3 ~@5 f2@3 ~@5", J: "a2@3 ~@5 a2@3 ~@5", K: "d3@3 ~@5 d3@3 ~ c3@3 ~", L: "c3@3 ~@5 d3@3 ~@5",
  M: "g2@3 ~@5 c2@3 ~@5", N: "g2@3 ~@5 bb2@3 ~@5", O: "f2@3 ~@5 f2@3 ~@5", P: "f2@3 ~@5 d2@3 ~@5",
  Q: "f2@3 ~ c2@3 ~ f2@3 ~@5",
})).s("gm_fretless_bass").gain(0.26).pan(0.4)

stack(electric_guitar_jazz, bass)

More by Brassens Georges