Strudelify
KeyD majorTempo120 bpm
0:00/0:00
// Le Vin — Brassens Georges
// 120 bpm, 6/8, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A B C D E@2 F G E@2 F G E F H I E F H J E@2 F G E@2 F G E F H I E F H J E@2 F G E@2 F G E F H I E F H J E@2 F G E@2 F
  G E F H I E F H J E@2 F G E@2 F G E F H I E F H J
>`.pickRestart({
  A: "[f#3,b3,d4,f#4]@11 ~@5", B: "[e3,g3,c4,e4]@11 ~@5", C: "[e3,a#3,c#4,f#4]@11 ~@5",
  D: "[b2,d3,f#3,b3]@4 ~ [b3,d4,f#4,b4]@3 [b3,d4,f#4,b4]@3 ~@5", E: "~@5 [f#3,b3,d4]@3 ~@5 [f#3,b3,d4]@3",
  F: "~@5 [g3,c4,e4]@3 ~@5 [g3,c4,e4]@3", G: "[a#3,c#4,e4,f#4] ~ [a#3,c#4,e4,f#4] ~",
  H: "~@5 [a#3,c#4,e4,f#4]@3 ~@5 [a#3,c#4,e4,f#4]@3", I: "~@5 [b3,d4,f#4]@3 ~@5 [b3,d4,f#4]@3",
  J: "[d3,f#3,b3]@4 ~ [b3,d4,f#4,b4]@3 [b3,d4,f#4,b4]@3 ~@5", // Bm
})).s("gm_acoustic_guitar_nylon").gain(0.28).pan(1)

// bass · acoustic bass
const bass = note(`<
  A B C D E@2 F G E@2 H G E H G E@2 H G I E@2 F G E@2 H G E H G E@2 H G I E@2 F G E@2 H G E H G E@2 H G I E@2 F G E@2 H
  G E H G E@2 H G I E@2 F G E@2 H G E H G E@2 H G I
>`.pickRestart({
  A: "[b1,f#2,d3]@11 ~@5", B: "[c2,g2,c3]@11 ~@5", C: "[f#2,c#3,a#3]@11 ~@5", D: "[b1,f#2,b2]@11 ~@5",
  E: "[b1,b2] ~ f#2 ~", F: "[c2,c3] ~ f#2 ~", G: "[c#2,c#3] ~ f#2 ~", H: "[c2,c3] ~ g2 ~", I: "[b1,b2]@11 ~@5",
})).s("gm_acoustic_bass").gain(0.33).pan(0)

stack(acoustic_guitar_nylon, bass)

More by Brassens Georges