Strudelify

Leche-cocu

Brassens Georges

KeyC majorTempo160 bpm
0:00/0:00
// Leche-cocu — Brassens Georges
// 160 bpm, 6/8, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 148 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/3)

// 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@4 B C D C E F G@2 B C H I J K L M N@2 B C D C E F G@2 B C H I J K L M N@2 B C D C E F G@2 B C H I J K L M N@2 B C D
  C E F G@2 B C H I J K L M N@2 B C D C E F G@2 B C H I J K L M N@2 B C D C E F G@2 B C H I J K L M N@2 B C D C E F G@2
  B C H I J K L M N@2 B C D C E F G@2 B C H I J K L M O P
>`.pickRestart({
  A: "[[e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ [e3,g3]@3 [e3,g3]@4 ~ c3@3, [c3,c4]@15 ~]/4", // Em C
  B: "[a2,c3,f3]@3 f3@2 [a2,c3,f3]@3 [b2,d3,f3]@3 g3@2 [b2,d3,f3]@3", // F Bdim
  C: "[g2,c3]@4 ~ [g2,c3]@3 [g2,c3]@4 ~ [g2,c3]@3, e3@3 ~", // C5
  D: "[g2,b2,d3]@3 d3@2 [g2,b2,e3]@3 [g2,b2,d3]@3 c3@2 [g2,b2,d3]@3", E: "a3@4 ~ g3@4 ~@2 f3@4 ~, [a2,c3]@15 ~",
  F: "[g2,c3]@4 ~ [g2,c3]@3 [g2,c3]@3 d3@2 [g2,c3]@3, e3@11 ~@5", // C5
  G: "[[f#2,a2,d3]@3 ~@2 [f#2,a2]@3 [f#2,a2]@4 ~ [f#2,a2]@3 [g2,b2]@4 ~ [g2,b2]@3 [g2,b2]@4 ~ [b2,d3]@3, ~@3 d3@18 ~@11]/2", // D F#m G Bm
  H: "[g2,b2,d3]@3 d3@2 [g2,b2,e3]@3 [g2,b2,d3]@3 c3@2 [g2,b2]@3", // G Em G
  I: "[c#3,e3]@4 ~ [c#3,e3]@3 [c#3,e3]@4 ~ [c#3,e3,a3]@3, a3@3 ~", J: "c4@4 ~ a3@4 ~@2 f3@4 ~, d3@15 ~, f3@11 ~@5",
  K: "g#2@4 ~ g3@4 ~@2 f3@4 ~, f2@15 ~", L: "[a2,c3]@4 ~ [a2,c3]@3 [a2,c3]@4 ~ [a2,c3]@3, e3@15 ~",
  M: "[g2,b2]@4 ~ [g2,b2]@3 [g2,b2]@4 ~ [g2,b2]@3, d3@15 ~", // G
  N: "[[e2,g2]@4 ~ [e2,g2]@3 [e2,g2]@4 ~ [e2,g2]@3 [e2,g2]@4 ~ [e2,g2]@3 [e2,g2]@4 ~ c3@3, c3@5 ~@3]/2", // Em
  O: "[e3,g3,c4] ~ [d3,f3,g3] ~, c3@15 ~", P: "[e3,g3,c4] ~@3",
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · fretless bass
const bass = note(`<
  A@3 B C D E D F G H I C G E J K F L I M@2 C D E D F G H I C G E J K F L I M@2 C D E D F G H I C G E J K F L I M@2 C D
  E D F G H I C G E J K F L I M@2 C D E D F G H I C G E J K F L I M@2 C D E D F G H I C G E J K F L I M@2 C D E D F G H
  I C G E J K F L I M@2 C D E D F G H I C G E J K F L I N O
>`.pickRestart({
  A: "[c2,e3]@7 ~ g2@7 ~", B: "[c2,e3]@7 ~ c2@3 d2@2 e2@3", C: "f2@7 ~ g2@3 a2@2 b2@3", D: "c3@7 ~ c2@7 ~",
  E: "g2@7 ~ g2@3 a2@2 b2@3", F: "f2@7 ~ f2@7 ~", G: "c3@7 ~ c3@7 ~", H: "d3@7 ~ d2@3 e2@2 f#2@3, f3@15 ~",
  I: "g2@7 ~ g2@7 ~, f3@15 ~", J: "a2@7 ~ a2@7 ~", K: "f2@7 ~ c3@7 ~", L: "a2@7 ~ a2@7 ~, f#3@15 ~",
  M: "[c3@7 ~ g2@7 ~ c3@7 ~ c2@3 d2@2 e2@3, e3@5 ~@3]/2", N: "c3 ~ g2 ~", O: "c2 ~@3",
})).s("gm_fretless_bass").gain(0.18).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges