Strudelify

Pizzicato

Leo Delibes

KeyE♭ majorTempo69 bpm
0:00/0:00
// Pizzicato — Leo Delibes
// 69 bpm, 2/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 8) are rendered on a constant 2/4 grid of one bar per cycle
// note: ch 1 "Flute" named as a pipe, played on flute (its tremolo strings patch is not one); ch 2 "Oboe" named as a reed, played on oboe (its string ensemble 1 patch is not one); ch 3 "B♭ Clarinet" named as a reed, played on clarinet (its pizzicato strings patch is not one); ch 4 "Bassoon" named as a reed, played on bassoon (its tremolo strings patch is not one); ch 5 "Horn in E♭" named as a brass, played on brass section (its string ensemble 1 patch is not one); ch 7 "B♭ Trumpet" named as a brass, played on trumpet (its tremolo strings patch is not one); ch 9 "Trombone" named as a brass, played on trombone (its pizzicato strings patch is not one); ch 12 "Bass Trombone" named as a bass, played on electric bass finger (its string ensemble 1 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/6291139; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 62 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(69/2)

// 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.

// other · flute
const flute = note("<~@4 A@3 ~@31 B@2 C D B@2 E F G@2 H I G@2 J K ~@6 L M>".pickRestart({
  A: "[~@18 [f4,bb4]@2 [ab4,d5]@2 [bb4,f5] [d5,bb5]@31 ~@18]/3", B: "c5@14 ~ db5@3 f4@3 g4@3",
  C: "c5 db5 f5 eb5 g5 f5 eb5 c5", D: "c5 db5 f4 c5 bb4@2 eb4 ~", E: "c5 db5 f5 eb5 ab5 eb5 c5 db5",
  F: "bb4@2 bb4 c5 ab4 ~ eb5@2", G: "c6@14 ~ db6@3 f5@3 g5@3", H: "c6 db6 f6 eb6 g6 f6 eb6 c6",
  I: "c6 db6 f5 c6 bb5@2 eb5 ~", J: "c6 db6 f6 eb6 ab6 eb6 c6 db6", K: "bb5@2 bb5 c6 ab5 ~@3", L: "~@7 bb5",
  M: "~ [bb5,eb6]@2 ~@9", // Eb5
})).s("gm_flute").gain(0.3)

// chords · oboe
const oboe = note("<A B@5 ~@54 C D>".pickRestart({
  A: "~@3 ab4@7 eb4 ab4", B: "[~ eb5@14 ~@5 a4@14 e4@2 ~ db5@2 [a4,e5]@14 ~@5 ab4@42 ~@20, c5 ~@17 a4 ~@41]/5",
  C: "~@7 [bb4,d5,bb5]", D: "~ [bb4,eb5,g5,eb6]@2 ~@9",
})).s("gm_oboe").gain(0.4)

// other · bassoon
const bassoon = note("<A@4 ~@49 B ~@4 C D@2 E>".pickRestart({
  A: "[~@6 [ab3,c4]@33 ~@5 [g3,db4]@33 ~@19]/4", B: "~@2 [eb3,db4]@2 [ab3,c4] ~@3", C: "g3 ~ a3 ~",
  D: "[b3@5 ~@6 c4@5 ~@6 bb3@5 ~@4 ab3@5 ~@9 [bb2,bb3]@3]/2", E: "~ [eb2,eb3]@2 ~@9",
})).s("gm_bassoon").gain(0.35)

// chords · brass section · "Horn in E♭"
const brass_section = note("<A B C@2 ~@49 D ~ E ~ E ~@2 F G>".pickRestart({
  A: "~@10 c4 f4", B: "~ c5@14 ~@9, ab4 ~@11", C: "[~@10 db4@2 ~ a4@2 db5@14 ~@19, ~@6 gb4 ~@17]/2",
  D: "~@2 eb4@2 eb4 ~@3", E: "~@2 bb3@5 ~", F: "~@3 [eb4,g4]@2 ~@7 [bb3,f4]@2 ~@3 [bb3,eb4]@2 ~@2 [bb3,f4,d5,bb5]@3",
  G: "~ [eb4,g4,bb4,g5]@2 ~@9", // Eb
})).s("gm_brass_section").gain(0.4)

// chords · brass section · "Horn in E♭" · soft notes
const brass_section_soft = note("<~@3 A@4 ~@20 B C ~@33>".pickRestart({
  A: "[~@47 bb3@33 ~@16, ~@5 d4@21 ~@22]/4", B: "~ f4@11", C: "~@2 bb3@9 ~@13",
})).s("gm_brass_section").gain(0.2)

// chords · trumpet · "B♭ Trumpet" · Eb5
const trumpet = note("<~@60 [~@7 bb4] [~ [bb4,eb5]@2 ~@9]>").s("gm_trumpet").gain(0.45)

// chords · trombone
const trombone = note(`<
  ~@7 A@7 B@2 C D E F G H I J K L G M N ~ O P Q R S T U V W@2 X@2 W@2 X Y Z@7 Y O AA Q R S AB AC AD
>`.pickRestart({
  A: "[~@11 bb3@3 ~@3 bb3@3 ~@3 bb3@3 ~@3 [g3,eb4]@3 ~@3 [bb3,ab4]@3 [c4,bb4]@3 ~@6 bb3@3 ~@3 [ab3,d4]@3 ~@3 [bb3,g4]@3 [g4,bb4]@3 ~@6 bb3@3 ~@3 [g3,eb4]@3 ~@3 gb4]/7", // Cm Bb7 C7 Abdim Eb Gm Cm
  B: "[~@4 c5@6 ~@12 [bb3,d4]@6 ~@7 [gb3,d4]@6 ~@7]/2", C: "[g3,d4]@7 ~@17", D: "~ bb3@3 ~@3 [g3,eb4]@3 ~@2",
  E: "~ [bb3,ab4]@3 [c4,bb4]@3 ~@5", F: "~ bb3@3 ~@3 [ab3,d4]@3 ~@2", G: "~ [eb3,bb3,g4]@3 [g3,eb4,bb4]@3 ~@5",
  H: "~ eb4@3 ~@3 f4@3 ~@2", I: "~ g4@3 ~@3 eb4@3 ~@2", J: "~ [bb3,g4]@3 ~@3 [ab3,f4]@3 [g3,eb4]@2",
  K: "~ [bb3,f4,d5]@3 [bb3,g4,eb5]@3 ~@5", L: "~ [a3,d4]@3 ~@3 [gb3,d4]@3 ~@2", M: "~ [f3,eb4]@3 ~@3 [f3,eb4]@3 ~@2",
  N: "~ [bb3,ab4]@3 ~@8", O: "~ bb3 ~ [g3,eb4]", P: "~ [bb3,ab4] [d4,bb4] ~", Q: "~ bb3 ~ [ab3,d4]",
  R: "~ [eb3,bb3,g4] [g3,eb4,bb4] ~", S: "~ eb4 ~ f4", T: "~ g4 ~ eb4", U: "~ [bb3,g4] ~ [ab3,f4]",
  V: "[g3,eb4] [bb3,f4,d5] [bb3,g4,eb5] ~", W: "~ eb3 [eb3,db4] ~", X: "~ eb3 ab3 eb3", Y: "~ [g3,eb4] [ab3,eb4] ~",
  Z: "~ eb3 eb4 [eb3,db4]", AA: "~ [bb3,ab4] [c4,bb4] ~", AB: "~@5 g4@5 ~@6 eb4@5 ~@3",
  AC: "~@3 [bb3,g4]@5 ~@4 [ab3,f4]@5 [g3,eb4]@4 [bb3,f4,ab4,d5]@3", AD: "~ [bb3,d4,g4,bb4,eb5]@2 ~@9",
})).s("gm_trombone").gain(0.2)

// bass · electric bass finger · "Bass Trombone"
const bass = note("<~@3 A@3 ~@54 B C>".pickRestart({
  A: "[~@5 f3@21 ~@10]/3", B: "~@7 bb3", C: "~ eb3@2 ~@9",
})).s("gm_electric_bass_finger").gain(0.5)

// other · tremolo strings · "Timpani"
const tremolo_strings = note("<~@60 [~@7 bb2] [~ eb3@2 ~@9]>").s("gm_tremolo_strings").gain(0.45)

// chords · string ensemble 1 · "Harp"
const string_ensemble_1 = note("<~@3 A@2 ~@50 B ~ C D E@2 F>".pickRestart({
  A: "[~@5 [f2,bb2,f3,ab3,d4,bb4]@19]/2", B: "~ [bb3,d4,f4,ab4,bb4,d5,f5] [d4,f4,ab4,bb4,f5,bb5] ~",
  C: "~ [eb3,g3,bb3,eb4,bb4,eb5,g5,bb5] [g3,bb3,eb4,g4,eb5,g5,bb5,eb6] ~", D: "eb5 ~ f5 ~",
  E: "[g5@5 ~@6 eb5@5 ~@6 bb5@5 ~@4 bb5@2 ~ b5@2 c6@2 ~ d6@2 eb6@4 [bb2,d3,f3,bb3,bb4,d5,f5,bb5]@3]/2", // Bb
  F: "~ [eb2,g2,bb2,eb3,eb5,g5,bb5,eb6]@2 ~@9", // Eb
})).s("gm_string_ensemble_1").gain(0.2)

// other · pizzicato strings
const pizzicato_strings = note(`<
  ~@8 A B@2 C@2 D@2 E F@2 G@2 H@4 I@2 J@3 K L M N O P Q R S T@2 U V T@2 U W X@2 U V X@2 U Y L M N O P Z AA ~
>`.pickRestart({
  A: "~@13 g4@3 bb4@3 f4@3 ab4@2",
  B: "[~ eb4@3 g4@3 ab4@3 bb4@3 eb5@3 d5@6 [d4,bb4]@6 [ab4,f5]@6 ~@3 c5@3 eb5@3 bb4@3 d5@2]/2", // Gm Db
  C: "[~ ab4@3 c5@3 d5@3 f5@3 ab5@3 g5@6 [g4,eb5]@6 [eb5,g5]@6 ~@3 g4@3 bb4@3 f4@3 ab4@2]/2", // Cm Eb
  D: "[~ eb4@3 g4@3 ab4@3 bb4@3 eb5@3 d5@6 [d4,ab4]@6 [ab4,a5]@6 ~@3 d5@3 g5@3 bb4@3 c5@2]/2", // Ddim Amaj7
  E: "~ eb5@3 d5@3 ~ g4@3 a4@3 bb4@3 g4@3 ~ bb4@3",
  F: "[a4@3 bb4@3 ~ g4@3 bb4@3 ~ ab4@3 g4@3 bb4@3 f4@3 ab4@3 eb4@3 g4@3 ab4@3 bb4@3 eb5@3 d5@4]/2",
  G: "[~@2 [d4,bb4]@6 [ab4,f5]@6 ~@3 c5@3 eb5@3 bb4@3 d5@3 ab4@3 c5@3 d5@3 f5@3 ab5@3 g5@4]/2", // Gm Db
  H: "[~@2 [eb4,bb4,g5]@6 [eb4,bb4,bb5]@6 ~@3 bb4@3 eb5@3 bb4@3 db5@3 c5@3 f5@3 c5@3 eb5@3 d5@3 g5@3 d5@3 f5@3 d5@3 eb5@3 f5@3 g5@3 ab5@3 bb5@3 g5@3 ab5@3 a5@3 bb5@3 b5@3 c6@3 d6@3 eb6@4]/4", // Eb Eb5
  I: "[~@2 [f4,d5,bb5]@6 [eb4,bb4,g5]@6 ~@3 eb5@3 d5@3 a4@3 bb4@3 c5@3 d5@3 a4@3 bb4@3 c5@3 d5@4]/2", // Bb Eb
  J: "[~@2 [d4,d5]@6 [d4,d5,g5]@6 ~@3 g5@3 f5@3 c5@3 d5@3 eb5@3 f5@3 c5@3 d5@3 eb5@3 f5@3 g5@3 f5@3 c5@3 eb5@3 f5@3 eb5@3 ~ bb4@3 d5@3]/3", // D G5
  K: "eb5@3 ~ d5@3 ab4@3 ~ c5@3 d5@3 ~ c5@3 g4@3", L: "bb4 f4 ab4 eb4 g4 ab4 bb4 eb5",
  M: "d5@2 [d4,bb4]@2 [ab4,bb5]@2 ~ c5", N: "eb5 bb4 d5 ab4 c5 d5 f5 ab5",
  O: "g5@2 [eb4,bb4,g5]@2 [eb4,bb4,bb5]@2 ~ bb4", P: "eb5 bb4 db5 c5 f5 c5 eb5 d5", Q: "g5 d5 f5 d5 eb5 f5 g5 ab5",
  R: "bb5 g5 ab5 a5 bb5 b5 c6 d6", S: "eb6 [f4,d5,bb5] [eb4,bb4,g5] ~", T: "~ eb4 eb5 ~", U: "~ eb5", V: "~ eb4",
  W: "~ db4 c4 ~", X: "~@3 db4", Y: "~@2 db4@2 c4@2 ~ g4", Z: "g5@2 d5@3 f5@3 d5@3 eb5@2 f5@3 g5@3 ab5@3 bb5@2",
  AA: "g5@2 ~ ab5@2 a5@2 bb5@2 ~ b5@2 c6@2 ~ d6@2 eb6@4 ~@3",
})).s("gm_pizzicato_strings").gain(0.2)

// other · string ensemble 1
const string_ensemble_1_2 = note("<A B C@4 ~@56>".pickRestart({
  A: "~@10 ab3 c4", B: "~ ab4@14 ~@9, f4 ~@11", C: "[~@10 ab3@2 ~ e4@2 a4@14 ~@5 ab3@42 ~@20, ~@6 db4 ~@41]/4",
})).s("gm_string_ensemble_1").gain(0.4)

// other · pizzicato strings
const pizzicato_strings_2 = note(`<
  A B@2 ~@4 C@8 D E F G H I J K L M N O P Q ~ R S T U V W X Y Z@2 AA@2 Z@2 AB AC AD@2 AB@2 AD@2 AB AC R S T U V AE@2 AF
>`.pickRestart({
  A: "~@2 ab3@3 ~@3", B: "[~@20 g3@9 ~@19]/2",
  C: "[~@8 eb3@3 bb3@3 bb2@3 bb3@3 eb3@3 bb3@3 bb2@3 bb3@3 f3@3 bb3@3 d4@3 ~@3 f3@3 bb3@3 bb2@3 bb3@3 eb3@3 bb3@3 eb4@3 ~@3 f3@3 bb3@3 bb2@3 bb3@3 gb3@3 d4@3 gb4@3 ~@3 g3@3 d4]/8",
  D: "~@4 d3@6 ~ d4@6 g2@7", E: "[d3,ab3]@7 ~@13 eb3@4", F: "~ bb3@3 bb2@3 bb3@3 f3@2", G: "~ bb3@3 d4@3 ~@3 f3@2",
  H: "~ bb3@3 bb2@3 bb3@3 eb3@2", I: "~ bb3@3 eb4@3 ~@3 g3@2", J: "~ eb4@3 a3@3 f4@3 b3@2",
  K: "~ g4@3 c4@3 eb4@3 bb2@2", L: "~ eb4@3 bb2@3 bb3@3 eb3@2", M: "~ [bb2,f3,d4]@3 [eb2,bb2,g3]@3 ~@3 gb2@2",
  N: "~ [d3,c4]@3 d2@3 [d3,c4]@3 eb2@2", O: "~ eb3@3 g3@3 ~@3 a2@2", P: "~ c4@3 f2@3 a3@3 ab2@2", Q: "~ [f3,d4]@3 ~@8",
  R: "eb3 bb3 bb2 bb3", S: "f3 bb3 d4 ~", T: "f3 bb3 bb2 bb3", U: "eb2 eb3 g3 ~", V: "g3 eb4 a3 f4", W: "b3 g4 c4 eb4",
  X: "bb2 eb4 bb2 bb3", Y: "eb3 [bb2,f3,d4] [eb2,bb2,g3] ~", Z: "ab2 eb3 g3 ~", AA: "ab2 eb3 c4 eb3",
  AB: "ab2 eb3 ab3 eb3", AC: "eb2 eb3 ab3 ~", AD: "ab2 ~@2 eb3",
  AE: "[b3@5 g4@5 ~ c4@5 eb4@5 ~ bb2@5 eb4@4 bb2@5 bb3@5 eb3@4 [bb2,f3,d4]@3]/2", AF: "~ [eb2,bb2,g3]@2 ~@9",
})).s("gm_pizzicato_strings").gain(0.2)

// bass · pizzicato strings · "Contrabasses"
const bass_2 = note(`<
  A B@2 C ~@3 D@2 E D F D G H I J K L M N O P Q R S T U ~@2 V W V X Y Z AA AB AC@7 AD AC@6 AE AF V W V X Y AG@2 AH
>`.pickRestart({
  A: "~@2 ab2@3 ~@3", B: "[~@20 g2@9 ~@19]/2", C: "~@10 f2@9 ~@5", D: "~@8 eb2@3 ~", E: "~@2 bb1@3 ~@3 f2@3 ~",
  F: "~@2 bb1@3 ~@3 eb2@3 ~", G: "~@2 bb1@3 ~@3 gb2@3 ~", H: "~@8 g2@3 ~", I: "~@4 d2@6 ~@7 g1@7", J: "~@5 eb2",
  K: "~@4 bb1@3 ~@3 f2@2", L: "~@5 f2", M: "~@4 bb1@3 ~@3 eb2@2", N: "~@5 g2", O: "~@4 a2@3 ~@3 b2@2",
  P: "~@4 c3@3 ~@3 bb2@2", Q: "~@4 bb2@3 ~@5", R: "~ bb2@3 g2@3 ~@3 gb2@2", S: "~@4 d2@3 ~@3 g2@2", T: "~@5 a2",
  U: "~@4 f2@3 ~@3 bb2@2", V: "eb2 ~ bb1 ~", W: "f2 ~@3", X: "eb2 ~@3", Y: "g2 ~ a2 ~", Z: "b2 ~ c3 ~",
  AA: "bb2 ~ bb2 ~", AB: "~ bb2 g2 ~", AC: "ab1 ~", AD: "eb2 ~ ab2 ~", AE: "ab2 ~", AF: "eb2!2 ab2 ~",
  AG: "[b2@5 ~@6 c3@5 ~@6 bb2@5 ~@4 bb2@5 ~@9 bb2@3]/2", AH: "~ g2@2 ~@9",
})).s("gm_pizzicato_strings").gain(0.2)

stack(
  flute, oboe, bassoon, brass_section, brass_section_soft, trumpet, trombone, bass, tremolo_strings, string_ensemble_1,
  pizzicato_strings, string_ensemble_1_2, pizzicato_strings_2, bass_2
)

More by Leo Delibes