Strudelify

Dolce Sentire con Flauto

gioport

KeyC majorTempo64 bpm
0:00/0:00
// Dolce Sentire con Flauto — gioport
// 64 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 6 "Piano" named as a piano, played on piano (its string ensemble 2 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5876460; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 58 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(64/4)

// 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(`<
  A B C D E F G H ~ I J K L M N O ~ P Q D ~@3 R S T U D ~ V W X Y Z J AA S AB AC H A B ~ AD Y Z AE D ~@3 AF S T AG AH@3
>`.pickRestart({
  A: "c6@2 b5 a5", B: "g5 e5", C: "e5 f5 e5 d5", D: "c5", E: "~@2 c5 b4 g4@4", F: "~@2 d5 c5 g4@4",
  G: "~@2 a4 b4 c5 b4 d5 c5", H: "g5", I: "~ g5 b4 a5 g5@4", J: "g5 f#5", K: "f5", L: "~@2 c6 b5 g5@4",
  M: "~@2 d6 c6 g5@4", N: "~@2 a5 b5 c6 b5 d6 c6", O: "g6", P: "~@2 b4 d5 c5@4", Q: "a4 c5 e5 d5", R: "~ a5 b5 d6",
  S: "c6", T: "~ b5 g5 c5", U: "a5 b4", V: "~ d5 c5 b4", W: "a4 c5 f5 a5", X: "b5@3 c6 g5@2 ~@2",
  Y: "c6 e5!2 c6 b5@2 a5@2", Z: "~ g5 g4 a5 g5@4", AA: "c6 b5 a5 b5", AB: "~@2 d6 c6 b5@2 c5@2", AC: "a5@4 ~ b5 c6 d6",
  AD: "~@2 e5 f5 g5@2 a5 b5", AE: "e5@2 f5@2 g5@3 b4", AF: "e5 f5 g5 d6", AG: "a5@5 ~@5 b5@5 ~", AH: "[~@5 c6@42 ~]/3",
})).s("gm_flute").gain(0.2)

// bass · choir aahs · "Bass"
const bass = note(`<
  ~@4 A B C B D E F G A B C B D E H I J K L M J K L I N B C B D E F G A O C B D E P I Q E H I J K L I J K R@4
>`.pickRestart({
  A: "c3@2 c3 f3", B: "e3!2", C: "f3!2 g3 f3", D: "e3 a3 g3 f3", E: "e3 a2", F: "d3@2 d3@2 d3@3 d3", G: "g2!2",
  H: "d3@2 d3@2 g2@3 g2", I: "c3!2", J: "~ a2 g#2!2", K: "g2@4 g2@3 g2", L: "c3@2 c3@2 g2@3 g2", M: "c3@3 ~",
  N: "c3@2 c3!2", O: "e3@4 e3@3 e3", P: "f3@2 c3@2 b2@3 g2", Q: "c3 a3 g3 f3",
  R: "[c3@5 c3@5 g2@8 g2@3 c3@10 c3@31 ~@2]/4",
})).s("gm_synth_bass_1").gain(0.2)

// chords · piano
const piano = note(`<
  A@2 B C D E F@2 G H@2 I J K L M N O@3 P Q R S T Q U V J E F@2 G W@2 I J K X@2 N Y@3 N Z@2 AA T Q AB S T Q AC@4
>`.pickRestart({
  A: "[[a3,c5]@2 [g3,b4] [f3,a4] ~ b3 [a2,c4,e4]@2, e4@3 d4@2 ~@3, ~ e3, ~@2 g4 ~]/2", // Am G F Am
  B: "e4 f4 [g3,e4] [f3,d4], [d2,d3,a3] [g2,b3]", C: "f3 [e3,g3], [c3,c4]", D: "~ b3 [a3,e4] [g#3,d4,f4], c3, c4@3 ~",
  E: "b3 d4 c4 b3, [e3,g3,g4]", F: "[[b3,a4] [a3,g4] [g3,f4] [f3,a4] ~@2 c4 b3, [f3,c4] d4@2 ~, ~ b3 [e3,g3,g4]@2]/2",
  G: "e4@2 f4 e4 g4 e4!2 d4, [a3,c4,c5]@2 [g3,b3,b4] [f3,a3,a4]", // Am G F
  H: "[d4@2 a3 b3 d4@2 c4@2 e4@2 f4@2 e4@3 d4, g3@3 f#3, [e3,g4] [a2,e4] [d3,c4]@2]/2", I: "c4 a3 a#3 b3, [g2,f3,d4]",
  J: "~ b3 [a3,e4] [g#3,f4], [c3,c4]", K: "d4@2 c4@2 b3@2 a3 g3, [e3,e4,g4]",
  L: "[e4,a4] g4 [g3,f4] [f3,a4], b3, f3 ~, ~ d4@3", M: "[d4,g4]@4 g4!2 a4 b4, [e3,g3], ~@2 c4 b3",
  N: "b3@2 a3@2 [g3,b3,b4]@2 ~ d4, [a2,e4,c5]@4 e4@3 ~, ~@3 [f3,a3,a4]", // G Am F
  O: "[[e3,d4,g4]@4 ~@4 e4@2 [g#3,f4]@2 g3@2 ~ d4 ~@2 d3@2 ~@2 b2@2, b3@6 a3@4 ~@2 e4@3 ~ [g3,c4]@8, ~@2 c4@5 [g2,b3] c3@3 ~, ~@2 [a2,e4]@2 d3@2 ~ f3@2 ~ e3@2]/3", // Em7 C# C5 G A5
  P: "~ e4 f4 g4, c4, a2 [g#2,d4]", Q: "g3@2 b3@2 a3@2 ~ e4, [g2,c4], e4@4 f4@3 ~, ~@3 g3",
  R: "[a3,d4]@2 c4@2 ~@3 e4, [g2,f3], ~ g#3@2 b3, ~@4 d4@3 ~", S: "~ a3 b3 [b2,d4], [g3,e4], c3@3 ~",
  T: "~ e4 f4 g4, [a2,a3,c4] [g#2,c4,d4]", U: "[a3,d4]@2 [g#3,c4]@2 d4@3 c4, [g2,f3], ~ b3", V: "[c3,e3,g3,c4]",
  W: "[d4@2 a3 c4 d4@2 c4@2 e4@2 f4@2 e4@3 d4, g3@3 f#3, [e3,g4] [a2,e4] [d3,c4]@2]/2", // Em A5 D7
  X: "[[e4,a4]@2 g4@2 [g3,f4]@2 [f3,a4]@2 g4@4 g4!2 a4 b4, b3@4 ~@2 c4 b3, f3 ~ [e3,g3]@2, ~ d4@5 ~@2]/2", // A5 G7 F Em
  Y: "[[e3,d4,g4]@4 ~@4 e4@2 [g#3,f4]@2 ~@3 d4 [c3,c4,g4]@8, b3@3 a3@2 ~ g3@6, ~@2 c4@5 [g2,b3] ~@4, ~@4 [a2,e4]@4 d3@4 e4@3 ~@9]/3", // Em7 C# C5 G A5
  Z: "[[e3,d4,g4]@4 ~@4 e4@2 [g#3,f4]@2 g3@2 ~ d4, b3@6 a3@4 ~@2 e4@3 ~, ~@2 c4@5 [f3,b3], ~ [a2,e4] d3 g2]/2", // Em7 C# Fdim A5
  AA: "f3 d3 ~ b2, [g3,c4], c3@3 ~, ~ e3", AB: "[a3,d4]@2 c4@2 d4@2 ~ e4, [g2,f3], ~ g#3@2 d4",
  AC: "[[a3,d4]@5 [g#3,c4]@5 d4@8 c4@3 [c3,e3,g3,c4]@42 ~, [g2,f3]@21 ~@43, ~@5 b3@5 ~@22]/4", // D5 G# C G7
})).s("gm_piano").gain(0.2)

stack(flute, bass, piano)