Strudelify

Ballade des dames du temps jadis

Brassens Georges

KeyC majorTempo120 bpm
0:00/0:00
// Ballade des dames du temps jadis — Brassens Georges
// 120 bpm, 3/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 86 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 B C D E F C D E G@2 H I J K L M N O P Q R@2 C D E F C D E G@2 H I J K L M N O P Q R@2 C D E F C D E G@2 H I J K L M
  N O P Q R@2 S D T F S D T G@2 H I J K L M N O P Q U@2
>`.pickRestart({
  A: "~@5 [c4,e4,g4,a4,c5]@9 ~@2", B: "~@5 [c4,e4,g4,a4,c5]@4 ~@2 c4@2 e4@3",
  C: "g4@4 ~ e4@3 c4@3 e4@2 g4@3, ~@5 g3@9 ~@2", D: "~@11 b4@2 c5@3, c5@5 ~@3, ~@5 [e4,g4]@9 ~@2",
  E: "g4@4 ~ d4@3 d4@3 g4@2 f4@3, ~@5 b3@9 ~@2", F: "e4@4 ~ c4@4 ~@2 c4@2 e4@3, ~@5 g3@9 ~@2",
  G: "[e4@4 ~ c4@7 ~ c4@3 a4@3 a4@2 a4@3 b4@3 c5@2 d5@3, ~@5 g3@15 ~ [c4,f4]@9 ~@2]/2", // F5
  H: "c5@4 ~ a4@3 a4@3 b4@2 c5@3, ~@5 [c4,f4]@9 ~@2", I: "~@5 [b3,e4]@3 g4@3 ~@2 b4@3, b4@8 ~@3 [d4,a4]@4 ~",
  J: "~@11 a4@2 g4@3, a4@5 ~@3, ~@5 [g3,c#4,e4]@9 ~@2", K: "f4@4 ~ [a3,f4]@3 d4@3 ~@2 f4@3, ~@11 [b3,e4]@4 ~",
  L: "g4@4 ~ c5@4 ~@2 b4@2 c5@3", M: "g4@4 ~ [c4,d4]@3 d4@3 g4@2 f4@3",
  N: "[g3,c4]@4 ~ a#3@4 ~@4 g4@3, e4@9 ~@2 [c4,a4]@4 ~", O: "f4@4 ~ [c4,f4]@3 g4@3 ~@2 b4@3, ~@11 [d4,f4,a4]@4 ~",
  P: "c5@4 ~ e5@4 ~@4 a4@3, [e4,g4]@9 ~@2 [c4,g4,c5]@4 ~", // Em C5
  Q: "g4@4 ~ g4@3 [g3,e4]@3 [a3,f4]@2 [b3,d4]@3, [a3,c4]@7 ~@9", // C Dm Bm Am
  R: "[e3@4 ~ [e4,g4,a4,c5]@9 ~@7 [c4,e4,g4,a4,c5]@4 ~@2 c4@2 e4@3, c4@5 ~@3]/2", // Am7
  S: "g4@4 ~@4 c4@3 e4@2 g4@3, ~@5 g3@9 ~@2", T: "g4@7 ~ d4@3 g4@2 f4@3", U: "[[e3,g3,a3,c4]@5 ~@3]/2",
})).s("gm_electric_guitar_jazz").gain(0.41).pan(0.8)

// bass · contrabass
const bass = note(`<
  A@2 B@2 C B@3 C D E F G H I J I K L J I A@2 B@2 C B@3 C D E F G H I J I K L J I A@2 B@2 C B@3 C D E F G H I J I K L J
  I A@2 B@2 C B@3 C D E F G H I J I K L J I M N
>`.pickRestart({
  A: "c3@4 ~@7 g2@4 ~", B: "c3@4 ~ e3@4 ~@2 g2@4 ~", C: "d3@4 ~ f3@3 g2@3 a2@2 b2@3", D: "c3@4 ~@4 c3@3 d3@2 e3@3",
  E: "f3@4 ~@7 f3@4 ~", F: "d3@4 ~@7 d3@4 ~", G: "e3@4 ~@7 e2@4 ~", H: "a2@4 ~@4 a2@3 b2@2 c#3@3", I: "d3@4 ~@7 g2@4 ~",
  J: "c3@4 ~@7 e3@4 ~", K: "c3@9 ~@2 [a2,g3]@4 ~", L: "f3@4 ~@7 g2@4 ~", M: "c3", N: "c2 ~@3",
})).s("gm_contrabass").gain(0.41).pan(0.2)

stack(electric_guitar_jazz, bass)

More by Brassens Georges