Strudelify

Bb Warm Up

Jayboned

KeyB♭ majorTempo60 bpm
0:00/0:00
// Bb Warm Up — Jayboned
// 60 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Flute" named as a pipe, played on flute (its tuba patch is not one); ch 3 "B♭ Clarinet 2" named as a reed, played on clarinet (its string ensemble 1 patch is not one); ch 5 "Alto Saxophone" named as a reed, played on alto sax (its string ensemble 1 patch is not one); ch 6 "Tenor Saxophone" named as a reed, played on tenor sax (its string ensemble 1 patch is not one)
// note: duplicate parts dropped: ch 11 "B♭ Trumpet 2" trumpet (copy of ch 8 "B♭ Trumpet 1" trumpet); ch 4 "Euphonium (Treble Clef)" french horn (copy of ch 15 "Baritone" french horn)
// note: Transcription provider: pdmx. https://musescore.com/score/6293371; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 21 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/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.

// chords · flute
const flute = note("<A@2 B C ~ D E F G F G H B C I J F K L M N>".pickRestart({
  A: "[bb4@15 ~]/2", B: "bb5@15 ~", C: "bb4 d5 f5 bb5", D: "d5@15 ~", E: "eb5@15 ~", F: "f5@15 ~", G: "g5@15 ~",
  H: "a5@15 ~", I: "a5 f5 c5@2", J: "bb5 g5 eb5 c5", K: "eb5@8 eb5 d5 eb5 f5 g5 f5 eb5 c5", L: "f5 bb5", M: "c5 eb5",
  N: "eb5 c5 [bb4,bb5]@2", // Bb
})).s("gm_flute").gain(0.48)

// chords · flute · soft notes
const flute_soft = note("<~ A B ~ C D@5 E F A@2 G E A E H I A>".pickRestart({
  A: "bb1", B: "bb2", C: "~@2 eb2 c2", D: "bb1/5", E: "eb2", F: "f2", G: "d2", H: "f2 g2", I: "c2",
})).s("gm_flute").gain(0.32)

// chords · tuba · "B♭ Clarinet 1"
const tuba = note("<A@2 B C ~ D E F G F G H B C I J B K L M N>".pickRestart({
  A: "bb3/2", B: "bb4", C: "bb3 d4 f4 bb4", D: "d4", E: "eb4", F: "f4", G: "g4", H: "a4", I: "a4 f4 a4@2",
  J: "bb4 g4 eb4 c4", K: "bb4@8 bb4 a4 bb4 c5 d5 c5 bb4 a4", L: "a4 bb4", M: "c5 eb5", N: "eb5 c5 d5@2",
})).s("gm_tuba").gain(0.48)

// chords · tuba · "B♭ Clarinet 1" · soft notes
const tuba_soft = note("<~ A B ~ C D@5 E F A@2 G E A E H I A>".pickRestart({
  A: "bb1", B: "bb2", C: "~@2 eb2 c2", D: "bb1/5", E: "eb2", F: "f2", G: "d2", H: "f2 g2", I: "c2",
})).s("gm_tuba").gain(0.32)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<A@2 B C ~ D@4 E F@2 E C G H E I J K L>".pickRestart({
  A: "bb3/2", B: "bb4", C: "bb3 d4 f4 bb4", D: "bb3/4", E: "d4", F: "eb4", G: "a4 f4 d4@2", H: "bb4 g4 eb4 c4",
  I: "eb4@8 eb4 d4 eb4 f4 g4 f4 eb4 c4", J: "c4 d4", K: "c4 eb4", L: "eb4 c4 [d4,f4]@2",
})).s("gm_alto_sax").gain(0.39)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<A@2 B C ~ D E F G H I J B C K L H M N O P>".pickRestart({
  A: "bb3/2", B: "bb3", C: "bb2 d3 f3 bb3", D: "bb2", E: "c3", F: "d3", G: "eb3", H: "f3", I: "g3", J: "a3",
  K: "a3 f3 a3@2", L: "bb3 g3 eb3 c3", M: "g3@8 g3 f3 g3 a3 bb3 a3 g3 eb3", N: "f3 bb3", O: "c3 eb3", P: "eb3 c3 f3@2",
})).s("gm_tenor_sax").gain(0.38)

// other · trumpet · "B♭ Trumpet 1"
const trumpet = note("<A@2 B ~ C D E F G H I J B@2 J I H G F E D>".pickRestart({
  A: "[~ bb3@3]/2", B: "bb4", C: "a4 f4 eb4 c4", D: "bb3", E: "c4", F: "d4", G: "eb4", H: "f4", I: "g4", J: "a4",
})).s("gm_trumpet").gain(0.15)

// other · brass section · "Mellophone"
const brass_section = note("<A@2 B ~ C D@4 E F@2 E G H I J K ~ L M>".pickRestart({
  A: "[~ bb3@3]/2", B: "bb4", C: "a4 f4 [eb4,g4] [c4,eb4]", D: "bb3/4", E: "d4", F: "eb4", G: "bb3 d4 f4 bb4",
  H: "a4 f4 a4@2", I: "bb4 g4 eb4 c4", J: "f4", K: "eb4@8 eb4 d4 eb4 f4 g4 f4 eb4 c4", L: "c4 eb4", M: "eb4 c4 d4@2",
})).s("gm_brass_section").gain(0.18)

// other · french horn · "Baritone"
const french_horn = note("<~ A B ~ C A D E F G H I B@2 I H G F E D A>".pickRestart({
  A: "bb2", B: "bb3", C: "a3 f3 eb3 c3", D: "c3", E: "d3", F: "eb3", G: "f3", H: "g3", I: "a3",
})).s("gm_french_horn").gain(0.2)

// other · brass section · "Trombone"
const brass_section_2 = note("<~ A B ~ C D@5 E F A@2 G E G H F I A>".pickRestart({
  A: "bb2", B: "bb3", C: "a3 f3 eb3 c3", D: "bb2/5", E: "eb3", F: "f3", G: "d3", H: "g3", I: "eb3 c3",
})).s("gm_brass_section").gain(0.32)

stack(flute, flute_soft, tuba, tuba_soft, alto_sax, tenor_sax, trumpet, brass_section, french_horn, brass_section_2)

More by Jayboned