Strudelify

Aria Piano and Alto Sax

Eugéne Bozza

KeyA majorTempo60 bpm
0:00/0:00
// Aria Piano and Alto Sax — Eugéne Bozza
// 60 bpm, 3/8, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5390286; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 80 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/1.5)

// 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@2 F G H I J K L 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@2 AN AO AP AQ AR AS AT AU
  AV AW AX@2 AY AZ AY BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX
>`.pickRestart({
  A: "b4@5 b4@5 ~ b4@5", B: "[a#4,d5]@5 [a#4,d5]@5 ~ [a#4,d5]@5", C: "[g4,a#4,d5]@5 [g4,a#4,d5]@5 ~ [g4,a#4,d5]@5",
  D: "[f4,g4,a#4,d5]@5 [f4,g4,a#4,d5]@5 ~ [f4,g4,a#4,d5]@5", // Gm7
  E: "[[d#4,g4,a4,d5]@5 [d#4,g4,a4,d5]@5 ~ [d#4,g4,a4,d5]@5 [d#4,g4,a4,c5]@5 ~@3 d4@3 [d#4,g4,a#4]@5, c4@21 [d#4,g4,a4,c5]@5 ~@6]/2", // D#maj7 Am7b5 D# Am7b5
  F: "[d#4,g4,a4]@5 [d#4,g4,a#4]@5 ~ [d#4,g4,a4,c5]@5, f4@11 ~@5", // Am7b5 D# Am7b5
  G: "[d4,d#4,f#4,a4,c5]@5 [c4,d#4,f#4,a4,c5]@5 ~ [a#3,d#4,f#4,a4,d5]@5", // D7 Cdim D
  H: "[d#4,g4,a#4,d#5]@5 ~@3 a#3@3 [c4,d#4,g4,a4,c5]@5, a3 ~, ~@5 [d#4,g4,a4,d5]@5 ~@6", // D# Am7b5 D#maj7
  I: "[c4,d4,d#4,f#4,a4]@5 [d#4,g4,a#4]@5 ~ [d#4,g4,a4,c5]@5, ~@5 d4@10 ~", // D7 D# Am7b5
  J: "[d4,g4,a#4]@5 [d#4,g4,a#4]@5 ~ [d4,f4,g4,a#4]@5", // Gm D# Gm7
  K: "[c#4,g4,a#4,c#5]@5 [c#4,g4,a#4,c#5]@5 ~ [d4,g4,a#4,d5]@5, d#4@11 ~@5", // Gdim Gm
  L: "[d#4,a#4,d#5]@5 ~@3 d3@3 [d#3,d#4,a#4,d5]@5, c3 ~, ~@5 [d#4,a#4,d#5]@5 ~@6", // D#5 D#maj7 D#5
  M: "[g4,a4,c5]@5 [f4,a4,c5]@5 ~ [f2,d#4,a4,c5]@5, f3@11 ~@5", // Am7 F F7
  N: "[d4,a4,d5]@5 ~@3 c3@3 [d3,d4,a4,c5]@5, a#2 ~, ~@5 [d4,a4,d5]@5 ~@6", // D5 D7 D5
  O: "[f4,g4,a#4]@5 [d#4,g4,a#4]@5 ~ [d#2,d4,g4,a#4]@5, d#3@11 ~@5", // Gm7 D# D#maj7
  P: "[c4,e4,g4,c5]@5 ~@3 a#2@3 [c3,c4,e4,g4,a#4]@5, a2 ~, ~@5 [c4,e4,g4,c5]@5 ~@6", // C C7 C
  Q: "[c4,d#4,g4,a4]@5 [d4,d#4,g4,a#4]@5 ~ [d2,c4,d#4,f#4,a4]@5, d3@5 ~@3", // Am7b5 D#maj7 D7
  R: "[d4,g4,a#4]@5 [d4,g4,a#4]@5 ~ [d4,g4,a#4]@5, g1@15 ~", // Gm
  S: "[d4,g4,a#4]@5 ~@3 a2@3 [a#2,d4,g4,a#4]@5, g2 ~, ~@5 [d4,g4,a#4]@5 ~@6", // Gm
  T: "[d#4,g4,a#4,d#5]@5 ~@3 d3@3 [d#3,d#4,g4,a#4,d5]@5, c3 ~, ~@5 [d#4,g4,a#4,d#5]@5 ~@6", // D# D#maj7 D#
  U: "[d#4,g4,a4,c5]@5 [d#4,g4,a4,c5]@5 ~ [d#3,d#4,g4,a4,c5]@5, f3@11 ~@5", // Am7b5
  V: "[d4,f#4,a4,d5]@5 [d4,f#4,a4,d5]@5 ~ [c3,d4,f#4,a4,d5]@5, d3@11 ~@5", // D D7
  W: "[d4,g4,d5]@5 [d4,g4,d5]@5 ~ [a2,c4,f#4,c5]@5, a#2@11 ~@5", // G5 F#dim
  X: "[b3,f4,a#4]@5 [b3,d#4,a#4]@5 ~ [f2,a3,d4,a4]@5, g2@11 ~@5", // A# Bmaj7 Dm
  Y: "[g3,c#4,g4]@5 [g3,c#4,g4]@5 ~ [d2,g3,d4,g4]@5, d#2@11 ~@5", // Gdim G5
  Z: "[a#3,e4,g4]@5 [a3,e4,a4]@5 ~ [g3,e4,a#4]@5, c#2@15 ~", // Edim A5 Edim
  AA: "[a3,d4,f4,a4]@5 [a3,d4,f4,a4]@5 ~ [a3,d4,f4,a4]@5, d2@15 ~", // Dm
  AB: "[a#3,d4,f4,a#4]@5 [a#3,d4,f4,a#4]@5 ~ [a3,d4,f4,a4]@5, g2@15 ~", // A# Dm
  AC: "[g3,c4,e4,g4]@5 [g3,c4,e4,g4]@5 ~ [a#2,g3,c4,e4,g4]@5, c3@11 ~@5", // C C7
  AD: "[a3,c#4,e4,a4]@5 [a3,c#4,e4,a4]@5 ~ [a3,c#4,e4,a4]@5, a2@15 ~", // A
  AE: "[a#3,d4,f4,a#4]@5 [a#3,d4,f4,a#4]@5 ~ [a2,a3,c#4,e4,a4]@5, g2@11 ~@5", // A# A
  AF: "[g3,d4,g4]@5 [a3,c#4,g4]@5 ~ [a2,a3,c#4,g4]@5, a#2@11 ~@5", // G5 A7
  AG: "[a3,d4,f4]@5 [a3,d4,f4]@5 ~ [a#3,d4,f4]@5, [d2,d3]@15 ~", // Dm A# D
  AH: "[a3,d4,f4,a4]@5 [b3,d4,f4,a4]@5 ~ [a3,d4,f4,a4]@5, [g1,g2]@15 ~", // Dm Bm7b5 Dm G
  AI: "[g3,c4,d#4,g4]@5 [g3,c4,d#4,g4]@5 ~ [g#3,c4,d#4,g4]@5, [c2,c3]@15 ~", // Cm G#maj7 C
  AJ: "[a3,c4,d#4,g4]@5 [a#3,c4,d#4,g4]@5 ~ [a3,c4,d#4,g4]@5, f2@15 ~", // Am7b5 Cm7 Am7b5
  AK: "[a#3,c#4,f4]@5 [f3,a3,c#4,f4]@5 ~ [g#1,g#2,f3,a#3,c#4,f4]@5, [a#1,a#2]@11 ~@5", // A#m Faug A#m7 A#
  AL: "[a#3,c#4,f4,a#4]@5 [c4,c#4,f4,a#4]@5 ~ [a#3,c#4,f4,a#4]@5, [g1,g2]@15 ~", // A#m G
  AM: "[[c#4,e4,g#4,a#4]@5 [c#4,e4,g#4,b4]@5 ~ [c#4,e4,g#4,b4]@5 [b3,c#4,e4,g#4]@5 [a#3,c#4,e4,g#4]@5 ~ [g#3,c#4,e4,g#4]@5, [f#1,f#2]@15 ~]/2", // A#m7b5 C#m7 A#m7b5 C#m F#
  AN: "[f#3,b3,d4,f#4]@5 ~@3 [c#2,c#3]@3 [d2,d3,f#4,b4,d5,f#5]@5, [b1,b2] ~, ~@5 [f#4,b4,d5,f#5]@5 ~@6", // Bm C# Bm B Bm
  AO: "[f#4,g#4,d5,f#5]@5 [f#4,a4,d5,f#5]@5 ~ [f#4,g#4,d5,f#5]@5, [e2,e3]@15 ~", // G#m7b5 D G#m7b5 E
  AP: "[e4,a4,c5,e5]@5 ~@3 [b1,b2]@3 [c2,c3,f#4,a4,c5,e5]@5, [a1,a2] ~, ~@5 [g4,a4,c5,e5]@5 ~@6", // Am B F#m7b5 A Am7
  AQ: "[f4,a4,c5,e5]@5 [f4,a4,d5]@5 ~ [f4,a4,c5]@5, [d2,d3]@15 ~", // Fmaj7 Dm F D
  AR: "[d4,f4,a4,b4]@5 ~@3 [a1,a2]@3 [b1,b2,d4,f4,a4,b4]@5, [g1,g2] ~, ~@5 [c#4,f4,a4,b4]@5 ~@6", // Bm7b5 A Bm7b5 G C#aug
  AS: "[d#4,g4,a4,d5]@5 [d#4,g4,a4,c5]@5 ~ [d#4,g4,a4,a#4]@5, [c2,c3]@15 ~", // D#maj7 Am7b5 D# C
  AT: "[c4,d#4,g4,a4]@5 [b3,d#4,g4,a4]@5 ~ [c4,d#4,g4,a4]@5, [f2,f3]@15 ~", // Am7b5 Baug Am7b5 F
  AU: "[c#4,f4,g#4,c5]@5 [c#4,f4,g#4,c5]@5 ~ [c#4,f4,g#4,c5]@5, [a#2,f3]@15 ~", // C#maj7 A#5
  AV: "[d4,d#4,g#4,a#4]@5 ~@3 d#3@3 [e3,d4,d#4,g#4,a#4]@5, g2@15 ~, c#3 ~, ~@5 [d4,d#4,g#4,a#4]@5 ~@6", // D#sus4
  AW: "[c#4,f4,g#4,c5]@5 ~@3 g3@3 [g#3,c#4,f4,g#4,c5]@5, a#2@15 ~, f3 ~, ~@5 [c#4,f4,g#4,c#5]@5 ~@6", // C#maj7 C#
  AX: "[[e4,g#4,a#4]@5 ~@3 b3@3 [c#4,e4,g#4,a#4,d#5]@5 [e4,g#4,a#4]@5 ~@3 c#4@3 [e4,g#4,a#4]@5, [f#2,c#3]@31 ~, a#3 ~@3, ~@5 [e4,g#4,a#4,d#5]@5 ~@11 [e4,g#4,a#4]@5 ~@6]/2", // A#m7b5 F#5 Emaj7 A#m7b5
  AY: "[b3,e4,g4,b4]@5 [b3,e4,g4,b4]@5 ~ [b3,e4,g4,b4]@5, [c#2,c#3]@15 ~", // Em C#
  AZ: "[b3,e4,g4,b4]@5 [d4,g4,b4,d5]@5 ~ [c#4,g4,c5]@5, [d2,d3]@15 ~", // Em G C D
  BA: "[a#3,e4,g4,a#4]@5 [a#3,e4,g4,a#4]@5 ~ [a#3,e4,g4,a#4]@5, [d2,d3]@15 ~", // Edim D
  BB: "[a3,d#4,g4,a4]@5 [a3,d#4,g4,a4]@5 ~ [a3,d#4,g4,a4]@5, [c2,c3]@15 ~", // Am7b5 C
  BC: "[a#3,d#4,g4,a#4]@5 [a#3,d#4,g4,a#4]@5 ~ [a#3,d#4,g4,a#4]@5, [a#1,a#2]@15 ~", // D# A#
  BD: "[c4,d#4,g4,c5]@5 [c4,d#4,g4,c5]@5 ~ [c4,d#4,g4,c5]@5, [a1,a2]", // Cm A
  BE: "[d4,g4,a#4,d5]@5 ~@3 [a1,a2]@3 [a#1,a#2,d4,g4,a#4,d5]@5, [g1,g2] ~, ~@5 [d4,g4,a#4,d5]@5 ~@6", // Gm A Gm G Gm
  BF: "[d#4,g4,a4,c5]@5 ~@3 [d2,d3]@3 [d#2,d#3,d#4,g4,a#4]@5, [c2,c3] ~, ~@5 [d#4,g4,a4,c5]@5 ~@6", // Am7b5 D D# C Am7b5
  BG: "[d#4,g4,a4]@5 [d#4,g4,a#4]@5 ~ [d#2,d#3,g4,a4,c5]@5, [f2,f3]@5 ~@3", // Am7b5 D# Am7b5 F
  BH: "[d2,d3,d#4,f#4,a4,c5]@5 [c2,c3,d#4,f#4,a4,c5]@5 ~ [a#1,a#2,d#4,f#4,a4,d5]@5", // D7 Cdim D
  BI: "[d#4,g4,c5,d#5]@5 ~@3 [a#1,a#2]@3 [c2,c3,d#4,g4,a4,c5]@5, [a1,a2] ~, ~@5 [d#4,g4,a#4,d5]@5 ~@6", // Cm A# Am7b5 A D#maj7
  BJ: "[c4,d#4,g4,g#4]@5 [d4,d#4,g4,a#4]@5 ~ [d#4,g4,g#4,c5]@5, [d2,d3]@15 ~", // G#maj7 D#maj7 G#maj7 D
  BK: "[d4,g4,a#4,d5]@5 [d#4,g4,a#4,d#5]@5 ~ [f2,f3,d4,g4,a#4,d5]@5, [g2,g3]@11 ~@5", // Gm D# Gm7 G
  BL: "[c#4,g4,a#4,c#5]@5 [c#4,g4,a#4,c#5]@5 ~ [d2,d3,d4,g4,a#4,d5]@5, [d#2,d#3]@11 ~@5", // Gdim Gm D#
  BM: "[d#4,g4,a#4,d#5]@5 ~@3 [d2,d3]@3 [d#2,d#3,d#4,g4,a#4,d5]@5, [c2,c3] ~, ~@5 [d#4,g4,a#4,d#5]@5 ~@6", // D# D D#maj7 C D#
  BN: "[d#4,g4,a4,c5]@5 ~@3 [g2,g3]@3 [a2,a3,d#4,g4,a4,c5]@5, [f2,f3] ~, ~@5 [d#4,g4,a4,c5]@5 ~@6", // Am7b5 G Am7b5 F Am7b5
  BO: "[d4,f4,a4,d5]@5 ~@3 [c2,c3]@3 [d2,d3,d4,f4,a4,c5]@5, [a#1,a#2] ~, ~@5 [d4,f4,a4,d5]@5 ~@6", // Dm C Dm7 A# Dm
  BP: "[f4,g4,a#4]@5 ~@3 [f2,f3]@3 [g2,g3,d4,g4,a#4]@5, [d#2,d#3] ~, ~@5 [d#4,g4,a#4]@5 ~@6", // Gm7 F Gm D#
  BQ: "[c4,d#4,g4,c5]@5 ~@3 [a#1,a#2]@3 [c2,c3,c4,d#4,g4,a#4]@5, [a1,a2] ~, ~@5 [c4,d#4,g4,c5]@5 ~@6", // Cm A# Cm7 A Cm
  BR: "[c4,d#4,g4,a4]@5 [d4,d#4,g4,a#4]@5 ~ [c4,d4,f#4,a4]@5, [d2,d3]@15 ~", // Am7b5 D#maj7 D7 D
  BS: "[b3,c4,g4]@5 [b3,d4,g4]@5 ~ [d2,d3,b3,d#4,g4]@5, [d#2,b2]@5 ~@3", // Cmaj7 G G#m
  BT: "[a3,d#4,a4]@5 [a#3,d#4,a#4]@5 ~ [c4,d#4,g4,c5]@5, [c2,c3]@15 ~", // Adim D#5 Cm C
  BU: "[a#3,d4,g4,a#4]@5 [c4,d4,g4,a#4]@5 ~ [a#3,d4,g4,a#4]@5, [d2,d3]@15 ~", // Gm D
  BV: "[a3,d4,f#4,a4]@5 [a#3,d4,f#4,a#4]@5 ~ [a3,d4,f#4,a4]@5, [d2,d3]@15 ~", // D A#aug D
  BW: "[g2,c3,b3,d4,g4]@5 [g2,d#3,a#3,c#4,g4]@5 ~ [g2,c#3,a#3,d#4,g4]@5", BX: "[g2,d3,a#3,d4,g4]@15 ~",
})).s("gm_piano").gain(0.2)

stack(piano)