Strudelify

Les ricochets

Brassens Georges

KeyD majorTempo140 bpm
0:00/0:00
// Les ricochets — Brassens Georges
// 140 bpm, 6/8, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 201 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(140/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 E B C D F G H I J G K L@2 M N O P Q@2 B C D E B C D F G H I J G K L@2 M N O P Q@2 B C D E B C D F G H I J G
  K L@2 M N O P Q@2 B C D E B C D F G H I J G K L@2 M N O P Q@2 B C D E B C D F G H I J G K L@2 M N O P Q@2 B C D E B C
  D F G H I J G K L@2 M N O P Q@2 B C D E B C D F G H I J G K L@2 M N O P Q@2 B C D E B C D F G H I J G K L@2 M N O P
  Q@2 B C D E B C D F G H I J G K L@2 M N O P R
>`.pickRestart({
  A: "[[d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3 [d4,f#4]@4 ~ [d4,f#4]@3, [b3,b4]]/4", // D B
  B: "[f#3,b3,d4]@4 ~ [f#3,b3,d4]@3 [e3,a#3,c#4]@4 ~ [e3,a#3,c#4]@3", // Bm A#dim
  C: "[d3,f#3,b3]@4 ~ [d3,f#3,b3]@3 [e3,a#3,c#4]@3 b3@2 [e3,a#3,c#4]@3", // Bm A#dim
  D: "[f#3,b3,d4]@4 ~ [f#3,b3,d4]@3 [e3,a#3,c#4]@3 d4@2 [e3,a#3,c#4]@3", // Bm A#dim
  E: "[d3,f#3]@4 ~ [d3,f#3]@3 [a#3,e4,f#4]@4 ~ [a#3,e4]@3, b3@7 ~@9", // D F#7 A#dim
  F: "[d3,f#3]@4 ~ [d3,f#3]@3 [b3,d#4,f#4]@4 ~ [b3,d#4]@3, b3@7 ~@9", // D B
  G: "[b3,e4,g4]@4 ~ [b3,e4,g4]@3 [a3,d#4,f#4]@4 ~ [a3,d#4,f#4]@3", // Em D#dim
  H: "[g3,b3,e4]@4 ~ [g3,b3,e4]@3 [a3,d#4,f#4]@3 e4@2 [a3,d#4,f#4]@3", // Em D#dim
  I: "[b3,e4,g4]@4 ~ [b3,e4,g4]@3 [a3,d#4,f#4]@3 g4@2 [a3,d#4,f#4]@3", // Em D#dim
  J: "[g3,b3]@4 ~ [g3,b3]@3 [e4,g4,b4]@4 ~ [e4,g4]@3, e4@7 ~@9", // G Em
  K: "[g3,b3,e4]@4 ~ [g3,b3,e4]@3 [g3,b3,f#4]@3 e4@2 [g3,b3,f#4]@3", // Em Gmaj7
  L: "[[a#3,c#4,e4]@4 ~ [a#3,c#4,e4]@3 [a#3,c#4,e4]@3 [a#3,c#4,e4]@2 [a#3,c#4,e4]@3 [a#3,c#4,e4]@3 ~@2 b4@3 b4@3 a4@2 g4@3, g4@19 ~@13]/2", // A#dim
  M: "[a3,d4,f#4]@7 ~ [f#3,a#3,c#4,e4]@7 ~", N: "[f#3,b3,d4]@4 ~ g4@3 g4@3 f#4@2 e4@3, ~@8 [b3,d4]@7 ~",
  O: "[g3,b3,d4]@4 ~ [g3,b3,d4]@3 [g3,b3,d4]@4 ~ [g3,b3,d4]@3", // G
  P: "[e3,a#3,c#4]@4 ~ [e3,a#3,c#4]@3 [e3,a#3,c#4]@4 ~ [e3,a#3,c#4]@3", // A#dim
  Q: "[[d3,f#3]@4 ~ [d3,f#3]@3 [d3,f#3]@4 ~ [d3,f#3]@3 [d3,f#3]@3 f#3@2 g3@3 g#3@3 a3@2 a#3@3, b3@19 ~@13]/2", // D
  R: "[d3,f#3,b3] ~@3", // Bm
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · contrabass
const bass = note(`<
  A@3 B A@3 C A@3 D E F@2 G E F H I J K L M A B A@3 C A@3 D E F@2 G E F H I J K L M A B A@3 C A@3 D E F@2 G E F H I J K
  L M A B A@3 C A@3 D E F@2 G E F H I J K L M A B A@3 C A@3 D E F@2 G E F H I J K L M A B A@3 C A@3 D E F@2 G E F H I J
  K L M A B A@3 C A@3 D E F@2 G E F H I J K L M A B A@3 C A@3 D E F@2 G E F H I J K L M A B A@3 C A@3 D E F@2 G E F H I
  J K L M N
>`.pickRestart({
  A: "b2@7 ~ f#2@7 ~", B: "b2@3 f#2@2 g2@3 g#2@3 a2@2 a#2@3", C: "b2@7 ~ f#2@3 g#2@2 a#2@3",
  D: "b2@4 ~ b2@3 a2@3 g2@2 f#2@3", E: "e2@7 ~ b2@7 ~", F: "e3@7 ~ b2@7 ~", G: "e3@4 ~ b2@3 b2@3 g2@2 f#2@3",
  H: "~@3 a#2@2 a#2@3 c#3@4 ~ c#3@3", I: "e3@3 ~@13", J: "d3@7 ~ c#3@7 ~", K: "b2@7 ~ b2@7 ~", L: "g2@15 ~",
  M: "f#2@15 ~", N: "b2 ~@3",
})).s("gm_contrabass").gain(0.29).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges