Strudelify

Sauf le respect que je vous dois

Brassens Georges

KeyD majorTempo120 bpm
0:00/0:00
// Sauf le respect que je vous dois — Brassens Georges
// 120 bpm, 6/8, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "AcGuitar" acoustic guitar nylon (copy of ch 1 "AcGuitar" acoustic guitar nylon)
// note: Full arrangement: all 169 bars on a 24-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, 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@6 B A@3 B A C D E F@3 G F H I A@4 B A@3 B A C D E F@3 G F H I A@4 B A@3 B A C D E F@3 G F H I A@4 B A@3 B A C D E
  F@3 G F H I A@4 B A@3 B A C D E F@3 G F H I A@4 B A@3 B A C D E F@3 G F H I A@4 B A@3 B A C D E F@3 G F H I A@4 B A@3
  B A C D E F@3 G F H I A@2 J A ~@3
>`.pickRestart({
  A: "d2@7 ~@5 a2@7 ~@5", B: "a1@7 ~@5 e2@7 ~@5", C: "g2@7 ~@5 d3@7 ~@5", D: "f#2@7 ~@5 c#3@7 ~@5",
  E: "e2@7 ~@5 b2@7 ~@5", F: "b1@7 ~@5 f#2@7 ~@5", G: "c3@7 ~@5 c#3@7 ~@5", H: "e2@11 ~", I: "a2@11 ~",
  J: "d2@7 ~@5 a1@7 ~@5",
})).s("gm_acoustic_bass").gain(0.33)

// chords · acoustic guitar nylon · "AcGuitar"
const acoustic_guitar_nylon = note(`<
  A@6 B A@3 B A C D E F G@2 D F H I A@4 B A@3 B A C D E F G@2 D F H I A@4 B A@3 B A C D E F G@2 D F H I A@4 B A@3 B A C
  D E F G@2 D F H I A@4 B A@3 B A C D E F G@2 D F H I A@4 B A@3 B A C D E F G@2 D F H I A@4 B A@3 B A C D E F G@2 D F H
  I A@4 B A@3 B A C D E F G@2 D F H I A@2 J K L@3
>`.pickRestart({
  A: "~@2 [d2,d3,f#3,a3,a4] ~@2 [d3,f#3,a3,f#4,a4]", B: "~@2 [a2,c#3,e3,a3,e4] ~@2 [c#3,e3,a3,c#4,e4]",
  C: "~@2 [g2,d3,g3,b3,d4] ~@2 [b2,d3,g3,b3,d4]", D: "~@2 [f#2,a3,c#4,f#4] ~@2 [a3,c#4,f#4]",
  E: "~@2 [e2,g3,b3,e4] ~@2 [g3,b3,e4]", F: "~@2 [b2,f#3,b3,d#4,f#4] ~@2 [d#3,f#3,b3,d#4,f#4]",
  G: "~@2 [b2,f#3,b3,d4,f#4] ~@2 [d3,f#3,b3,d4,f#4]", H: "~@2 [e2,g#3,b3,e4] [f#2,g#3] [g#2,b3] [g#3,b3,e4]",
  I: "~@2 [a2,c#3,e3,a3,e4] [g2,a3] [f#2,c#4] [c#3,e3,a3,c#4,e4]", J: "~@2 [d2,d3,f#3,a3,a4] ~@2 [c#3,e3,a3,c#4,e4]",
  K: "~@2 [d2,d3,f#3,a3,a4] ~@3", L: "[~@8 d2@4 ~@7 [f#4,a4]@53, ~@8 a3@27 ~, ~@17 d4@54 ~]/3",
})).s("gm_acoustic_guitar_nylon").gain(0.23).pan(0.3)

// chords · acoustic guitar steel · "GuitarCh5"
const acoustic_guitar_steel = note(`<
  ~@4 A B C D E@2 C F G H@2 I J@3 K@2 L M@2 A B C D E@2 C F G H@2 I J@3 K@2 L N@2 A B C D E@2 C F G H@2 I J@3 K@2 L O ~
  A B C D E@2 C F G H@2 I J@3 K@2 L O ~ A B C D E@2 C F G H@2 I J@3 K@2 L O ~ A B C D E@2 C F G H@2 I J@3 K@2 L O ~ A B
  C D E@2 C F G H@2 I J@3 K@2 L O ~ A B C D E@2 C F G H@2 I J@3 K@2 L O P Q ~@4
>`.pickRestart({
  A: "d4@4 a3 d4", B: "f#4@16 ~ d4@3 f#4@4", C: "g4@4 e4 g4", D: "f#4@9 e4@3 d4@10 ~@2",
  E: "[d4@16 a3@3 d4@4 f#4@17 ~ d4@3 f#4@4]/2", F: "f#4@2 e4 d4@2 ~", G: "g4@9 ~ g4@2",
  H: "[f#4@17 ~@2 f#4@4 e4@19 ~ e4@4 ~]/2", I: "d#4@5 ~@3",
  J: "[~ [b3,d4]@7 ~ [b3,d4]@3 [b3,d4]@5 ~@6 f#4@7 ~@2 [b3,d4,f#4]@3 [b3,d4,f#4]@6 ~@2 [b3,d4,f#4]@4 a4@20 ~@5, ~@19 [b3,d4]@11 ~@42]/3", // Bm
  K: "[~@4 b4@2 ~ [f#4,a4]@2 ~@2 [e4,g4]@2 ~@2 [f#4,a4]@2 ~@2 [e4,g4]@2 ~@3 b4@7 ~ d5@7 ~ f#5@7 ~, ~@3 g4@3 ~@17 f#4@13 ~@12]/2", // F#m Em F#m Em
  L: "c#5, g4@7 ~", M: "[[d4,d5]@3 ~]/2", N: "[d5@5 ~@3, d4@7 ~@9]/2", O: "[d4,d5]@7 ~",
  P: "~@12 g4@2 ~ f#4@3 ~ e4@4 ~", Q: "d4@7 ~",
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.7)

// chords · accordion · "Accordeon"
const accordion = note(`<
  ~@104 A@2 B C D@2 B E F@2 G H I J K L M N O ~@29 F@2 G H I J K L M N P Q R S ~@3
>`.pickRestart({
  A: "[[d4,f#4,a4]@11 ~]/2", B: "[c#4,e4,a4]@11 ~", C: "[d4,f#4,a4]@3 ~", D: "[[d4,f#4,a4]@7 ~]/2",
  E: "[d4,f#4,a4]@5 ~", F: "[[g4,b4]@22 ~@2 [f#4,a4]@21 ~@3, d4@15 ~]/2", G: "~ [b3,e4]@19 ~@4, g4@19 ~@5",
  H: "[b3,f#4,a4]@19 ~@5", I: "[b3,d4]@7 ~ [b3,d4]@3 ~ [b3,d4]@7 ~ [b3,d4]@4",
  J: "[b3,d4]@3 ~ [b3,d4]@4 [b3,d4]@4 [d4,f#4]@8 [b3,d4]@4", K: "[c#4,a4]@15 ~ [f#4,b4]@4 [g4,c5]@3 ~",
  L: "[f#4,b4]@3 [d4,f#4]@2 ~", M: "g#3@8 b3@7 ~ d4@7 ~", N: "f#4@11 ~ a3@3 ~ c#4@4 e4@4", O: "d4@2 ~",
  P: "~@12 g4@3 f#4@3 ~ e4@4 ~, d4@2 ~", Q: "d4@13 ~@11", R: "~@12 g4@2 ~ f#4@3 ~ e4@3 ~@2", S: "d4",
})).s("gm_accordion").gain(0.41).pan(0.1)

stack(bass, acoustic_guitar_nylon, acoustic_guitar_steel, accordion)

More by Brassens Georges