Strudelify

Meu amigo Radamés

Antônio Carlos Jobim

KeyE majorTempo120 bpm
0:00/0:00
// Meu amigo Radamés — Antônio Carlos Jobim
// 120 bpm, 2/2, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/2 at bar 1, 9/8 at bar 64, 2/2 at bar 66, 3/2 at bar 90, ...) are rendered on a constant 2/2 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5973525; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 109 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// chords · piano
const piano = note(`<
  A B C D E F G H I J@2 K@2 L@2 M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO@2 AP@2 AQ@2
  AR@2 AS AT AU AV AW AX AY ~@51
>`.pickRestart({
  A: "~ g#4 e5 d#5 c#5 b4 a4 g#4", B: "g4 a#4 d#5 c#5 c5 a4 g#4 f#4, d#2 g#2", C: "e4 g#4 c#5 b4 a4 g#4 f#4 e4, c#3 ~",
  D: "d#4 f#4 c5 a4 g#4 f#4 e4 d#4, g#2 ~", E: "c#4 g#4 e5 d#5 c#5 b4 a4 g#4, [c#2,c#3] ~",
  F: "g4 a#4 d#5 c#5 c5 a4 g#4 f#4, [g3,c#4] [f#3,c4]", G: "e4 g#4 c#5 b4 a4 g#4 f#4 e4, [e3,g#3,c#4] [e3,a3,c#4]",
  H: "d#4 f#4 b4 d#4 c#4 e4 a4 c#4, [g#1,g#2] [a1,a2]", I: "b3 d#4 g#4 b3 a3 c#4 f#4 a3, [b1,b2] [c#2,c#3]",
  J: "[a3 c#4 f#4 a3!2 c#4 f#4 a3 a3 c#4 f#4 a3 g#3 b3 e4 g#3, d2@3 [d2,d3], d3@2 d3 ~]/2", // D
  K: "[f#3 a3 d4 f#3!2 a3 d4 f#3 f#3 a3 d4 f#3 g#3 b3 e4 g#3, d2@3 [c#2,c#3], d3@2 d3 ~]/2", // C#
  L: "[a3 d4 f#4 a3!2 d4 f#4 a3 a3 d4 f#4 a3 g#3 c#4 e4 g#3, b1@3 [b1,b2], b2@2 b2 ~]/2", // B
  M: "f#3 a3 d4 f#3!2 a3 d4 f#3, [b1,b2]", N: "f#3 a3 d4 f#3!2 a3 d4 g#3, [b1,b2]",
  O: "g#3 a3 e4 g#3!2 a3 e4 f#3, [f#1,f#2]", P: "f#3 g#3 e4 e3!2 g#3 e4 e3, c#2", Q: "e3 a3 f#4 d3!2 a3 f#4 c#3, d2",
  R: "c#3 a3 f#4 c3!2 f#3 e4 d#4", S: "~ g#2 ~ d#3 c#3 b2 a2 g#2, [g#3,c#4] ~, e3!2 ~@2",
  T: "[g2,a#3,c#4,d#4] a#2 d#3 c#3 [c3,c4,d#4,f#4,g#4] a2 [g#2,c4,d#4,f#4,g#4] f#2", // D#7 G#7
  U: "e2 g#2 c#3 b2 a2 g#2 f#2 e2, [c#4,e4,g#4,c#5] ~", V: "d#2 f#2 c3 a2 g#2 f#2 e2 d#2, [c4,d#4,f#4,g#4] ~",
  W: "[d2,d4,f#4,g#4,b4] f#2 b2 [a2,d4,f4,g#4] g#2 f#2 f2 d2, ~@3 c#5@3 ~@2, ~@2 [d4,f4,g#4] ~", // G#m7b5 Dm Ddim
  X: "c#4 a4 f#4 c#4 d#4 a#4 g4 d#4, f#2 g2, ~ a3 ~ a#3", Y: "e4 b4 g#4 e4!2 c5 g#4 e4, g#2!2, ~ b3 ~ c4",
  Z: "e4 c#5 g#4 e4!2 c#5 g#4 e4, a2, ~ c#4@3", AA: "d#4 c#5 g#4 d#4!2 d#5 g4 d#4, a#2!2, ~ c#4 ~ c#4",
  AB: "d#4 d#5 a#4 d#4!2 d#5 g#4 d#4, b2!2, ~ a#3 ~ g#3", AC: "d#4 d#5 g#4 d#4 d4 d5 g#4 d4, a#2!2, ~ g#3 ~ g#3",
  AD: "d4 d5 g4 d4!2 d5 g4 d4, g3, d#2!2", AE: "c#4 c#5 f#4 c#4 c4 c5 f4 c4, f#3, d#2 g#2",
  AF: "c4 c5 f4 c4!2 c5 f4 c4, c#2, ~ f3@3", AG: "c4 c5 e4 c4!2 c5 e4 c4, g#2, ~ f#3@3",
  AH: "~ g#2 f3 d#3 c#3 c3 a#2 g#2, [g#3,c#4,f4] ~", // C#
  AI: "g2 a#2 d#3 c#3 c3 a#2 g#2 f#2, [a#3,c#4,d#4] ~ [c4,d#4,f#4,g#4] ~", // D#7 G#7
  AJ: "f2 g#2 c#3 c3 a#2 g#2 f#2 f2, [c#4,f4,g#4,c#5] ~@3", AK: "[d#2,c4,d#4,f#4,g#4] f#2 c3 a#2 g#2 f#2 f2 d#2",
  AL: "[d2,b3,d4,f4,g#4] f2 g#2 [b2,g#3,d4,f#4,a#4] a#2 g#2 f#2 f2, ~@2 [g#3,d4,f#4,a#4] ~", // Ddim G#m7b5 Daug
  AM: "~ a#4 f#4 c#4 ~ c5 g4 c4, d#2 ~, ~ f#3 ~ g3", AN: "~ c#5 g#4 c#4 ~ c#5 a4 c#4, f2!2, ~ g#3 ~ a3",
  AO: "[~ c#5 a#4 c#4 ~ c#5 a#4 c#4 ~ c#5 a#4 c#4 ~ c5 g#4 c4, [f#2,c#3,a#3]]/2", // F#
  AP: "[~ a#4 f#4 ~@2 a#4 f#4 ~@2 a#4 f#4 a#3 ~ c5 g#4 c4, [f#2,c#3]@3 [f2,c3,g#3], a#3@3 a#3@4 a#3@4 ~@5]/2", // F#5 Fm
  AQ: "[~ c#5 a#4 c#4 ~ c#5 a#4 c#4 ~ c#5 a#4 c#4 ~ c5 g#4 c4, [a#2,f#3], d#2 d#2]/2", // D#m
  AR: "[~ a#4 f#4 a#3 ~ a#4 f#4 a#3 ~ a#4 f4 a#3 ~ a#4 f#4 a#3, a#2, [d#2,f#3] [d#2,f#3]]/2", // D#m
  AS: "~ c5 f4 c#4 ~ c5 f4 c#4, [a#2,g#3]", AT: "~ a#4 e4 c4 ~ c4 b3 a#3, [c3,a#3] ~",
  AU: "~ c5 g#5 g5 f5 d#5 c#5 c5, [f2,c3,g#3]@3 ~", AV: "b4 d5 g5 f5 e5 c#5 c5 a#4, [f3,b3,d4] [f3,b3,d4,e4]",
  AW: "g#4 c5 f5 d#5 c#5 c5 a#4 g#4, [f3,g#3,c4,f4] [f3,a#3,c#4,f4]", // Fm A#m
  AX: "g4 a#4 e5 c#5 c5 a#4 g#4 g4, [f3,a#3,c#4,e4]", // A#m
  AY: "f#4 a4 d#5 c#5 c5 a#4 a4 f#4, [d#3,f#3,a#3,c#4] [f#3,a#3,c#4,f4]@2 ~", // D#m7 F#maj7
})).s("gm_piano").gain(0.29)

// chords · piano · soft notes
const piano_soft = note("<~@58 A B C D E F G H@8 I@2 J@6 K@8 L@3 M N O P@8 Q@3 R@3>".pickRestart({
  A: "f4 c#5 a#4 f4 g4 d5 b4 g4, a#2 b2, ~ c#4 ~ d4", B: "g#4 d#4 f4 g4 g#4 a#4 c5 d#5, c3 c#3, ~ g#3 ~@2",
  C: "~ f4 g#4 g4 ~ f4 g#4 g4, [d3,c5] [d#3,a#4], ~ [g#3,c4] ~ [a#3,c#4]", // D7 D#5 G# A#m
  D: "g#4 d#4 f4 g4 g#4 a#4 c5 d#5, [g#2,c4] [f2,c4]", // G# F5
  E: "[f5,f#5] d#5 [g#3,f4]@2 [d#4,c5]@2 [d4,a#4]@2 ~@2 [g3,g4]@2 [d4,b4]@2 [c#4,a4]@2, a#2 [a2,g5], ~ f5@6 ~@9", // F#maj7 C# Cm Gm G F#m A7
  F: "~ g#3 ~ d4 ~@2 g#3 g3, [f#3,g#4,c5,e5,g#5], a#3@5 a#3@3, c4!2, e4 e4@3", G: "f#3 d3 c3 g#2 g2 f#2 ~ g#3, ~@3 d2",
  H: "[g3 f#3 ~@2 e5 d#5 c#5 b4 a4 g#4 g4 a#4 d#5 c#5 c5 d#5 g#5 f#5 f5 g#4 c#5 b4 a#4 c#5 f#5 e5 d#5 f#4 b4 a4 g#4 b4 e5 d5 d#5 d#4 g#4 d#5!2 d#4 g#4 d#5 d5 d4 g#4 d5!2 d4 g#4 d5!2 d4 g4 d5!2 d4 g4 d5 c#5 c#4 f#4 c#5 c5 c4, [c4,e4] [c#2,g#2,c#3,e3]@4 ~@2 [f#3,c4]@2 [f3,b3]@2 [a#3,e4]@2 [a3,d#4]@2 [g#3,d4]@2 ~@2 g#3@2 ~@2 g#3@2 ~@2 g3@2 f#3@3, ~@16 e2 f2@4 a#2@4 d#2@4 d#2@2 g#2]/8", // C C#m F#dim Fdim A#dim Adim G#dim
  I: "[f#4 c5!2 c4 f4 c5!2 c4 f4 c5!2 c4 e4 c5!2 [g#3,c4], ~ c#2@4 [d2,f#3]@2 ~, ~@3 f3@2 ~@3]/2", // G# D
  J: "[[g3,e4]@2 [f#3,c5]@2 [f#2,g#2] ~ g#4@2 e5@2 d#5@2 c#5@2 ~@6 g4@2 a#4@2 d#5@2 c#5@2 c5@2 a4@2 g#4@2 f#4@2 e4@2 g#4@2 c#5@2 b4@2 a4@2 g#4@2 f#4@2 e4@2 d#4@2 f#4@2 c5@2 a4@2 g#4@2 f#4@2 ~@2 d#4@2 d4@2 f4@2 b4@2 a4@2 g#4@2 f#4@2 f4@2 d4@2 c#4@2 a4@2 f#4@2 c#4@2 d#4@2 a#4@2, ~ [c#3,e3]@4 [g3,a#3,c#4,d#4]@2 [f#3,a#3,c4,d#4]@2 [e3,g#3,b3,c#4]@2 [e3,f#3,a3,c#4]@2 [d#3,f#3,a3,c4]@2 [f#3,a3,c4]@2 [f3,g#3,b3]@2 [f3,g#3,b3]@2 ~ a3 ~, ~@5 g#2@15 ~@4 c#2@4 ~@4 c#2@4 ~@4 c#2@4 ~@4 c#2@4 ~@4 c#2@4 e4@4 [c#2,e4]@4 ~@4 c#2@4 ~@4 c#2@4 f#2@8 g2@4]/6", // C F#dim F#sus2 C#m D#7 Cm7b5 C#m7 F#m7 …
  K: "[g4 d#4 e4 b3 c#4 d#4 e4 f#4 g#4 b4 ~ c#4 e4 d#4 ~ c#4 e4 d#4 e4 b3 c#4 d#4 e4 f#4 g#4 b4 ~ [c#3,e4] [b3,g#4] [a#3,c#5] ~ [c3,d#4] [a#3,g4] [a3,d#5] e5 d#4 g#4 e5!2 d4 g#4 e5!2 c#4 g#4 e5!2 c4 g#4 e5!2 e4 b4 e5 d#5 e4 a#4 d#5!2 e4 a4 e5 d#5 d#4, a#3 g#2@2 [a2,c#4]@2 [a#2,g#4]@2 [b2,f#4]@2 [e2,g#3]@2 c#2@2 f#2@2 f2@2 e2@2 a#2@2 a2@2 a2@2 g#2@2 g2@2 f#2@2 b2, ~@11 g#3@3 ~ a3@3 ~@8 c#5@3 ~ d#5@3 ~@3 g#3@2 ~@2 g#3@2 ~@2 g#3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 a#3@2 ~@2 a3@2 ~@2]/8", // C#m E A#m Cm D# Adim A A#7 …
  L: "[g4 d#5!2 d#4 g#4 c#5 ~@2 d4@2 [b3,a4]@2 ~@2 c#5 e4 g#4 c#5!2 d#4 g4 c#5!2 d#4, a3 e2@2 [f2,c#5]@2 ~@2 f#2@2 b2@2 ~, ~@2 g#3 ~@5 a3 ~ a3 ~]/3", // B7 C#
  M: "g#4 b4 ~@4 e4@2, g#3 b4@2 ~, ~@2 d4 ~, ~@5 g#3@2 ~", N: "~@2 c#4 [g#3,e4], ~ [a2,b4]@2 ~",
  O: "~@3 e4, ~ a2@4 f#3@2 ~, ~ b4@2 ~, ~@2 c4 ~",
  P: "[~@2 b4 b3 d#4 g#4!2 b3 d4 g#4!2 a#3 d#4 g#4!2 a3 d4 g#4!2 g#3 d#4 g#4!2 g#3 d4 g#4!2 g#3 c#4 g#4!2 f#3 c4 g#4!2 c4 f4 g#4!2 b3 e4 g#4!2 a#3 d#4 g#4!2 a3 d#4 g#4 e4 g#3 d#4 e4!2 g#3 d4 e4!2 g#3 c#4 e4!2 g3, ~ g#2@2 c#2@2 f#2@2 b2@2 [e2,b2]@2 ~@7 f#3 ~ f3 ~ e3 b2@2 ~@2 a#2@2 a2@2 a2, ~@2 f#3 ~ f3 ~ e3 ~ d#3 ~@2 a#2@2 a2@2 a2@2 g#2@2 c#2@2 f#2@2 ~@2 e2@2 ~@5]/8", // E5
  Q: "[c4 e4!2 f#3 b3 e4!2 f3 b3 e4!2 e3 a#3 e4!2 e3 [a3,b3] e4 [e3,g#3,b3,e4] ~ c#3@2 b2@2, ~ g#2@2 g2@2 f#2@2 f2@2 e2 ~@2]/3", // Asus2 E
  R: "[g#2@2 f#2 e2 c#2 b1 ~@4 [b4,b5,e6]@2 [a#4,a#5,d#6]@2 [e1,g#4,g#5,c#6]@8 ~@2, ~@3 e1@4 ~@5]/3", // E5 D#5 C#m
})).s("gm_piano").gain(0.19)

stack(piano, piano_soft)

More by Antônio Carlos Jobim