Strudelify
KeyF majorTempo120 bpm
0:00/0:00
// dindi — Antonio Carlos Jobim
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5894370; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 53 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 · [...]/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 · french horn · "Flügelhorn"
const french_horn = note(`<
  A B A B C D C D E@2 D ~ C D C D F@2 ~@2 G H A I ~@4 G H A J ~@3 K L M ~ N O P Q R S H A T ~@3 U@2
>`.pickRestart({
  A: "g4", B: "f4", C: "d4", D: "c4", E: "[~ e4@3]/2", F: "[~ e4@2 db4]/2", G: "g4@3 g4", H: "f4@3 ~", I: "ab4 ~",
  J: "ab4@4 e4@3 f4", K: "eb4 d4", L: "bb4 f4", M: "eb4@5 ~@3", N: "~ e4", O: "ab4@3 ~@5", P: "db4@3 ~",
  Q: "c4@2 db4 ~", R: "c4 d4", S: "g4@7 g4", T: "ab4 f4", U: "[~ c4@6 bb3@6 ~@3]/2",
})).s("gm_french_horn").gain(0.25).pan(1)

// other · french horn · "Horn in F"
const french_horn_2 = note(`<
  A B A B ~@4 C B D E ~@4 C F B E A B A G B H I J A B A G B H I B K B L M N ~ F O A B A G B H ~ P@2
>`.pickRestart({
  A: "d4", B: "c4", C: "b3 ~", D: "ab3", E: "b3@3 ~", F: "c4 bb3", G: "f4 db4", H: "b3", I: "bb3", J: "db4", K: "f4 d4",
  L: "d4 c4", M: "d4 db4", N: "f4@3 ~@5", O: "ab3 b3", P: "[~ ab3@6 g3@6 ~@3]/2",
})).s("gm_french_horn").gain(0.25).pan(0.3)

// other · trombone
const trombone = note("<~@11 A ~@6 B@2 ~@4 C D C E ~@4 C D C F ~ G@3 ~ H E ~@6 D I@3>".pickRestart({
  A: "f3@3 ~", B: "[f3@7 ~]/2", C: "g3", D: "f3", E: "ab3", F: "g3 gb3", G: "bb3", H: "bb3@3 ~",
  I: "[bb3 g3!2 g3@3 f3@4 g3@4 ~@2]/3",
})).s("gm_trombone").gain(0.18).pan(0.7)

// bass · tuba
const bass = note(`<
  A B A B A B A B C D E F A B A B C G E H A B A I J B A K A L A I J B A M H A N O P Q R S A B A I J B T U@2
>`.pickRestart({
  A: "eb2@3 eb2 bb2@3 bb2", B: "db2@3 db2 ab2@3 ab2", C: "c3@3 c3 g2@3 g2", D: "a2@3 a2 e2@3 e2", E: "d2@3 d2 a2@3 a2",
  F: "g2@3 g2 d3@3 d3", G: "ab2@3 ab2 ab2@3 ab2", H: "g2@3 g2 d2@3 d2", I: "bb2@3 bb2 eb2@3 eb2",
  J: "ab2@3 ab2 eb2@3 eb2", K: "bb2@3 bb2 f2@3 f2", L: "d2@3 d2 ab2@3 ab2", M: "a2@3 a2 d3@2 d3@2",
  N: "g2@3 g2 eb2@3 eb2", O: "g2@3 g2 c3@3 c3", P: "f2@3 f2 c3@3 c3", Q: "db3@3 db3 ab2@3 ab2",
  R: "f2@3 f2 db3@2 db3@2", S: "f2@3 f2 bb2@3 bb2", T: "eb2@7 eb2@2 bb2@7", U: "[bb2@2 db2@9 db2@3 eb2@12 ~@6]/2",
})).s("gm_tuba").gain(0.25)

stack(french_horn, french_horn_2, trombone, bass)

More by Antônio Carlos Jobim