Strudelify

Feitiço Da Vila

Noel Rosa

KeyC majorTempo80 bpm
0:00/0:00
// Feitiço Da Vila — Noel Rosa
// 80 bpm, 2/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Piano" named as a piano, played on piano (its flute patch is not one); ch 2 "Piano" named as a piano, played on piano (its acoustic guitar nylon patch is not one); ch 5 "Piano" named as a piano, played on piano (its cello patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/1076841; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 64 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(80/2)

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

// chords · piano
const piano = note(`<
  ~ A B C D E F C D G H A F I H A H A B C D E F C D G H A F I H A B J K J L M H A N O D E P Q R S H A B C D E F C D G H
  A F I H A
>`.pickRestart({
  A: "~ [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4] [g3,c4,e4]@2", B: "[g3,c4,e4]@2 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]",
  C: "~ [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4] [g#3,b3,d4,e4]@2", // E7
  D: "[g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 ~ [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]", // E7
  E: "~ [a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4] [a3,c4,e4]@2", F: "[a3,c4,e4]@2 [a3,c4,e4]@2 ~ [a3,c4,e4]@2 [a3,c4,e4]",
  G: "~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2", // F
  H: "[g3,b3,d4,f4]@2 [g3,b3,d4,f4]@2 ~ [g3,b3,d4,f4]@2 [g3,b3,d4,f4]", // G7
  I: "~ [a3,c4,d4,f#4]@2 [a3,c4,d4,f#4]@2 [a3,c4,d4,f#4] [a3,c4,d4,f#4]@2", // D7
  J: "~ [a3,d4,f4]@2 [a3,d4,f4]@2 [a3,d4,f4] [a3,d4,f4]@2", // Dm
  K: "[a3,c#4,e4,g4]@2 [a3,c#4,e4,g4]@2 ~ [a3,c#4,e4,g4]@2 [a3,c#4,e4,g4]", // A7
  L: "[a3,d4,f4]@2 [a3,d4,f4]@2 ~ [a3,d4,f4]@2 [a3,d4,f4]", // Dm
  M: "~ [g#3,c4,f4]@2 [g#3,c4,f4]@2 [g#3,c4,f4] [g#3,c4,f4]@2", // Fm
  N: "[g3,a#3,c4,e4]@2 [g3,a#3,c4,e4]@2 ~ [g3,a#3,c4,e4]@2 [g3,a#3,c4,e4]", // C7
  O: "~ [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4] [f3,a3,c4]@2", // F
  P: "[a3,b3,d#4,f#4]@2 [a3,b3,d#4,f#4]@2 ~ [a3,b3,d#4,f#4]@2 [a3,b3,d#4,f#4]", // B7
  Q: "~ [g3,b3,e4]@2 [g3,b3,e4]@2 [g3,b3,e4] [g3,b3,e4]@2", // Em
  R: "[a3,c4,d4,f#4]@2 [a3,c4,d4,f#4]@2 ~ [a3,c4,d4,f#4]@2 [a3,c4,d4,f#4]", // D7
  S: "~ [g3,b3,d4,f4]@2 [g3,b3,d4,f4]@2 [g3,b3,d4,f4] [g3,b3,d4,f4]@2", // G7
})).s("gm_piano").gain(0.3)

// other · piano
const piano_2 = note(`<
  ~ A@2 B@2 C@2 D@2 E F A C G F A H A@2 B@2 C@2 D@2 E F A C G F A@2 G I G@2 E F A@2 E B C J K L F@2 A@2 B@2 C@2 D@2 E F
  A C G F A
>`.pickRestart({
  A: "c3 g2", B: "e3 b2", C: "a2 e3", D: "b2 e3", E: "f2 c3", F: "g2 d3", G: "d3 a2", H: "d3 g2", I: "e3 a2",
  J: "b2 f#2", K: "e2 b2", L: "d2 a2",
})).s("gm_piano").gain(0.3)

stack(piano, piano_2)