Strudelify

Bon dia

Els Pets

KeyC majorTempo120 bpm
0:00/0:00
// Bon dia — Els Pets
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 5 "Piano" named as a piano, played on piano (its rock organ patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/2362971; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 116 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.

// other · electric guitar clean · "Guitarra elèctrica"
const electric_guitar_clean = note(`<
  ~ A B C D E F G F H@2 I J@3 K@2 H@2 I J@3 L M N O P Q R S K@2 H@2 I J@3 K@2 H@2 I J@3 K@2 H@2 I J@3 L T U V W X R Y V
  Z AA AB AC AD AA AB AC AE AF AG AH AI AJ AK AL AM AN ~ U V W X R Y V AO U V W X R Y V AO AF AG AH AI AJ AK AL AM AF AG
  AH AI AJ AK AL AM AN
>`.pickRestart({
  A: "e3!4", B: "d3!4", C: "c3!4", D: "b2 e4 c4 b3", E: "a2!4", F: "g2!4", G: "g2 f#2 e2 f#2",
  H: "[~@4 e3@3 c3 e3@3 c3 e3@3 d3@9 ~@8]/2", I: "~@4 c3@3 a2 c3@3 a2 c3@3 d3",
  J: "[e3@4 d3@4 c3@2 b2@4 a2@6 a2@3 g2 a2@3 g2 a2@3 a2@3 g2@8 ~ g2 c3@3 e3]/3", K: "[e3@2 d3@2 a2 d3@2 d3@5 ~@4]/2",
  L: "e3@2 d3@2 a2 d3@2 d3", M: "d3@2 ~ e3", N: "e3@4 c3@8 ~@3 c3", O: "d3@3 d3 d3@3 d3 g3@3 f3 e3@3 d3",
  P: "e3@4 c3@4 ~@7 c3", Q: "b2@3 b2 b2@3 b2 e3@3 d3 c3@3 b2", R: "a2@8 a2@3 b2 c3@3 d3",
  S: "c3@2 g2@4 g2@4 ~ g2 c3@3 e3", T: "d3 ~", U: "~@2 g3 e3", V: "d3", W: "~@2 e3 c3", X: "b2", Y: "c3",
  Z: "d3 c3 b2 c3", AA: "~@4 e3@3 d3 e3@3 d3 e3@3 d3", AB: "c3@2 c3@4 c3@4 a2@2 c3@3 a2",
  AC: "c3@3 a2 c3@3 a2 c3@3 a2 c3@4", AD: "e3 c3 ~@2", AE: "e3 d3 ~@2", AF: "c3 g3", AG: "d3@3 c3 b2@3 a2 g2@3 a2 b2@4",
  AH: "a2 b2 c3@2", AI: "b2@3 a2 g2@3 f2 e2@3 f2 g2@3 b2", AJ: "a2@4 b2@4 c3@4 b2@3 c3",
  AK: "a2@4 g2@4 e2@3 f2 g2@3 a2", AL: "b2@4 a2@4 b2@3 c3 d3@3 e3", AM: "f3 e3 d3 e3", AN: "c3 ~", AO: "d3 c3 b2@2",
})).s("gm_electric_guitar_clean").gain(0.3)

// chords · piano
const piano = note(`<
  ~ A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H A B
  C D E F G H D C E F D C E H A B C D E F G H I ~ A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H I
>`.pickRestart({
  A: "[c4,g4,c5,e5]!4", B: "[g3,g4,b4,d5]!4", C: "[a3,e4,a4,c5]!4", D: "[e3,e4,g4,b4]!4", E: "[f3,c4,f4,a4]!4",
  F: "[c4,e4,g4]!4", G: "[c4,d4,g4] [c4,d4,f#4] [c4,d4,e4] [c4,d4,f#4]",
  H: "[g3,c4,d4,g4] [f3,b3,g4] [e3,a3,c4,g4] [d3,b3,g4]", I: "[c3,g4,c5,e5] ~",
})).s("gm_piano").gain(0.3)

// bass · electric bass finger · "Baix elèctric"
const bass = note(`<
  ~ A B C D E A F G A B C D E A F G A B C D E A F G A B C D E A F G A B C D E A F G A B C D E A F G A B C D E A F G A B
  C D E A F G D C E A D C E G A B C D E A F G H ~ A B C D E A F G A B C D E A F G A B C D E A F G A B C D E A F G H
>`.pickRestart({
  A: "c2!4", B: "g1!4", C: "a1!4", D: "e1!4", E: "f1!4", F: "d2!4", G: "g2 f2 e2 d2", H: "c2 ~",
})).s("gm_electric_bass_finger").gain(0.3)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~@3 A@7 ~ A@7 ~ A@7 ~ A@7 ~@2
>`.pickRestart({
  A: "x!2",
})).gain(0.3)

// drums · snare
const snare = s("sd").struct(`<
  A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A ~ A B@7 A B@7 A B@7 A B@7 A ~
>`.pickRestart({
  A: "x!2 ~ x!3 ~ x!3 ~ x!3 ~ x", B: "x!4",
})).gain(0.3)

// drums · crash
const crash = s("cr").struct(`<
  ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~ A@7 ~@3 A@7 ~ A@7 ~ A@7 ~ A@7 ~@2
>`.pickRestart({
  A: "~ x ~ x",
})).gain(0.3)

stack(electric_guitar_clean, piano, bass, kick, snare, crash)