Strudelify

La Sandía

ferranruizcar

KeyB♭ majorTempo152 bpm
0:00/0:00
// La Sandía — ferranruizcar
// 152 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 7 "Trompeta en Si♭" trumpet (copy of ch 1 "Clarinete en Si♭" clarinet)
// note: Transcription provider: pdmx. https://musescore.com/score/5950781; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(152/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 · clarinet · "Clarinete en Si♭"
const clarinet = note("<~@16 A B ~@2 A B ~@2 A@2 C D E@2 C D ~>".pickRestart({
  A: "f4@4 ~ f4 g4 ab4", B: "f4 ~", C: "f5 eb5 db5 c5", D: "eb5 db5 c5 bb4",
  E: "[f4,ab4]@4 ~ [f4,ab4] [g4,bb4] [ab4,c5]", // Fm Gm Ab
})).s("gm_clarinet").gain(0.3)

// other · alto sax · "Saxofón contralto"
const alto_sax = note("<~@16 A B C@2 A B C@2 A B C@2 A B C@2 ~>".pickRestart({
  A: "ab3@4 ~ ab3 bb3 c4", B: "ab3@4 ~ f4 g4 ab4", C: "[bb4@4 ~ ab4 g4 g4@5 ~ g3 f3 g3]/2",
})).s("gm_alto_sax").gain(0.3)

// other · tenor sax · "Saxofón tenor"
const tenor_sax = note("<~@16 A B C@2 A B C@2 A B C@2 A B C@2 ~>".pickRestart({
  A: "ab3", B: "ab3@4 ~ ab3 f3 eb3", C: "[db3@4 ~ ab3 g3 c4@5 ~ bb3 ab3 g3]/2",
})).s("gm_tenor_sax").gain(0.3)

// other · trombone · "Trombón"
const trombone = note("<~@8 A B C D A B C D A B C D A B C D A B C D A B C D ~>".pickRestart({
  A: "ab3@2 ~@2 ab3@2 ab3@2 c4@2 c4@2 c4@2 ab3 ~", B: "~@2 ab3@2 ab3@2 ab3@2 c4@2 c4@2 ab3 ~@3",
  C: "f3@2 ~@2 f3@2 f3@2 ab3@2 f3@2 ~@2 g3 ~", D: "~ g3!3 bb3 ~ g3 ~",
})).s("gm_trombone").gain(0.2)

// bass · tuba
const bass = note("<A ~ B C A ~ B C A D B E A D B E A D B C A D B C A D B C A D B C ~>".pickRestart({
  A: "f2@2 ~@2 f2@2 f2@2 ab2@2 ab2@2 ab2@2 f2 ~", B: "db2@2 ~@2 db2@2 db2@2 f2@2 db2@2 ~@2 eb2 ~",
  C: "~ eb2!3 g2 ~ eb2 ~", D: "~@2 f2 ~@3 f2@2 ab2@2 ab2@2 f2 ~@3", E: "~ eb2!3 g2 ~ eb3 ~",
})).s("gm_tuba").gain(0.3)

stack(clarinet, alto_sax, tenor_sax, trombone, bass)