Strudelify
De glimlach van een kind cover art

Liedjes Voor Altijd

De glimlach van een kind

Alberti

KeyB♭ minorTempo97 bpm
0:00/0:00
// De glimlach van een kind — Alberti
// 97 bpm, 6/8, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 96 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(97/3)

// 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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano · "A.PIANO 2"
const piano = note(`<
  ~@4 A@2 B@2 A@2 C@2 D@2 E@2 F@2 G H I@2 J K L M N O P@2 Q@2 R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ V W X Y Z
  AA AB AC AD AE AF AG AH AI AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ AL AM AN AO AP AQ AR AS AT AU AV AW AX AY
  BA
>`.pickRestart({
  A: "[bb3@4 f3@4 bb3@4 db4@4 f3@4 bb3@4 ~@4 f3@4 bb3@4 db4@4 f3@4 bb3@3 ~, bb1@47 ~, [bb2,f4] bb2]/2", // Bb5
  B: "[ab3@4 eb3@4 ab3@4 eb4@4 eb3@4 ab3@4 ~@4 eb3@4 ab3@4 eb4@4 ab3@4 f3@3 ~, ab1@47 ~, ab2 ab2, eb4 ~@3]/2",
  C: "[ab3 eb3 ab3 eb4 eb3 ab3 ~ eb3 ab3 eb4 [bb2,c4] [c3,ab3], ab1@5 ~, ab2@3 c3@2 ~, eb4 ~@3]/2", // Bbsus2 Fm
  D: "[db4 f3 ab3 db4 f3 ab3 db4 f3 ab3 f4 [eb3,db4] [e3,ab3], db2@5 ~, [db3,f4]@3 db3@2 ~]/2", // Eb7 E Db
  E: "[a3@4 eb3@4 f3@4 c4@4 eb3@4 f3@4 eb3@4 a3@4 f3@4 f4@4 f3@4 a3@3 ~, f1@47 ~, f2 f2]/2",
  F: "[bb3 f3 bb3 db4 f3 bb3 ~ f3 bb3 db4 [db3,f3] [eb3,bb3], bb1@47 ~, [bb2,f4]@8 bb2@5 ~@3]/2", // Db Eb5 Bb5
  G: "a3@4 f3@4 a3@4 f4@4 f3@4 a3@3 ~, [f1,f2], eb3 ~", H: "[f1,f2,a3,c4,f4]",
  I: "[bb3 f3 bb3 db4 f3 bb3 ~ f3 bb3 db4 f3 [bb1,bb3], bb1@43 ~@5, [bb2,f4] [bb2,f4]]/2", // Bb Bb5
  J: "ab3 eb3 ab3 eb4 eb3 [eb2,ab3,bb3,eb4], [ab1,ab2]@5 ~, eb4 ~", // Ebsus4 Ab
  K: "ab3@4 eb3@4 [bb3,eb4,ab4]@4 ab3@3 ~ [ab3,eb4,ab4]@4 [f2,f3]@4, [ab1,ab2]@5 ~", // Ebsus4 Ab5 F Ab
  L: "bb3 f3 bb3 db4 f3 [f2,bb3,db4], f4@23 ~, [bb1,bb2]@5 ~", // Bbm Bb
  M: "~@4 f3@4 bb3@4 db4@4 f3@4 bb3@3 ~, [bb1,bb2], f4@5 ~", N: "ab3 eb3 ab3 eb4 eb3 [eb2,ab3], [ab1,ab2]@5 ~, eb4 ~",
  O: "~ eb3 ab3 eb4 [bb1,bb2,c4] [c2,c3,ab3], [ab1,ab2]@2 ~", // Bbsus2 Fm Ab
  P: "[db4 f3 ab3 db4 f3 ab3 db4 f3 ab3 f4 [db2,eb3,db4] [eb2,e3,ab3], db2@5 ~, [db3,f4]@3 db3@2 ~]/2", // Dbsus2 Emaj7 Db
  Q: "[a3@4 eb3@4 f3@4 c4@4 eb3@4 f3@4 eb3@4 a3@4 f3@4 f4@4 f3@4 a3@3 ~, f1@47 ~, f2 f2, ~@36 a3@7 ~@5]/2",
  R: "bb3 f3 bb3 db4 f3 [f2,bb3], f4, [bb1,bb2]@5 ~", S: "~ f3 bb3 db4 f3 [b1,b2,bb3], [bb1,bb2]@19 ~@5",
  T: "e4@4 g3@4 c4@4 e4@4 g3@4 c4@3 ~, [c2,c3], c4@7 ~@17", // C
  U: "a3@4 f3@4 c4@4 ~@4 f3@4 f4 ~ eb4@2, [f1,f2], eb4@12 f4@7 ~@5", // F
  V: "[bb3,d4]@7 ~ [g3,d4]@7 ~ [g3,d4]@3 ~ [f2,a3,d4]@4, [bb1,bb2,f3]@11 ~", // Bb G5 Dm Bb5
  W: "d4 [bb3,db4] [f3,d4] [a3,d4,f4] ~ [f2,a3,d4,f4], [bb1,bb2]@5 ~, [f3,a3] ~ f3", // Bbm Dm Bb F
  X: "[bb3,d4,eb4]@4 g3@3 ~ [g3,bb3,d4,eb4]@8 [bb3,d4,eb4]@4 [bb1,g3]@4, [eb1,eb2]@5 ~", // Ebmaj7 Eb
  Y: "[bb3,d4,eb4,g4]@7 ~ [c4,eb4,g4]@3 ~ [c4,eb4,g4]@3 ~ [eb1,eb2,bb3,eb4,g4]@3 ~ [e1,e2,a3,eb4,g4]@4, [eb1,eb2]@5 ~@3", // Ebmaj7 Cm Eb A7 Eb
  Z: "[f3,a3,c4,eb4]@7 ~ [f3,bb3,d4,eb4]@7 ~ [f3,bb3,d4,eb4]@3 ~ [c2,f3,c4,eb4]@4, [f1,f2]@5 ~", // F7 Bb F7 F
  AA: "f3@3 ~@5 a3@4 [f3,c4]@4 ~@4 c4@4, [f1,f2], [c4,eb4]@11 ~ eb4@12, ~@4 f3@7 ~@5 f3@8", // F5 F Cm
  AB: "[bb3,eb4,g4]@7 ~@13 [f2,d4]@4, [bb1,bb2]@5 ~, f3@8 f4@15 ~, ~@8 [bb3,d4]@8 bb3@7 ~, ~@12 f3@11 ~", // Eb Dm Bb
  AC: "[f3,bb3]@3 ~@5 bb3@3 ~@5 [c2,c3]@3 ~ [db2,db3]@4, [bb1,bb2]@2 ~, f4@11 ~@13, d4@4 f3@7 ~ [f3,bb3,d4,f4]@11 ~", // Bb5 C Db Bb
  AD: "a3@3 ~@5 d4@3 ~ [a3,c4]@4 ~@4 [d2,d3,d4]@3 ~, [d2,d3]@5 ~, gb4@11 ~ gb4@11 ~, [c4,d4]@7 ~@5 d4@7 ~@5, ~@4 a3@7 ~@5 a3@7 ~", // Am D Csus2
  AE: "[a3,d4,g4]@7 ~ [bb3,eb4,g4]@3 ~ bb3@4 eb3@3 ~ [bb2,bb3]@4, eb2@5 ~, eb3@2 ~, ~@12 g4@11 ~, ~@12 eb4@3 ~ eb4@7 ~", // Dsus4 Eb Bb
  AF: "[bb3,eb4]@4 bb3@4 eb4@4 eb3@3 ~ [d2,d3]@3 ~ [db2,db3]@4, eb2@5 ~@3, [eb3,g4]@11 ~ [bb3,eb4,g4]@11 ~", // Eb5 D Db Eb
  AG: "[g3,c4,e4]@7 ~ [g3,bb3,e4]@7 ~ bb3@3 ~ [c3,g3]@4, c2@23 ~, c3@19 ~@5, ~@16 e4@7 ~", // C Edim C5
  AH: "[g3,bb3]@4 ~@4 bb3@4 g3@3 ~ g3@4 c3@4, [c2,c3]@5 ~, e4@11 ~@13, ~@4 g3@8 [bb3,c4,e4]@11 ~", // Gm C C7
  AI: "[f2,f3]@5 ~ f3@2 f2@2 ~@2 [f2,f3]@4 ~@4 f2@2 ~@2, [a3,c4,eb4,g4]@3 ~ [a3,c4,eb4,g4]@3 ~, ~@9 f3@2 ~", // F Am7b5
  AJ: "[f2,f3]@4 ~@4 f2@3 ~ [f2,f3]@4 f1@8, [a3,c4,eb4,f4]@9 ~@3 [a3,c4,eb4,f4]@7 ~@5, ~@3 f3@2 ~@7", // F F7
  AK: "[f2,f3]@4 ~@4 f2@3 ~ [a3,c4,eb4,f4]@7 ~@5, [a3,c4,eb4,f4]@3 ~@5, ~@3 f3@2 ~ [f2,f3]@2 ~@4", // F F7 F
  AL: "[b3,eb4]@7 ~ [ab3,eb4]@7 ~ [ab3,eb4]@3 ~ [gb2,bb3,eb4]@4, [b1,b2,gb3]@11 ~", // B Ab5 Ebm B5
  AM: "eb4 [b3,d4] [gb3,eb4] [bb3,eb4,gb4] ~ [gb2,bb3,eb4,gb4], [b1,b2]@5 ~, [gb3,bb3] ~ gb3", // Bm Ebm B Gb
  AN: "[b3,eb4,e4]@4 ab3@3 ~ [ab3,b3,eb4,e4]@8 [b3,eb4,e4]@4 [b1,ab3]@4, [e1,e2]@5 ~", // Emaj7 E
  AO: "[b3,eb4,e4,ab4]@7 ~ [db4,e4,ab4]@3 ~ [db4,e4,ab4]@3 ~ [e1,e2,b3,e4,ab4]@3 ~ [f1,f2,bb3,e4,ab4]@4, [e1,e2]@5 ~@3", // Emaj7 Dbm E Bb7 E
  AP: "[gb3,bb3,db4,e4]@7 ~ [gb3,b3,eb4,e4]@7 ~ [gb3,b3,eb4,e4]@3 ~ [db2,gb3,db4,e4]@4, [gb1,gb2]@5 ~", // Gb7 B Gb7 Gb
  AQ: "gb3@3 ~@5 bb3@4 [gb3,db4]@4 ~@4 db4@4, [gb1,gb2], [db4,e4]@11 ~ e4@12, ~@4 gb3@7 ~@5 gb3@8", // Gb5 Gb Dbm
  AR: "[b3,e4,ab4]@7 ~@13 [gb2,eb4]@4, [b1,b2]@5 ~, gb3@8 gb4@15 ~, ~@8 [b3,eb4]@8 b3@7 ~, ~@12 gb3@11 ~", // E Ebm B
  AS: "[gb3,b3]@3 ~@5 b3@3 ~@5 [db2,db3]@3 ~ [d2,d3]@4, [b1,b2]@2 ~, gb4@11 ~@13, eb4@4 gb3@7 ~ [gb3,b3,eb4,gb4]@11 ~", // B5 Db D B
  AT: "bb3@3 ~@5 eb4@3 ~ [bb3,db4]@4 ~@4 [eb2,eb3,eb4]@3 ~, [eb2,eb3]@5 ~, g4@11 ~ g4@11 ~, [db4,eb4]@7 ~@5 eb4@7 ~@5, ~@4 bb3@7 ~@5 bb3@7 ~", // Bbm Eb Dbsus2
  AU: "[bb3,eb4,ab4]@7 ~ [b3,e4,ab4]@3 ~ b3@4 e3@3 ~ [b2,b3]@4, e2@5 ~, e3@2 ~, ~@12 ab4@11 ~, ~@12 e4@3 ~ e4@7 ~", // Ebsus4 E B
  AV: "[b3,e4]@4 b3@4 e4@4 e3@3 ~ [eb2,eb3]@3 ~ [d2,d3]@4, e2@5 ~@3, [e3,ab4]@11 ~ [b3,e4,ab4]@11 ~", // E5 Eb D E
  AW: "[ab3,db4,f4]@7 ~ [ab3,b3,f4]@7 ~ b3@3 ~ [db3,ab3]@4, db2@23 ~, db3@19 ~@5, ~@16 f4@7 ~", // Db Fdim Db5
  AX: "[ab3,b3]@4 ~@4 b3@4 ab3@3 ~ ab3@4 db3@4, [db2,db3]@5 ~, f4@11 ~@13, ~@4 ab3@8 [b3,db4,f4]@11 ~", // Abm Db Db7
  AY: "[gb2,gb3]@5 ~ gb3@2 gb2@2 ~@2 [gb2,gb3]@4 ~@4 gb2@2 ~@2, [bb3,db4,e4,ab4]@3 ~ [bb3,db4,e4,ab4]@3 ~, ~@9 gb3@2 ~", // Gb Bbm7b5
  AZ: "[gb2,gb3]@4 ~@4 gb2@3 ~ [gb2,gb3]@4 gb1@8, [bb3,db4,e4,gb4]@9 ~@3 [bb3,db4,e4,gb4]@7 ~@5, ~@3 gb3@2 ~@7", // Gb Gb7
  BA: "[bb3,db4,e4,gb4]@3 ~@5, [gb2,gb3] ~@5", // Gb7 Gb
})).s("gm_piano").gain(0.3)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A@4 B C D E B C D F G H I J B K L M B C D E B C D F G H I N B O P Q R S T U V W X Y Z T AA AB AC AD AE R X T U V W AF
  Y Z T AA AB AC AD AG AH AI AJ AK AL AM AN AO AP AJ AQ AR AS AT AU AH AI AV AK AW AM AN AO AP AJ AQ AR AS AT AU
>`.pickRestart({
  A: "[bb1@15 ~]/2", B: "bb1@17 ~@3 f2 ~@3", C: "bb2@5 ~", D: "ab1@17 ~@3 eb2 ~@3", E: "ab2@17 ~@3 f2 ~@3",
  F: "ab2@10 ~@2 ab1@3 ~ bb1@3 ~ c2@3 ~", G: "db2@17 ~@3 ab2 ~@3", H: "db3@12 ~@4 eb2@3 ~ e2@3 ~",
  I: "f1@17 ~@3 c2 ~@3", J: "f2@12 ~@4 a1@3 ~ c2@3 ~", K: "bb2@12 ~@4 db2@3 ~ eb2@3 ~", L: "f2@11 ~ c2@11 ~",
  M: "f1@11 ~", N: "f2@12 ~@4 f1@3 ~ a1@3 ~", O: "bb2@12 ~@4 bb1@3 ~ b1@3 ~", P: "c2@11 ~ c2@11 ~",
  Q: "f2@4 c2@3 ~ eb2@3 ~ f2@4 f1@3 ~ a1@3 ~", R: "bb1@10 ~@2 d2@6 ~@2 f2@3 ~", S: "bb2@17 ~@3 f2@3 ~",
  T: "eb2@16 ~@4 bb1@3 ~", U: "eb2@10 ~@2 eb2@3 ~ d2@3 ~ eb2@4", V: "f2@17 ~@3 c2@3 ~", W: "f1@10 ~@2 f2@9 ~@3",
  X: "bb1@16 ~@4 f2@3 ~", Y: "bb2@10 ~@2 bb1@3 ~ c2@3 ~ db2@3 ~", Z: "d2@16 ~@4 d2@3 ~",
  AA: "eb2@10 ~@2 eb2@3 ~ d2@3 ~ db2@3 ~", AB: "c2@11 ~ e2@7 ~ g2@3 ~", AC: "c3@9 ~@3 g2@7 ~ c2@3 ~",
  AD: "f2@5 ~@2 f2 f2@3 ~ f2@5 ~@2 f2 f2@3 ~", AE: "f2@5 ~@2 f2 f2@3 ~ f2@6 ~@2 f2@3 ~",
  AF: "bb1@10 ~@2 bb2@7 ~ f2@3 ~", AG: "f2@5 ~@2 f2 f2@3 ~ f2@6 ~@2 gb2@3 ~", AH: "b1@10 ~@2 eb2@6 ~@2 gb2@3 ~",
  AI: "b2@11 ~ gb3@7 ~ gb2@3 ~", AJ: "e2@17 ~@3 b1@3 ~", AK: "e2@10 ~@2 e2@3 ~ eb2@3 ~ e2@4", AL: "gb2@17 ~@3 db2@3 ~",
  AM: "gb1@10 ~@2 gb2@9 ~@3", AN: "b1@10 ~@2 b2@7 ~ gb2@3 ~", AO: "b2@10 ~@2 b1@3 ~ db2@3 ~ d2@3 ~",
  AP: "eb2@16 ~@4 eb2@3 ~", AQ: "e2@10 ~@2 e2@3 ~ eb2@3 ~ d2@3 ~", AR: "db2@11 ~ f2@7 ~ ab2@3 ~",
  AS: "db3@9 ~@3 ab2@7 ~ db2@3 ~", AT: "gb2@5 ~@2 gb2 gb2@3 ~ gb2@5 ~@2 gb2 gb2@3 ~",
  AU: "gb2@5 ~@2 gb2 gb2@3 ~ gb2@6 ~@2 gb2@3 ~", AV: "e2@11 ~ e3@6 ~@2 b1@3 ~", AW: "gb2@11 ~ gb3@6 ~@2 db2@3 ~",
})).s("gm_electric_bass_finger").gain(0.4)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@31 A@4 B@2 C D E F G H I J K@2 L M N@2 O C D E F G H I J K@2 L M P@2 Q R S T U V W X Y Z@2 AA AB AC@2 Q R S T U V W
  X Y Z@2 AA AB AD@2
>`.pickRestart({
  A: "[~@23 [f5,bb5]@24 ~@21 eb6@3 ~ e6@24, ~@47 db6@20 ~@4 [g5,c6]@24 ~, ~@48 [f5,bb5]@25 ~@23]/4", // Bb5 C5 Bb5
  B: "[a5@11 ~ a5@2 bb5@2 a5@2 g5@2 f5 ~@3 f5@8 g5@7 ~ g5@4 a5@4, f6@23 d5@8 ~@17, c6@10 ~ eb5 ~@12]/2",
  C: "a5@3 bb5 c6 d6", D: "d6@8 c6@7 ~ c6@4 g5@4", E: "g5@5 a5", F: "a5@7 ~ bb5@8 bb5@4 c6@4", G: "c6@3 c6 d6 eb6",
  H: "eb6@2 d6@2 d6 bb5", I: "bb5@5 d6", J: "d6@7 c6@4 ~ c6@7 a5@4 ~", K: "[a5@8 g5@4 g5@32 c6@3 ~]/2",
  L: "c6@8 bb5@3 ~ bb5@8 g5@3 ~", M: "g5@4 a5 bb5",
  N: "[c6@3 c6@4 ~ d6@3 eb6@5 c6@3 d6@4 eb6@5 c6@3 d6@4 eb6@8 ~ f5@4]/2", O: "f5@8 g5@7 ~ g5@4 a5@4",
  P: "[c6@3 c6@4 ~ d6@3 eb6@5 c6@3 d6@4 eb6@5 c6@3 d6@4 eb6@8 ~ gb5@4]/2", Q: "gb5@8 ab5@7 ~ ab5@4 bb5@4",
  R: "bb5@3 b5 db6 eb6", S: "eb6@8 db6@7 ~ db6@4 ab5@4", T: "ab5@5 bb5", U: "bb5@7 ~ b5@8 b5@4 db6@4",
  V: "db6@3 db6 eb6 e6", W: "e6@2 eb6@2 eb6 b5", X: "b5@5 eb6", Y: "eb6@7 db6@4 ~ db6@7 bb5@4 ~",
  Z: "[bb5@8 ab5@4 ab5@32 db6@3 ~]/2", AA: "db6@8 b5@3 ~ b5@8 ab5@3 ~", AB: "ab5@4 bb5 b5",
  AC: "[db6@3 db6@4 ~ eb6@3 e6@5 db6@3 eb6@4 e6@5 db6@3 eb6@4 e6@8 ~ gb5@4]/2",
  AD: "[db6@3 db6@4 ~ eb6@3 e6@5 db6@3 eb6@4 e6@5 db6@3 eb6@4 e6@8 ~@5]/2",
})).s("gm_string_ensemble_2").gain(0.25)

// chords · tremolo strings · "TREMOLOSTR"
const tremolo_strings = note("<A@4 ~@92>".pickRestart({
  A: "[[f3,bb3,db4]@15 ~ [f3,db4]@15 ~, ~@47 bb3@45 ~@4]/4", // Bbm Db
})).s("gm_tremolo_strings").gain(0.32)

// other · trumpet
const trumpet = note(`<
  ~@39 A B ~@2 C D ~ E ~@7 A B ~@2 C D ~ E ~@7 F G ~@2 H I ~ J ~@7 F G ~@2 H I ~ J ~@4
>`.pickRestart({
  A: "~@8 c5@4 c5@3 ~ bb4@3 ~ a4@3 ~", B: "a4", C: "~@8 d5@4 d5@3 ~ bb4@3 ~ d5@3 ~", D: "d5", E: "c5",
  F: "~@8 db5@4 db5@3 ~ b4@3 ~ bb4@3 ~", G: "bb4", H: "~@8 eb5@4 eb5@3 ~ b4@3 ~ eb5@3 ~", I: "eb5", J: "db5",
})).s("gm_trumpet").gain(0.48)

// other · trombone
const trombone = note("<~@35 A@7 B C@6 D@8 B C@6 E@8 F G@6 H@8 F G@6 I@2>".pickRestart({
  A: "[~@23 bb2@46 ~@2 eb3@36 ~ eb3@3 ~ d3@3 ~ eb3@3 f3@47 ~@2]/7", B: "eb3@7 d3@8 ~ d3@4 bb2@4",
  C: "[bb2@17 ~@6 d3@24 eb3@36 ~ eb3@4 d3@3 ~ db3@3 c3@39 ~@5 c3@4 ~]/6",
  D: "[f3@7 ~@5 f3@7 ~@4 f3@8 ~@5 f3@10 ~ bb2@46 ~@2 eb3@36 ~ eb3@3 ~ d3@3 ~ eb3@3 f3@47 ~@2]/8",
  E: "[f3@7 ~@5 f3@7 ~@4 f3@8 ~@5 f3@10 ~ b2@46 ~@2 e3@36 ~ e3@3 ~ eb3@3 ~ e3@3 gb3@47 ~@2]/8",
  F: "e3@7 eb3@8 ~ eb3@4 b2@4", G: "[b2@17 ~@6 eb3@24 e3@36 ~ e3@4 eb3@3 ~ d3@3 db3@39 ~@5 db3@4 ~]/6",
  H: "[gb3@7 ~@5 gb3@7 ~@4 gb3@8 ~@5 gb3@10 ~ b2@46 ~@2 e3@36 ~ e3@3 ~ eb3@3 ~ e3@3 gb3@47 ~@2]/8",
  I: "[gb3@7 ~@5 gb3@7 ~@4 gb3@8 ~@5 gb3@10 ~@2]/2",
})).s("gm_trombone").gain(0.24).pan(0.6)

// chords · trumpet
const trumpet_2 = note("<~@36 A@2 B@2 C@2 D@2 E F@2 G@2 H@5 I@6 J@4 K@5 L@6 M@4 N@5 L@6 O@6>".pickRestart({
  A: "[a3,d4,f4]/2", B: "[[bb3,d4,g4]@31 ~ [bb3,d4,g4]@4 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@4 [bb3,d4,g4]@4]/2",
  C: "[f4@24 g4@23 ~, [a3,c4,eb4]]/2", // Adim
  D: "[[eb4,g4]@8 [d4,f4]@24 [bb3,d4,f4]@4 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@4 [bb3,d4,f4]@4, bb3@31 ~@17]/2", // Eb Dm Bb
  E: "[a3,c4,d4,gb4]", F: "[a3@4 g3@11 ~, [bb3,d4,g4]@15 ~]/2", G: "[[g3,bb3,e4,g4]@45 ~@2 [eb4,g4]]/2",
  H: "[[g3,c4]@7 ~@5 [g3,g4]@8 ~@3 [a3,c4,eb4,f4]@8 ~@5 [a3,c4,eb4,f4]@11 ~ [d4,f4]@47 ~ [d4,g4]@24, ~@11 [c4,eb4]@8 ~@28 a3@48 bb3@25]/5", // C5 G F7 Dm G5 Cm
  I: "[~@8 [bb3,d4,g4]@4 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@4 [bb3,d4,g4]@3 ~ f4@24 g4@23 ~ [eb4,g4]@8 [d4,f4]@24 [bb3,d4,f4]@4 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@4 [bb3,d4,f4]@3 ~ [c4,d4,gb4]@23 a3, ~@23 a3@48 bb3@31 ~@17 a3@23 ~@2, ~@24 [c4,eb4]@47 ~@73]/6", // Gm Eb Dm Bb D7 Cm
  J: "[~@12 g3@33 ~@3 [bb3,e4,g4]@45 ~@2 [eb4,g4], [bb3,d4,g4]@45 ~@2 g3@45 ~@4]/4", // Edim Eb Gm
  K: "[[g3,c4]@7 ~@5 [g3,g4]@8 ~@3 [a3,c4,eb4,f4]@8 ~@5 [a3,c4,eb4,f4]@11 ~ [eb4,gb4]@47 ~ [eb4,ab4]@24, ~@11 [c4,eb4]@8 ~@28 bb3@48 b3@25]/5", // C5 G F7 Ebm Ab5 Cm
  L: "[~@8 [b3,eb4,ab4]@4 [b3,eb4,ab4]@3 ~ [b3,eb4,ab4]@4 [b3,eb4,ab4]@3 ~ gb4@24 ab4@23 ~ [e4,ab4]@8 [eb4,gb4]@24 [b3,eb4,gb4]@4 [b3,eb4,gb4]@3 ~ [b3,eb4,gb4]@4 [b3,eb4,gb4]@3 ~ [db4,eb4,g4]@23 bb3, ~@23 bb3@48 b3@31 ~@17 bb3@23 ~@2, ~@24 [db4,e4]@47 ~@73]/6", // Abm E Ebm B Eb7 Dbm
  M: "[~@12 ab3@33 ~@3 [b3,f4,ab4]@45 ~@2 [e4,ab4], [b3,eb4,ab4]@45 ~@2 ab3@45 ~@4]/4", // Fdim E Abm
  N: "[[ab3,db4]@7 ~@5 [ab3,ab4]@8 ~@3 [bb3,db4,e4,gb4]@8 ~@5 [bb3,db4,e4,gb4]@11 ~ [eb4,gb4]@47 ~ [eb4,ab4]@24, ~@11 [db4,e4]@8 ~@28 bb3@48 b3@25]/5", // Db5 Ab Gb7 Ebm Ab5 Dbm
  O: "[~@12 ab3@33 ~@3 [b3,f4,ab4]@45 ~@3 [ab3,db4]@7 ~@5 [ab3,ab4]@8 ~@3 [bb3,db4,e4,gb4]@8 ~@5 [bb3,db4,e4,gb4]@11 ~, [b3,eb4,ab4]@45 ~@2 ab3@45 ~@3 [e4,ab4]@7 ~@5 [db4,e4]@8 ~@29]/6", // Fdim Db5 Ab Gb7 Abm E Dbm
})).s("gm_trumpet").gain(0.2).pan(0.4)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@4 A B C D E@2 C F G H I J E K L@2 A B C D E@2 C F G H I J E M N O P Q R S T U V W X Y Z AA AB@3 P Q R S T U V W X Y
  Z AA AB@3 AC AD AE AF AG AH AI AJ AK AL AM AN AO@3 AC AD AE AF AG AH AI AJ AK AL AM AN AO@3
>`.pickRestart({
  A: "~@5 f3, bb2@23 ~, ~@4 f3@15 ~@5, ~@8 bb3@7 ~ bb3@8, ~ db4",
  B: "~@5 db4, bb2, ~@4 f3@11 ~ f3@7 ~, ~ bb3@2, ~@3 db4@2 ~",
  C: "~@5 ab3, ab2@23 ~, ~@4 eb3@11 ~ eb3@8, ~@8 ab3@11 ~@5, ~ eb4",
  D: "~@5 eb3, ab2, ~@4 eb3@15 ~@5, ~@8 ab3@7 ~ ab3@7 ~, ~@12 eb4@11 ~",
  E: "~@5 bb3, bb2@23 ~, ~@4 f3@11 ~ f3@8, ~@8 bb3@11 ~@5, ~ db4",
  F: "~@16 bb2@3 ~ c3@4, ab2@2 ~, ~@4 eb3@15 ~@5, ~@4 ab3@7 ~, ~@12 eb4@11 ~",
  G: "~@5 ab3, db3@23 ~, ~@4 f3@11 ~ f3@8, ~@8 ab3@7 ~@9, ~ db4",
  H: "~@16 eb3@3 ~ e3@4, db3@5 ~@3, ~@4 f3@11 ~@9, ~ ab3@2, ~@12 db4@11 ~",
  I: "~@16 eb3@3 ~ f3@4, f2@23 ~, ~@2 a2@9 ~, ~@8 eb3@7 ~@9, ~ c4",
  J: "~@5 a3, f2, ~@4 a2@15 ~@5, ~@8 eb3@7 ~ f3@7 ~, ~@12 c4@11 ~",
  K: "~@16 db3@3 ~ eb3@4, bb2@5 ~@3, ~@4 f3@15 ~@5, ~@4 bb3@7 ~, ~ db4",
  L: "[~@16 a3@4 c4@2 ~@3 f4@23, f2@21 ~ f2@24 ~@2, ~@4 a3@11 ~@8 [c3,f3]@24 ~, ~@8 c4@11 ~@5 [a3,c4]@24, ~@6 f4@5 ~@13]/2", // F5 Am
  M: "~@16 bb2@3 ~ b2@4, bb2@5 ~@3, ~@4 f3@15 ~@5, ~@4 bb3@7 ~, ~ db4",
  N: "~@16 c4@4 g3@3 ~, c3@7 ~, ~@4 g3@15 ~@5, ~@8 c4@7 ~@9, ~@6 e4@5 ~",
  O: "~@16 a3@4 f3@3 ~, f2@7 ~, ~@4 c3@15 ~@5, ~@8 eb3@7 ~@9, ~@6 c4@5 ~",
  P: "~@5 a3, bb2@23 ~, ~@4 f3@15 ~@5, ~@8 a3@7 ~ d4@8, ~ f4",
  Q: "~@5 a3, bb2, ~@4 f3@11 ~ d4@7 ~, ~@4 a3@5 ~@3, ~@3 f4@2 ~",
  R: "~@5 bb3, eb3@23 ~, ~@4 g3@11 ~@9, ~@8 d4@7 ~ d4@8, ~ g4",
  S: "~@16 d3@3 ~ eb3@4, eb3@5 ~@3, ~@4 g3@15 ~@5, ~@8 d4@7 ~@9, ~@12 g4@11 ~",
  T: "~@5 f3, f2@23 ~, ~@4 c3@11 ~ a3@8, ~@8 f3@11 ~@5, ~ c4",
  U: "~@5 a3, f2, ~@4 c3@11 ~ c4@7 ~, ~@8 f3@11 ~@5, ~ eb4",
  V: "~@5 bb3, bb2@23 ~, ~@4 f3@11 ~ f3@8, ~@8 bb3@11 ~@5, ~ d4",
  W: "~@16 c3@3 ~ db3@4, bb2@2 ~, ~@4 f3@15 ~@5, ~@4 bb3@7 ~, ~@12 d4@11 ~",
  X: "~@5 a3, d3@23 ~, ~@4 a3@11 ~@9, ~@8 c4@7 ~ c4@8, ~ gb4",
  Y: "~@5 bb3, eb3@11 ~, ~@2 bb3@7 ~@3, ~@8 d4@7 ~ d4@7 ~, ~@12 g4@11 ~",
  Z: "~@16 d3@3 ~ db3@4, eb3@2 ~, ~@2 bb3@9 ~, ~@8 d4@15 ~, ~ g4",
  AA: "~@5 g3, c3@23 ~, ~@4 g3@15 ~@5, ~@8 bb3@7 ~ bb3@7 ~, ~@12 e4@11 ~",
  AB: "[~@20 bb3@3 ~ [c4,f4]@4 [c3,eb3] ~ [a3,c4,f4]@2 [c3,eb3,a3,c4,f4] ~@3 [c4,f4]@4 [c3,eb3] ~ [a3,c4,f4]@2 [c3,eb3,a3,c4,f4] ~@3 [c4,f4]@4 [c3,eb3] ~ [a3,c4,f4]@2 [c3,eb3,a3,c4,f4] ~@3 [c4,f4]@7 ~@5, c3@21 ~@2 [f2,c3,eb3,a3]@4 ~@8 [f2,c3,eb3,a3]@4 ~@8 [f2,c3,eb3,a3]@4 ~@8 [f2,c3,eb3,a3]@11 ~@2, ~@4 g3@11 ~ g3@7 ~@49, ~@8 bb3@11 ~@53, ~ e4 ~@4]/3", // F5 Cm F F7 F5 Cm F F7 …
  AC: "~@5 bb3, b2@23 ~, ~@4 gb3@15 ~@5, ~@8 bb3@7 ~ eb4@8, ~ gb4",
  AD: "~@5 bb3, b2, ~@4 gb3@11 ~ eb4@7 ~, ~@4 bb3@5 ~@3, ~@3 gb4@2 ~",
  AE: "~@5 b3, e3@23 ~, ~@4 ab3@11 ~@9, ~@8 eb4@7 ~ eb4@8, ~ ab4",
  AF: "~@16 eb3@3 ~ e3@4, e3@5 ~@3, ~@4 ab3@15 ~@5, ~@8 eb4@7 ~@9, ~@12 ab4@11 ~",
  AG: "~@5 gb3, gb2@23 ~, ~@4 db3@11 ~ bb3@8, ~@8 gb3@11 ~@5, ~ db4",
  AH: "~@5 bb3, gb2, ~@4 db3@11 ~ db4@7 ~, ~@8 gb3@11 ~@5, ~ e4",
  AI: "~@5 b3, b2@23 ~, ~@4 gb3@11 ~ gb3@8, ~@8 b3@11 ~@5, ~ eb4",
  AJ: "~@16 db3@3 ~ d3@4, b2@2 ~, ~@4 gb3@15 ~@5, ~@4 b3@7 ~, ~@12 eb4@11 ~",
  AK: "~@5 bb3, eb3@23 ~, ~@4 bb3@11 ~@9, ~@8 db4@7 ~ db4@8, ~ g4",
  AL: "~@5 b3, e3@11 ~, ~@2 b3@7 ~@3, ~@8 eb4@7 ~ eb4@7 ~, ~@12 ab4@11 ~",
  AM: "~@16 eb3@3 ~ d3@4, e3@2 ~, ~@2 b3@9 ~, ~@8 eb4@15 ~, ~ ab4",
  AN: "~@5 ab3, db3@23 ~, ~@4 ab3@15 ~@5, ~@8 b3@7 ~ b3@7 ~, ~@12 f4@11 ~",
  AO: "[~@20 b3@3 ~ [db4,gb4]@4 [db3,e3] ~ [bb3,db4,gb4]@2 [db3,e3,bb3,db4,gb4] ~@3 [db4,gb4]@4 [db3,e3] ~ [bb3,db4,gb4]@2 [db3,e3,bb3,db4,gb4] ~@3 [db4,gb4]@4 [db3,e3] ~ [bb3,db4,gb4]@2 [db3,e3,bb3,db4,gb4] ~@3 [db4,gb4]@7 ~@5, db3@21 ~@2 [gb2,db3,e3,bb3]@4 ~@8 [gb2,db3,e3,bb3]@4 ~@8 [gb2,db3,e3,bb3]@4 ~@8 [gb2,db3,e3,bb3]@11 ~@2, ~@4 ab3@11 ~ ab3@7 ~@49, ~@8 b3@11 ~@53, ~ f4 ~@4]/3", // Gb5 Dbm Gb Gb7 Gb5 Dbm Gb Gb7 …
})).s("gm_acoustic_guitar_steel").gain(0.33).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@4 A@2 B@2 A@2 B@2 C@2 D E A@2 F G A@2 B@2 A@2 B@2 C@2 D E A@2 H I J@2 K@2 I@2 L@2 M K@2 N@2 O P J@2 K@2 I@2 L@2 M
// … 94 more lines

More by Alberti