Strudelify
KeyA majorTempo224 bpm
0:00/0:00
// L'Epave — Brassens Georges
// 224 bpm, 2/2, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 195 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(224/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.

// chords · electric guitar jazz · "Guitare"
const electric_guitar_jazz = note(`<
  A@8 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2 K L A@3 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2 K L A@3 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2 K
  L A@3 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2 K L A@3 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2 K L A@3 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2
  K L A@3 B@4 C@4 D@4 E@2 F@2 G@2 H I J@2 K M N
>`.pickRestart({
  A: "~@4 [e3,a3,c#4]@3 ~@5 [e3,a3,c#4]@3 ~", // A
  B: "[~@4 [c#3,e3]@3 ~@5 [c#3,e3]@3 ~@5 [c#3,e3]@3 ~@5 [c#3,e3]@3 ~, a2@23 ~@9]/2", // C#m
  C: "[~@4 [e3,a3]@3 ~@5 [e3,a3]@3 ~@5 [e3,a3]@3 ~@5 [e3,a3]@3 ~, c#3@23 ~@9]/2", // A5
  D: "[~@4 [a3,c#4]@3 ~@5 [a3,c#4]@3 ~@5 [a3,c#4]@3 ~@5 [a3,c#4]@3 ~, e3@23 ~@9]/2", // A
  E: "[~@4 [a3,d4]@3 ~@5 [a3,d4]@3 ~@5 [a3,d4]@3 ~@5 [a3,d4]@3 ~, f#3@23 ~@9]/2", // D5
  F: "[~@4 [a3,d4]@3 ~@5 [a3,d4]@3 ~@5 [a3,d4]@3 ~@5 [f#3,g#3,c4]@3 ~, f#3@23 ~ d#3@7 ~]/2", // D5 G#7
  G: "[~@4 [g#3,c#4]@3 ~@5 [g#3,c#4]@3 ~@5 [g#3,c#4]@3 ~@5 [g#3,c#4]@3 ~, e3@23 ~@9]/2", // C#5
  H: "~@4 [g#3,c#4]@3 ~@5 [g#3,c#4]@3 ~, e3@15 ~", I: "~@4 [e3,f#3]@3 ~@5 [e3,f#3]@3 ~, a#2@7 ~ c#3@7 ~",
  J: "[~@4 [d#3,f#3,a3]@3 ~@5 [d#3,f#3,a3]@3 ~@5 [d#3,f#3,a3]@3 ~@5 [d#3,f#3,a3]@3 ~, b2@23 ~@9]/2", // D#dim
  K: "~@4 [g#2,b2]@3 ~@5 [b2,e3]@3 ~, e3@7 ~ g#3@7 ~", L: "~@4 [c#3,e3]@3 ~@5 [c#3,e3]@3 ~, a3@11 ~@5",
  M: "[a2,c#3,e3,a3]@7 ~@5 [g#2,d3,e3]@3 ~", N: "[a2,c#3,e3,a3]@3 ~@13",
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · fretless bass · "Contrebasse"
const bass = note(`<
  A@16 B C D E F@3 G H@3 I J K L A@3 M A@8 B C D E F@3 G H@3 I J K L A@3 M A@8 B C D E F@3 G H@3 I J K L A@3 M A@8 B C D
  E F@3 G H@3 I J K L A@3 M A@8 B C D E F@3 G H@3 I J K L A@3 M A@8 B C D E F@3 G H@3 I J K L A@3 M A@8 B C D E F@3 G
  H@3 I J K L N O
>`.pickRestart({
  A: "a2@3 ~@5 e2@3 ~@5", B: "a2@3 ~@5 g2@3 ~@5", C: "e2@3 ~@5 c#2@3 ~@5", D: "a1@3 ~@5 c#2@3 ~@5",
  E: "e2@3 ~ a2@3 ~ b2@3 ~ c#3@3 ~", F: "d3@3 ~@5 a2@3 ~@5", G: "d3@3 ~@5 c3@3 ~@5", H: "c#3@3 ~@5 g#2@3 ~@5",
  I: "c#3@3 ~@5 f#2@3 ~@5", J: "b2@3 ~@5 f#2@3 ~@5", K: "b2@3 ~@5 b2@3 ~@5", L: "e2@3 ~@5 e2@3 ~@5",
  M: "a2@3 ~ e2@3 ~ f#2@3 ~ g#2@3 ~", N: "a2@7 ~@5 e3@3 ~", O: "a2@3 ~@13",
})).s("gm_fretless_bass").gain(0.18).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges