Strudelify
KeyF majorTempo220 bpm
0:00/0:00
// Le Cocu — Brassens Georges
// 220 bpm, 2/2, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 210 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(220/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// 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 B C D C E C D C E F G F H I J K L F G F M N O P Q N O P R F G F H I J K L F G F M N O P Q N O P R F G F H I J K L F
  G F M N O P Q N O P R F G F H I J K L F G F M N O P Q N O P R F G F H I J K L F G F M N O P Q N O P R F G F H I J K L
  F G F M N O P Q N O P R F G F H I J K L F G F M N O P Q N O P R F G F H I J K L F G F M N O P Q N O P R F G F H I J K
  L F G F M N O P Q N O P R F G F H I J K L F G F M N O P Q N O P S
>`.pickRestart({
  A: "~@4 [f4,bb4,d5]@3 ~@5 [f4,bb4,d5]@3 ~", B: "~@4 [e4,g4,a4,db5]@3 ~@5 [e4,g4,a4,db5]@3 ~",
  C: "~@4 [d4,f4]@3 ~ [bb4,d5]@3 ~ [d4,f4,d5,f5]@3 ~, [d5,f5]@7 ~@9", // Dm Bb Dm
  D: "[db5,e5]@3 ~ [e4,g4,a4,db5]@3 ~@5 [e4,g4]@3 ~, ~@8 [db5,e5]@7 ~", // Dbm A7 Em Dbm
  E: "[db5,e5]@3 ~ [e4,g4,a4,db5]@3 ~ [bb4,d5]@3 ~ [e4,g4,db5,e5]@3 ~", // Dbm A7 Bb Dbdim
  F: "~@4 [bb3,d4]@3 ~ f4@3 ~ [bb3,d4,bb4]@3 ~, bb4@7 ~@9", G: "a4@3 ~ [db4,e4]@3 ~@5 [db4,e4]@3 ~, ~@8 a4@7 ~",
  H: "a4@3 ~ [db4,e4]@3 ~ a4@3 ~ [db4,e4]@3 ~", I: "~@4 [g3,bb3]@3 ~ d4@3 ~ [g3,bb3,g4]@3 ~, g4@7 ~@9",
  J: "f4@3 ~ [a3,d4]@3 ~ e4@3 ~ [a3,d4,f4]@3 ~", K: "bb3@3 ~ [bb3,d4]@3 ~ g4@3 ~ [bb3,d4,f4]@3 ~",
  L: "db5@3 ~ [g3,db4]@2 e5@2 g5@3 ~ [g3,db4,bb5]@3 ~, e4@11 ~@5", M: "a4@3 ~ [db4,e4]@3 ~ a4@3 ~ [a3,db4,a4]@3 ~",
  N: "[f4,a4]@3 ~@3 d5@2 [e4,g4]@3 ~@3 c5@2, d5@3 ~ c5@3 ~", O: "[c4,f4]@3 ~@3 a4@2 [a3,d4]@3 ~@3 f4@2, a4@3 ~ f4@3 ~",
  P: "[f3,bb3]@3 ~@5 [e3,bb3]@3 ~@5, d4@7 ~ c4@7 ~", Q: "f3@3 ~ c4@3 ~ f4@3 ~ a4@4, a3@11 ~@5",
  R: "f3@3 ~ [g3,a3]@3 ~ [f3,a3,d4]@3 ~@5, d4 ~", S: "[f3,a3]@3 ~ [g3,a3]@3 ~ [f3,a3,d4]@3 ~@5, d4 ~",
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · fretless bass
const bass = note(`<
  A B A C A C A C A C A D A D E F G B A D A D H I J K H I J L A D A D E F G B A D A D H I J K H I J L A D A D E F G B A
  D A D H I J K H I J L A D A D E F G B A D A D H I J K H I J L A D A D E F G B A D A D H I J K H I J L A D A D E F G B
  A D A D H I J K H I J L A D A D E F G B A D A D H I J K H I J L A D A D E F G B A D A D H I J K H I J L A D A D E F G
  B A D A D H I J K H I J L A D A D E F G B A D A D H I J K H I J L
>`.pickRestart({
  A: "bb2@3 ~@5 f2@3 ~@5", B: "a2@3 ~@5 a2@3 ~@5", C: "a2@3 ~@5 e2@3 ~@5", D: "e2@3 ~@5 a2@3 ~@5",
  E: "g2@3 ~@5 g2@3 ~@5", F: "d3@3 ~@5 d3@3 ~@5", G: "bb2@3 ~@5 bb2@3 ~@5", H: "d3@3 ~@5 c3@3 ~@5",
  I: "f3@3 ~@5 d3@3 ~@5", J: "bb2@3 ~@5 c3@3 ~@5", K: "f2@3 ~ c2@3 ~ f2@3 ~@5", L: "d3@3 ~ a2@3 ~ d2@3 ~@5",
})).s("gm_fretless_bass").gain(0.18).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges