Strudelify

Tequila

jiha

KeyF majorTempo120 bpm
0:00/0:00
// Tequila — jiha
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "Alto Saxophone" alto sax (copy of ch 1 "Bb Trumpet" trumpet); ch 7 "Bb Clarinet" clarinet (copy of ch 6 "Flute" flute); ch 9 "Horn" french horn (copy of ch 8 "Alto Saxophone" alto sax); ch 12 "Horn" french horn (copy of ch 11 "Alto Saxophone" alto sax); ch 13 "Trombone" trombone (copy of ch 11 "Alto Saxophone" alto sax); ch 14 "Euphonium" tuba (copy of ch 11 "Alto Saxophone" alto sax)
// note: Transcription provider: pdmx. https://musescore.com/score/90919; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 47 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · trumpet · "Bb Trumpet"
const trumpet = note(`<
  ~@3 A B C D A B C D E F G F H F I J K ~@3 A B C D A B C D E F G F H F I J K ~@4 L M N
>`.pickRestart({
  A: "~@7 f4", B: "bb4@2 ~@2 bb4@2 ab4@2 c5@4 ab4@2 bb4 ~", C: "~@2 f4 ~@11 f4@2",
  D: "bb4@2 ~@2 bb4@2 ab4@2 c5@2 ab4@2 ~@2 bb4 ~", E: "~@5 bb3 d4 f4", F: "db5", G: "bb4@2 ~ [bb4,bb5] ~ bb3 d4 f4",
  H: "bb4 ~@2 [bb4,bb5] ~ bb3 d4 f4", I: "bb4", J: "c5!6 ~ f5", K: "~@3 bb4!2 bb4@3", L: "f5 ~ f5 ~ eb5@2 ~ f5",
  M: "~ f5 ~ f5 eb5!2 f5 eb5", N: "f5 ~ f5 ~@2 eb5 ~ f5",
})).s("gm_trumpet").gain(0.3)

// other · english horn · "Bb Trumpet"
const english_horn = note(`<
  ~@3 A B C D A B C D E F G F H I J K L ~@5 M ~ N ~ M ~ E F G F H I J K L ~@4 O P Q
>`.pickRestart({
  A: "~@7 f4", B: "bb4@2 ~@2 bb4@2 ab4@2 c5@4 ab4@2 bb4 ~", C: "~@2 f4 ~@11 f4@2",
  D: "bb4@2 ~@2 bb4@2 ab4@2 c5@2 ab4@2 ~@2 bb4 ~", E: "~@5 f4 g4 bb4", F: "bb4", G: "bb4@2 ~ [bb4,bb5] ~ f4 g4 bb4",
  H: "bb4 ~@2 [bb4,bb5] ~ f4 g4 bb4", I: "bb4 a4", J: "g4@3 f4@5", K: "g4!6 ~ f4", L: "~@3 bb4!2 bb4@3",
  M: "~ d5!2 ~ c5!3 ~", N: "~ d5 bb4 ~ c5 ab4 f4 ~", O: "f5 ~ f5 ~ eb5@2 ~ f5", P: "~ f5 ~ f5 eb5!2 f5 eb5",
  Q: "f5 ~ f5 ~@2 eb5 ~ f5",
})).s("gm_english_horn").gain(0.3)

// other · flute
const flute = note(`<
  ~@3 A B C D A B C D E F G F H I J K L ~@3 A M N O P Q N R S F G F T U V K W ~@4 X Y Z
>`.pickRestart({
  A: "~@7 f4", B: "bb4@2 ~@2 bb4@2 ab4@2 c5@4 ab4@2 bb4 ~", C: "~@2 f4 ~@11 f4@2",
  D: "bb4@2 ~@2 bb4@2 ab4@2 c5@2 ab4@2 ~@2 bb4 ~", E: "~@5 f5 g5 bb5", F: "bb5", G: "bb5@2 ~ bb5 ~ f5 g5 bb5",
  H: "bb5 ~@2 bb5 ~ f5 g5 bb5", I: "bb5 a5", J: "g5@3 f5@5", K: "g5!6 ~ f5", L: "~@3 bb4!2 bb4@3",
  M: "d5@2 eb5@2 f5@2 ~@2 eb5@2 c5@2 eb5@2 d5 ~", N: "~@2 bb4 ~@3 ab4@4 bb4@2 f4@2 ~@2",
  O: "d5@2 eb5@2 f5@2 ~@2 eb5@2 d5@2 c5@2 d5 ~", P: "~@2 f5 ~@3 bb5 ~ ab5@2 g5@2 f5@2 ~@2",
  Q: "d5@2 eb5@2 f5@2 ~@2 eb5@2 f5@2 eb5@2 d5 ~", R: "d5 eb5 f5 ~ eb5 f5 bb5!2", S: "~ bb5!4 f5 g5 bb5",
  T: "bb5 ~@2 bb5 ~ f5 d5 bb4", U: "ab4 a4", V: "bb4@3 b4@5", W: "~@3 c5!2 c5@3", X: "f5 ~ f5 ~ eb5@2 ~ f5",
  Y: "~ f5 ~ f5 eb5!2 f5 eb5", Z: "f5 ~ f5 ~@2 eb5 ~ f5",
})).s("gm_flute").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  ~@2 A B A B A B A B A C D E D E F G H I ~@2 A B A B A B A B A C D E D E J K H I ~@2 A B A B L
>`.pickRestart({
  A: "d4 ~ d4 ~ c4@2 ~ d4", B: "~ d4 ~ d4 c4!2 d4 c4", C: "~ d4 ~ d4 c4 f4 d4 bb3", D: "g3", E: "d4 ~@2 d4 ~ f4 d4 bb3",
  F: "ab3 a3", G: "bb3@3 b3@5", H: "g3!6 ~ f3", I: "~@3 eb4!2 eb4@3", J: "bb3 a3", K: "g3@3 f3@5",
  L: "d4 ~ d4 ~@2 c4 ~ d4",
})).s("gm_alto_sax").gain(0.3)

stack(trumpet, english_horn, flute, alto_sax)