Strudelify

Les Amours d'antan

Brassens Georges

KeyA majorTempo134 bpm
0:00/0:00
// Les Amours d'antan — Brassens Georges
// 134.4 bpm, 3/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(134.4/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.

// other · electric guitar jazz · "Guitare"
const electric_guitar_jazz = note(`<
  ~ A B C@2 D E F@2 A@2 B C@2 D E G@2 A@2 B C@2 D E F@2 A@2 B C@2 D E G@2 A@2 B C@2 D E F@2 A@2 B C@2 D E G@2 A@2 B C@2
  D E F@2 A@2 B C@2 D E G@2 A@2 B C@2 D E F@2 A@2 B C@2 D E G@2 A@2 B C@2 D E F@2 A@2 B C@2 D E F@2 H I@2
>`.pickRestart({
  A: "a3@3 d4@2 f#4@3 d4@3 a3@3 ~@2", B: "g#3@3 c#4@2 e4@3 c#4@3 g#3@3 ~@2", C: "g3@3 b3@2 e4@3 b3@3 g3@3 ~@2",
  D: "c#4@3 e4@2 a#4@3 e4@3 c#4@3 ~@2", E: "d4@3 e4@2 g#4@3 e4@3 d4@3 ~@2",
  F: "[d4@3 e4@2 g#4@3 e4@3 d4@2 a4@7 a3@2 a#3@2 b3@2 c4@2 ~ [f#3,d4]@3, ~@13 c#4@9 ~@2 g#3@4 c#4@2 ~@2]/2", // D
  G: "[d4@3 e4@2 g#4@3 e4@3 d4@2 a4@7 a3@2 a#3@2 ~@2 c4@2 ~ [f#3,d4]@3, ~@13 c#4@9 ~@2 [g#3,b3]@4 c#4@2 ~@2]/2", // D G#m
  H: "~@3 [a3,d4,f#4]@4 ~ [d4,f#4,a4]@4 ~@4", I: "[~@3 [b3,d4,e4,g#4]@9 ~ [a3,c#4,e4,a4]@15 ~@4]/2",
})).s("gm_electric_guitar_jazz").gain(0.46).pan(0.3)

// bass · contrabass · "Contrebasse"
const bass = note("<A@8 B@8 C D@8 C B@8 C D@8 C B@8 C D@8 C B@8 C D@8 C B@8 C D@8 C B@8 E@5>".pickRestart({
  A: "[~@13 d3@15 ~ c#3@31 ~ g2@15 ~ f#2@15 ~ e2@31 ~ a2@3]/8",
  B: "[~@8 a2@4 ~ d3@31 ~ c#3@31 ~ g2@15 ~ f#2@15 ~ e2@19]/8", C: "~@13 a2@3",
  D: "[~@8 a2@4 ~ d3@15 ~ d3@15 ~ c#3@31 ~ g2@15 ~ f#2@15 ~ e2@19]/8",
  E: "[~@13 a2@9 ~@2 a2@4 ~ d2@15 ~ e2@15 ~ [a1,e2,a2]@15 ~@4]/5", // A5
})).s("gm_contrabass").gain(0.59).pan(0.7)

stack(electric_guitar_jazz, bass)

More by Brassens Georges