Strudelify

Entre l'Espagne et l'Italie

Brassens Georges

KeyA majorTempo160 bpm
0:00/0:00
// Entre l'Espagne et l'Italie — Brassens Georges
// 160 bpm, 6/8, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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 · "Guitare"
const electric_guitar_jazz = note(`<
  A B C D E D F@7 G@3 H@4 I@7 J@5 H@4 I@7 J@5 H@4 I@7 J@5 H@4 I@7 J@5 H@4 I@7 J@5 H@4 K L
>`.pickRestart({
  A: "d4@3 e4@2 f#4@3 e4@3 d4@2 g#4@3", B: "f#4@3 e4@2 a4@3 e4@3 c#4@2 a3@3",
  C: "~@5 [a2,c#3]@4 ~@2 [a2,c#3,e3]@2 [a2,c#3,e3]@3", // A
  D: "~@3 [a2,c#3,e3]@2 [g#2,b2,d3]@4 ~@2 [g#2,d3,e3]@2 [g#2,d3,e3]@3", // A G#dim E7
  E: "~@3 [g#2,d3,e3]@2 [a2,c#3]@4 ~@2 [a2,c#3,e3]@2 [a2,c#3,e3]@3", // E7 A
  F: "[~@3 [g#2,d3,e3]@2 ~@6 [c#3,e3,a3]@7 ~ [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~ [d3,e3,g#3]@2 ~@6 [c#3,e3,a3]@7 ~ [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~ [d3,e3,g#3]@2 ~@6 [c#3,e3,a3]@7 ~ [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~ [d3,e3,g#3]@2 ~@6 [c#3,e3,a3]@5, ~@5 a2@9 ~@7 g#2@15 ~ a2@9 ~@7 g#2@15 ~ a2@9 ~@7 g#2@15 ~ a2@9 ~@2]/7", // E7 A E7 A E7 A E7 A
  G: "[~@3 [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~@9 [a2,c#3]@7 ~ [a2,c#3]@2 [a2,d3]@4 ~@2 [d3,f#3]@5, ~@5 g#2@12 ~@4 g3@15 ~ f#3@6 ~@5]/3", // A E7 A D5 D
  H: "[[f#3,a3]@4 ~@7 [a#2,d3]@7 ~ [a#2,d3]@2 ~@6 [a2,c#3]@7 ~ [a2,c#3]@2 ~@6 [a2,c#3]@7 ~ [a2,c#3]@2 [a2,d3]@4 ~@2 [d3,f#3]@5, ~@5 f3@15 ~ e3@15 ~ g3@15 ~ f#3@6 ~@5]/4", // F#m A# A D5 D
  I: "[[f#3,a3]@4 ~@7 [a2,d3]@7 ~ [a2,d3]@2 ~@6 [g#2,b2]@7 ~ [g#2,b2]@2 ~@6 [c#3,e3,a3]@7 ~ [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~ [d3,e3,g#3]@2 ~@6 [c#3,e3,a3]@7 ~ [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~ [d3,e3,g#3]@2 ~@6 [c#3,e3,a3]@5, ~@5 f3@15 ~ e3@15 ~ a2@9 ~@7 g#2@15 ~ a2@9 ~@7 g#2@15 ~ a2@9 ~@2]/7", // F#m D5 G#m A E7 A E7 A
  J: "[~@3 [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~ [d3,e3,g#3]@2 ~@6 [c#3,e3,a3]@7 ~ [c#3,e3,a3]@2 ~@6 [d3,e3,g#3]@7 ~@9 [a2,c#3]@7 ~ [a2,c#3]@2 [a2,d3]@4 ~@2 [d3,f#3]@5, ~@5 g#2@15 ~ a2@9 ~@7 g#2@12 ~@4 g3@15 ~ f#3@6 ~@5]/5", // A E7 A E7 A D5 D
  K: "[f#3,a3]@4 ~ [b2,d3,f#3]@4 ~@4 [g#2,d3,e3]@3", L: "~@5 [a2,c#3,e3,a3]@9 ~@2",
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · fretless bass · "Contrebasse"
const bass = note(`<
  A B C A C A D A C A D A C E C F G C@2 F H I D A C A D A C E C F G C@2 F H I D A C A D A C E C F G C@2 F H I D A C A D
  A C E C F G C@2 F H I D A C A D A C E C F G C@2 F H I D A C A D A C E C F G C@2 F J K
>`.pickRestart({
  A: "~@5 b2@4 ~@4 e2@3", B: "~@5 a2@4 ~@2 e2@2 a1@3", C: "~@5 a2@4 ~@4 e2@3", D: "f#2@3 g#2@2 a2@4 ~@4 e2@3",
  E: "~@5 b2@4 ~@2 g#2@2 e2@3", F: "~@5 d2@4 ~@2 f#2@4 ~", G: "a2@4 ~ a#2@4 ~@4 f2@3", H: "a2@4 ~ d2@4 ~@4 d2@3",
  I: "~@5 e2@4 ~@4 e2@3", J: "a2@4 ~ b2@4 ~@4 e2@3", K: "~@5 a2@3 e2@3 c#2@2 a1@3",
})).s("gm_fretless_bass").gain(0.18).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges