Strudelify

Concurrence deloyale

Brassens Georges

KeyA minorTempo91 bpm
0:00/0:00
// Concurrence deloyale — Brassens Georges
// 91.2 bpm, 6/8, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 145 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(91.2/3)

// 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 · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A B C D E F G H I J K L M G N O P B C D E F G H I J K L M G N O P B C D E F G H I J K L M G N O P B C D E F G H I J K
  L M G N O P B C D E F G H I J K L M G N O P B C D E F G H I J K L M G N O P B C D E F G H I J K L M G N O P B C D E F
  G H I J K L M G N O P B C D E F G H I J K L M G N Q R
>`.pickRestart({
  A: "~@5 e4", B: "[a3,c4,e4] e4 [a3,c4,e4]!2 g4 [a3,c4,f4]",
  C: "[a3,c4] ~@3 [a3,c4] ~ [a3,c4] ~@3 [a3,c4,e4] ~, e4@3 e4@2 ~", // Am
  D: "[a3,d4,f4] ~ f4 ~ [a3,d4,f4] ~ [a3,d4,f4] ~ a4 ~ [a3,d4,g4] ~", // Dm Dsus4
  E: "[a3,d4,f4]@2 [a3,d4] [a3,d4,f4] g4 [a3,d4,a4]", F: "[a3,c4]@2 [a3,c4] [a3,c4]@2 [a3,c4], e4", G: "c4", H: "d4",
  I: "d4@2 ~@3 e4", J: "c4!4 e4 d4", K: "c4@3 c4@2 e4", L: "d4!4 f4 e4", M: "d4@2 ~ d4 f4 a4", N: "b3", O: "a3",
  P: "a3@2 ~@3 [a3,c4,e4]", Q: "a3@2 ~ [g#3,b3,d4,e4]@2 ~", R: "[a3,c4,e4,a4] ~@2",
})).s("gm_acoustic_guitar_nylon").gain(0.4).pan(0.3)

// bass · acoustic bass
const bass = note(`<
  ~ A B C D B E F G H@2 I J K L M N A B C D B E F G H@2 I J K L M N A B C D B E F G H@2 I J K L M N A B C D B E F G H@2
  I J K L M N A B C D B E F G H@2 I J K L M N A B C D B E F G H@2 I J K L M N A B C D B E F G H@2 I J K L M N A B C D B
  E F G H@2 I J K L M N A B C D B E F G H@2 I J K L O P
>`.pickRestart({
  A: "a2@2 ~ e2@2 ~", B: "a2@2 ~ a2@2 ~", C: "d3@2 ~ a2@2 ~", D: "d3@2 ~ d3 c3 b2",
  E: "[e3,g3] ~ [e3,g3] [g2,e3,g3]@2 [e3,g3], g2 ~@2", F: "[f#3,a3]@2 [f#3,a3] [f#3,a3]@2 [f#3,a3]",
  G: "[e2,g#3,b3]@2 [e2,g#3,b3] [g#3,b3]@2 [g#2,g#3,b3], ~@3 f#2 ~@2", H: "[a2,e3,a3]@2 [e3,a3] [a2,e3,a3]@2 [e3,a3]",
  I: "[d2,f#3,a3]@2 [e3,a3] [d2,f3,a3]@2 [e3,a3]", J: "[e2,e3,g#3]@2 [e3,g#3] [d2,f3,a3]@2 ~",
  K: "[f2,f3,a3]@2 [f3,a3] [f2,f3,a3]@2 [f3,a3]", L: "[e2,e3,g#3]@2 [e3,g#3] [e2,e3,g#3]@2 [d3,e3]",
  M: "a2 c2 e2 a2 e2 [c2,c3,e3], [c3,e3]@2 ~ [c3,e3]@2 ~", N: "[a1,c3,e3]@2 [c3,e3] [e2,c3,e3]@2 ~",
  O: "[a2,c3,e3]@2 ~ e2@2 ~", P: "a2 ~@2",
})).s("gm_acoustic_bass").gain(0.4).pan(0.7)

stack(acoustic_guitar_nylon, bass)

More by Brassens Georges