Strudelify

J'ai rendez-vous avec vous

Brassens Georges

KeyA majorTempo133 bpm
0:00/0:00
// J'ai rendez-vous avec vous — Brassens Georges
// 133 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 71 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): AcGuitr5.
setcpm(133/4)

// 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.

// bass · acoustic bass · "Basse2"
const bass = note(`<
  A@2 B@3 A C A D E@2 F E F E F G H B@3 A C A D E@2 F E F E F G H B@3 A C A D E@2 F E F E F G H@2 B@3 A C A D E@2 F E F
  E F G I@2 ~@3
>`.pickRestart({
  A: "a1@4 e2@3 ~ a1@3 ~ e2@3 ~", B: "a1@4 e2@3 ~ e2@3 ~ e2@3 ~", C: "d2@4 a2@3 ~ e2@3 ~ e2@3 ~",
  D: "b1@4 f#2@3 ~ f#2@3 ~ f#2@3 ~", E: "f#2@4 c#3@3 ~ f#2@3 ~ c#3@3 ~", F: "b1@4 f#2@3 ~ b1@3 ~ f#2@3 ~",
  G: "e2@4 b2@3 ~ e2@3 ~ b2@3 ~", H: "a2@3 ~ g#2@3 ~ f#2@4 e2@2 ~@2", I: "[~ e2 a2@6]/2",
})).s("gm_acoustic_bass").gain(0.27)

// chords · acoustic guitar nylon · "RythGtr3"
const acoustic_guitar_nylon = note(`<
  A@2 B@3 A C A D E F G F G F G H I B@3 A C A D E F G F G F G H I B@3 A C A D E F G F G F G H I@2 B@3 A C A D E F G F G
  F G H J@2 ~@3
>`.pickRestart({
  A: "a2@3 ~ e2@2 [c#3,a3,e4]@2 a2@2 [c#3,a3,e4]@2 e2@2 [c#3,a3,e4]@2", // A
  B: "a2@3 ~ e2@2 [c#3,a3,e4]@2 a2 ~ [g#3,b3,e4]@2 b2@2 [g#3,b3,e4]@2", // A E
  C: "d2@3 ~ a2@2 [d3,f#3,a4]@2 d2 ~ [g#3,b3,e4]@2 b2@2 [g#3,b3,e4]@2", // D E
  D: "b2@3 ~ f#2@2 [f#3,b3,d4]@2 b2 ~ [a3,c#4,f#4]@2 c#3@2 [a3,c#4,f#4]@2", // Bm F#m
  E: "f#2@3 ~ c#3@2 [a3,c#4,f#4]@2 f#2@2 [a3,c#4,f#4]@2 c#3@2 [a3,c#4,f#4]@2", // F#m
  F: "f#2@3 ~ c#3@2 [a#3,c#4,f#4]@2 f#2@2 [a#3,c#4,f#4]@2 c#3@2 [a#3,c#4,f#4]@2", // F#
  G: "b2@3 ~ f#2@2 [f#3,b3,d4]@2 b2@2 [f#3,b3,d4]@2 f#2@2 [f#3,b3,d4]@2", // Bm
  H: "e2@3 ~ b2@2 [g#3,b3,e4]@2 e2@2 [g#3,b3,e4]@2 b2@2 [g#3,b3,e4]@2", // E
  I: "a2@3 ~ g#2@2 [c#3,a3,e4]@2 f#2@2 [c#3,a3,e4]@2 e2@2 [c#3,a3,e4]@2", // A
  J: "[~@2 b3 ~ [e3,a3,c#4]@11 ~, ~@3 [e3,g#3]@3 ~@26]/2", // A E
})).s("gm_acoustic_guitar_nylon").gain(0.16).pan(0.3)

// chords · acoustic guitar nylon · "RythGtr3" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  A@6 B A C D E C E C E C F A@5 B A C D E C E C E C F A@5 B A C D E C E C E C F A@6 B A C D E C E C E C F ~@5
>`.pickRestart({
  A: "~ [c#3,a3,e4] ~@6", B: "~ [d3,f#3,a4] ~@6", C: "~ [f#3,b3,d4] ~@6", D: "~ [a3,c#4,f#4] ~@6",
  E: "~ [a#3,c#4,f#4] ~@6", F: "~ [g#3,b3,e4] ~@6",
})).s("gm_acoustic_guitar_nylon").gain(0.11).pan(0.3)

// chords · acoustic guitar steel · "AcGuitr5"
const acoustic_guitar_steel = note("<~@13 A B ~@14 A B ~@14 C B ~@15 C B ~@7>".pickRestart({
  A: "~@6 a#4 b4 a4 ~@3 e4 ~@3", B: "c#4@3 ~@13", C: "~@6 a#4 ~ a4 ~@3 e4 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.7)

stack(bass, acoustic_guitar_nylon, acoustic_guitar_nylon_2, acoustic_guitar_steel)

More by Brassens Georges