Strudelify
Power of Love cover art

1993 · The Colour Of My Love

Power of Love

Celine Dion

KeyA♭ majorTempo69 bpm
0:00/0:00
// Power of Love — Celine Dion
// 69 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): STEEL GTR.
setcpm(69/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 · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~ A@6 B@2 A@4 C A B@2 A@2 C@2 D@2 E F A@6 B@2 A@4 C A B@2 ~@59>".pickRestart({
  A: "[ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~", // Ab
  B: "[g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~", // Gm
  C: "[ab4,db5] ~ [ab4,db5] ~ [ab4,db5] ~ [ab4,db5] ~ [ab4,db5] ~ [ab4,db5] ~ [ab4,db5] ~ [ab4,db5] ~", // Db5
  D: "[bb4,db5] ~ [bb4,db5] ~ [bb4,db5] ~ [bb4,db5] ~ [bb4,db5] ~ [bb4,db5] ~ [bb4,db5] ~ [bb4,db5] ~", // Bbm
  E: "[bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~", // Eb5
  F: "[bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~", // Eb5 Eb
})).s("gm_synth_strings_1").gain(0.25).pan(0.7)

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  ~ A ~@3 B ~@3 C ~ D ~ E F G ~ H I J K L M N O P Q R S H T U V H W X S Y Z AA AB AC T AD AE AF M AG AH AC T Y AI AJ AK
  AL AM AN T AO AP AQ AR Y AS@2 AC T AT AU AV AW AX AH AC T AT AU AV AY AZ BA BB I Y BC BD BE AC BF H BF BG BF AC BF BH
  BF BI@2
>`.pickRestart({
  A: "ab1@3 ~@5", B: "ab1@5 ~@3", C: "ab1@11 ~@5", D: "f1@9 ~@7", E: "db2@9 ~@7", F: "c2@9 ~@7", G: "eb1@11 ~@5",
  H: "ab1 ab1@2 ~@5 ab1@2 ~@4 ab1 ~", I: "ab1 ab1@2 ~@5 ab1@2 ~@6", J: "db1 db1@2 ~@5 db1@2 ~@4 db1 ~",
  K: "db1 db1@2 ~@5 db1@2 ~ c2@2 ~ bb1 ab1", L: "bb1 bb1@2 ~@5 bb1@2 ~@4 bb1 ~", M: "bb1 bb1@2 ~@5 bb1@2 ~@6",
  N: "eb1 eb1@2 ~@5 eb1@2 ~@4 eb1 ~", O: "eb1 eb1@2 ~@13", P: "ab1 ab1@2 ~@5 ab1@2 ~@4 ab1!2",
  Q: "ab1 ab1@2 ~@5 ab1@3 ~@3 f1 eb1", R: "f1 f1@2 ~@5 f1@3 ~@3 f1 ~", S: "f1 f1@2 ~@5 f1@3 ~@5",
  T: "ab1 ab1@2 ~@5 ab1@3 ~@5", U: "eb1 eb1@3 ~@2 eb1 ~ eb1 eb1@3 ~@2 eb1 ~", V: "eb1 eb1@3 ~@4 eb1@2 ~@6",
  W: "ab1 ab1@2 ~@5 ab1@3 ~@3 g1 eb1", X: "f1 f1@2 ~@5 f1@3 ~@3 f1!2", Y: "db1 db1@3 ~@4 db1@3 ~@3 db1 ~",
  Z: "c2 c2@2 ~@5 c2@3 ~@5", AA: "eb1 eb1@2 ~@5 eb1@4 ~@2 eb1 ~", AB: "eb1 eb1@2 ~@5 eb1@2 ~@6",
  AC: "ab1 ab1@2 ~@5 ab1@3 ~@3 ab1 ~", AD: "db1 db1@2 ~@5 db1@3 ~@3 db1 c1", AE: "db1 db1@2 ~@5 db1 ~@2 c2@3 ~@2",
  AF: "bb1 bb1@2 ~@5 bb1@3 ~@3 bb1 ab1", AG: "eb1 eb1@2 ~@5 eb1@3 ~@3 eb1 ~", AH: "eb1 eb1@3 ~@4 eb1@3 ~@5",
  AI: "db1 db1@3 ~@4 db1 ab1 db2 c2@3 ~@2", AJ: "bb1 bb1@3 ~@4 bb1@3 ~@3 bb1 ab1",
  AK: "eb1 eb1@3 ~@4 db1@3 ~ eb1@2 db1 eb1", AL: "ab1 ab1@3 ~@4 ab1@4 ~@2 ab1 ~", AM: "ab1 ab1@3 ~@4 ab1@4 ~@4",
  AN: "db1 db1@2 ~@5 eb1@3 ~@3 eb1 ~", AO: "db1 db1@3 ~@2 db1 ~ eb1@3 ~@3 eb1!2",
  AP: "f1 f1@2 ~@3 f1 ~ f1@2 ~@2 eb1@2 ~@2", AQ: "db1 db1@2 ~@3 db1 ~ eb1@4 ~@2 eb1 ~",
  AR: "ab1 ab1@2 ~@3 ab1 ~ ab1 ab1@3 ~@4", AS: "eb1 eb1@2 ~@3 db1!2 eb1 eb1@2 ~@5", AT: "db1 db1@2 ~@5 db1@3 ~@3 db1 ~",
  AU: "db1 db1@5 ~@2 db1@2 ~ db2 c2@2 bb1 ab1", AV: "bb1 bb1@2 ~@5 bb1@3 ~@3 bb1 ~", AW: "bb1 bb1@2 ~@5 bb1@3 ~@5",
  AX: "eb1 eb1@3 ~@4 eb1@3 ~@3 eb1 ~", AY: "eb1 eb1@2 ~@5 db1@3 ~@5", AZ: "ab1 ab1@2 ~@5 ab1@3 ~@3 ab1@2",
  BA: "~ ab1 ~@6 ab1@4 ~@2 ab1@2", BB: "~ ab1@2 ~@5 ab1@2 ~@4 ab1 ~", BC: "db1 db1@3 ~@4 db1@2 ~ db2 c2@2 bb1 ab1",
  BD: "bb1@3 ~@5 bb1@3 ~@3 bb1 ~", BE: "eb1 eb1@3 ~@4 db1@3 ~@5", BF: "ab1 ab1@2 ~@5 ab1@4 ~@4",
  BG: "ab1 ab1@2 ~@5 ab1@4 ~@2 ab1 ~", BH: "ab1 ab1@3 ~@4 ab1@3 ~@3 ab1 ~", BI: "[ab1@3 ~]/2",
})).s("gm_synth_bass_2").gain(0.55)

// other · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead = note("<~ A@6 B C D A@3 E F B G ~@24 H ~@58>".pickRestart({
  A: "c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3",
  B: "bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3",
  C: "bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3 bb3 g3 [ab3,bb3,c4,db4] [eb4,f4,g4,ab4,bb4]", // Dbmaj7 Eb
  D: "[c4,c5] ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3 c4 ab3", // C
  E: "db4 ab3 db4 ab3 db4 ab3 db4 ab3 db4 ab3 db4 ab3 db4 ab3 db4 ab3",
  F: "eb4 c4 eb4 c4 eb4 c4 ab3!2 c4 ab3 c4 ab3 c4 ab3 c4 ab3",
  G: "eb4 bb3 eb4 bb3 eb4 bb3 eb4 bb3 eb4 bb3 eb4 bb3 eb4 bb3 eb4 bb3", H: "c4 ~@3",
})).s("gm_lead_8_bass_lead").gain(0.07).pan(0.9)

// chords · flute
const flute = note("<~@69 A@2 B ~@5 C@3 ~@15 D@2 ~@3>".pickRestart({
  A: "[~@3 [f4,c5]!2 [g4,db5] [ab4,eb5] [bb4,f5]@2 [bb4,db5] [bb4,db5]@6]/2", B: "~@3 [bb4,db5]!4 ~@9",
  C: "[~@3 [f4,c5]!2 [g4,db5] [ab4,eb5] [bb4,f5]@2 [bb4,f5]!4 [ab4,eb5]!2 [g4,eb5]@4 ~@5]/3", // F5 Gdim Ab5 Bb5 Ab5 Cm
  D: "[~@11 [ab4,c5] [c5,eb5]!3 eb5@2 ab4 bb4@5 ~@9]/2", // Ab Cm
})).s("gm_flute").gain(0.35).pan(0.4)

// chords · flute · soft notes
const flute_soft = note("<~@95 A@2 ~@3>".pickRestart({
  A: "[~@15 c5@2 c5 db5@5 [c5,eb5]@7 ~@2]/2", // Cm
})).s("gm_flute").gain(0.2).pan(0.4)

// other · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead_2 = note(`<
  ~ A B C@2 D E F G H I J K L M N@2 O@2 P Q R@2 S@2 O@2 T@2 O@2 U V O@2 T@2 W X Y V ~@59
>`.pickRestart({
  A: "ab4 ~ ab4 ~ ab4 ~ ab4 ~@9", B: "~@15 eb4",
  C: "[f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~ [f4,ab4] ~", // Fm
  D: "[eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~@5", // Ab5
  E: "[eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~@3 [eb4,ab4] ~@3 [eb4,ab4] ~", // Ab5
  F: "~@2 [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~", // Eb
  G: "[eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~", // Eb
  H: "ab2 eb3 ab3 c4 eb4 c4 eb4 c4 ab2 eb3 ab3 c4 eb4 c4 eb4 c4",
  I: "ab2 eb3 ab3 c4 eb4 c4 eb4 c4 ab2 eb3 ab3 c4 eb4 eb3 g2 f3",
  J: "f2 c3 f3 ab3 c4 ab3 c4 ab3 f2 c3 f3 ab3 c4 ab3 c4 ab3", K: "f2 c3 f3 ab3 f4 c4 ab3 c4 ab3 f3 c3 f3 f2 c3 f3 ab3",
  L: "db2 ab2 f3 ab3 db4 ab3 db4 ab3 db2 ab2 f3 ab3 db4 ab3 db4 ab3",
  M: "c2 ab2 eb3 c4 eb4 c4 ab3 eb3 c2 ab2 eb3 c4 eb4 c4 ab3 eb3",
  N: "eb2 bb2 g3 eb3 eb4 bb3 g3 bb3 eb2 bb2 g3 eb3 eb4 bb3 g3 bb3",
  O: "ab2 eb3 c4 ab3 eb4 c4 ab3 c4 ab2 eb3 c4 ab3 eb4 c4 ab3 c4",
  P: "db2 db3 ab3 f3 db4 ab3 f3 ab3 db2 db3 ab3 f3 db4 ab3 f3 ab3",
  Q: "db2 ab2 ab3 f3 db4 ab3 f3 ab3 db2 db3 ab3 f3 db4 ab3 f3 ab3",
  R: "bb2 f3 bb3 f3 db4 bb3 f3 bb3 bb2 f3 bb3 f3 db4 bb3 f3 bb3",
  S: "eb2 bb2 bb3 g3 eb4 bb3 g3 bb3 eb2 bb2 bb3 g3 eb4 bb3 g3 bb3",
  T: "f2 c3 ab3 f3 c4 ab3 f3 ab3 f2 c3 ab3 f3 c4 ab3 f3 ab3",
  U: "eb2 bb2 g3 ~ bb3 g3 eb3 g3 eb2 bb2 g3 eb3 bb3 g3 bb3 g3",
  V: "eb2 bb2 g3 eb3 bb3 g3 eb3 g3 eb2 bb2 g3 eb3 bb3 g3 bb3 g3",
  W: "db3 ab3 db4 ab3 f4 db4 ab3 db4 db3 ab3 db4 ab3 f4 db4 ab3 db4",
  X: "c3 eb3 c4 ab3 eb4 c4 ab3 c4 c3 eb3 c4 ab3 eb4 c4 ab3 c4",
  Y: "eb2 bb2 g3 ~ bb3 g3 eb3 g3 eb2 bb2 g3 eb3 bb3 g3 eb3 g3",
})).s("gm_lead_8_bass_lead").gain(0.11).pan(0.4)

// other · lead 8 bass lead · "BASS&LEAD" · soft notes
const lead_8_bass_lead_soft = note("<~ A B C@2 D E F G ~@91>".pickRestart({
  A: "eb4!8 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4", // Ab5
  B: "[eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] eb4 [eb4,ab4] ~", // Ab5
  C: "~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4", D: "~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 [eb4,ab4] eb4 [eb4,ab4] eb4",
  E: "~ eb4 ~ eb4 ~ eb4 ~ eb4 [eb4,ab4] eb4 ~ eb4 [eb4,ab4] eb4 ~ eb4", // Ab5
  F: "[eb4,g4] eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4", G: "~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4",
})).s("gm_lead_8_bass_lead").gain(0.07).pan(0.4)

// other · synth strings 1 · "SYN STR 1"
const synth_strings_1_2 = note(`<
  ~ A@2 B@2 A@6 B@3 A@5 B@4 C@2 A@2 B@2 A@6 B@3 A@3 ~@47 D E F E F E F G F E H@2
>`.pickRestart({
  A: "~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4", B: "~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4",
  C: "~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4", D: "ab3@2 bb3@2 bb3@2 c4 ~ c4@6 ~@2", E: "ab4 bb4!2 c5 c5@4",
  F: "ab3 bb3!2 c4 c4@4", G: "ab4@2 bb4@2 bb4@2 c5@2 c5@7 ~", H: "[[ab3,c4,eb4,ab4]@3 ~]/2",
})).s("gm_synth_strings_1").gain(0.16).pan(0.2)

// other · pad metallic · "METAL PAD"
const pad_metallic = note("<~ A ~@3 B ~@3 C ~ D ~ E F G ~@9 H I J K L M N O P Q R S T U V W ~@59>".pickRestart({
  A: "~ ab2@6 ~@9, ab1@11 ~@5", B: "~ ab2@7 ~@8, ab1@3 ~", C: "~ ab2@3 ~@4, ab1@13 ~@3", D: "~ f2@3 ~@4, f1@7 ~",
  E: "~ db3@3 ~@4, db2@11 ~@5", F: "~@2 c3@7 ~@7, c2@11 ~@5", G: "~@2 eb2@7 ~@7, eb1@3 ~", H: "ab5", I: "ab5@6 ab5 g5",
  J: "f5", K: "f5@11 ~ eb5@4", L: "ab5@7 ~", M: "ab5@9 ~ g5@2 f5@4", N: "eb5@5 ~ f5 bb4", O: "eb5@3 ~", P: "ab5@15 ~",
  Q: "ab5@9 ~ g5@2 c5@2 g5@2", R: "f5@15 ~", S: "f5@3 eb5", T: "ab5@11 ~ ab5@2 bb5@2", U: "ab5@3 eb5",
  V: "g5@11 ~ f5@4", W: "eb5@15 ~",
})).s("gm_pad_metallic").gain(0.27)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@9 A B C D E A F@2 G@2 H@2 I@2 J@2 K@2 L@2 K@2 M@2 K@2 L@2 N O P Q G@2 H@2 I@2 R@2 S@2 T@2 U V K@2 W O W X Y Z N ~ AA
  G@2 H@2 I@2 M@2 K@2 AB@2 AC AD K@2 AE@2 AF@2 AG AH AI@2 K@8 AJ@2
>`.pickRestart({
  A: "ab3 bb3!2 c4 c4@4", B: "ab3@2 bb3@2 bb3@2 c4@2 c4@7 ~", C: "ab4@2 g4@2 g4@2 f4@2 f4@7 ~", D: "ab4 g4!2 f4 f4@4",
  E: "db4 eb4!2 f4 f4@4", F: "g4 f4!2 eb4 eb4@4", G: "[ab3,c4,eb4]/2", H: "[ab3,db4,f4]/2", I: "[bb3,db4,f4]/2",
  J: "[g3,bb3,eb4,g4]/2", K: "[c4,eb4,ab4]/2", L: "[c4,f4,ab4]/2", M: "[bb3,eb4,g4]/2", N: "[db4,f4,ab4]",
  O: "[c4,eb4,ab4]", P: "[bb3,eb4,g4]", Q: "bb3 eb5, [eb4,g4,bb4]", R: "[[g3,bb3,eb4]@31 ~]/2", S: "[eb4,ab4,c5]/2",
  T: "[f4,ab4,db5]/2", U: "[db4,f4,bb4]", V: "[eb4,g4,bb4]@2 [ab3,db4,f4] [bb3,eb4,g4]", W: "[ab3,db4,f4] [bb3,eb4,g4]",
  X: "[c4,f4,ab4]", Y: "[db4,f4,ab4] [eb4,g4,bb4]", Z: "[eb4,ab4,c5]", AA: "~@5 [bb5,eb6]@3", AB: "[db4,f4,ab4]/2",
  AC: "[bb3,db4,f4]", AD: "[bb3,eb4,g4] [db4,f4,ab4]", AE: "[eb4,ab4,c5,eb5]/2", AF: "[f4,ab4,db5,f5]/2",
  AG: "[f4,bb4,db5,f5]", AH: "[g4,bb4,eb5,g5] [f4,ab4,db5,f5]", AI: "[c4,eb4,ab4,c5]/2", AJ: "[[ab3,c4,eb4]@3 ~]/2",
})).s("gm_string_ensemble_2").gain(0.25)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
  ~@17 A B C D E@2 F G H I H J K L M N K O P Q R S T@2 U@2 V J W X Y Z AA AB AC@2 AD AE AF AG ~@9 AH@3 ~ AI AJ AK@2 AH@3
  ~ AL@2 AM AN@2 AO AP@2 AQ AR K O K AS K AS K AS K O AT@2
>`.pickRestart({
  A: "ab3@2 bb3@2 bb3@2 c4@9 ~", B: "ab3 bb3!2 c4@5", C: "db4 eb4!2 f4@5", D: "db4@2 eb4@2 eb4@2 f4@9 ~",
  E: "bb3 c4!2 db4@5", F: "[g3,eb4] [ab3,f4]!2 [bb3,g4] [bb3,g4]@3 [f4,bb4]", G: "f4 g4@2 [g4,bb4]@11 ~@2, bb4@3 ~@13",
  H: "~@8 ab4@3 g4@3 c4@2", I: "eb4 ~", J: "f4@11 ~@5", K: "~@8 [ab3,ab4]@3 [g3,g4]@3 [c3,c4]@2", L: "[eb3,eb4]@3 ~",
  M: "~@8 [g3,g4]@3 [f3,f4]@3 [bb2,bb3]@2", N: "[eb3,eb4]@13 ~@3", O: "[eb3,eb4]@7 ~",
  P: "~@6 [f3,f4] [g3,g4] [ab3,ab4]@3 [g3,g4]@3 [c3,c4]@2", Q: "[f3,f4]@7 ~",
  R: "[db3,db4]@3 [eb3,eb4] ~@2 [eb3,eb4]@2 [db3,db4]@2 [g3,g4]@2 [ab3,ab4]@2 [bb3,bb4]@2, ~@2 [f3,f4] ~@5, ~@5 ab3@5 ~@6", // Db Eb Db G Ab Bb F
  S: "[ab3,ab4]@3 [eb3,eb4]@2 ~ [db3,db4]@2 [c3,c4]@7 ~, ~@5 ab3@11", // Ab Eb Db C
  T: "[[eb3,eb4]@7 ~ [eb3,eb4]@3 [g3,g4]@3 ~@2 [eb3,eb4]@12 ~@4, ~@14 [bb2,bb3]@13 ~@5]/2", // Eb G Eb Bb
  U: "[~@9 [ab4,c5]@7, c4, ~@2 eb4@7 ~ eb4@21 ~, ~@6 ab4@11 ~@15]/2", V: "~@8 ab4@3 bb4@3 c5@2, db4@7 ~, ~@2 f4@13 ~",
  W: "[f4,db5]@3 [f4,db5]@5 [f4,db5]@3 [f4,c5]@3 [f4,bb4]@2", X: "[f4,bb4]@15 ~",
  Y: "[bb3,eb4]@8 [ab4,bb4]@3 [g4,bb4]@3 [f4,bb4]@2", Z: "[eb4,bb4]@15 ~",
  AA: "[eb4,ab4,c5]@9 ~ [eb4,ab4,bb4]@2 [eb4,ab4,c5]@2 [eb4,ab4,db5]@2", AB: "~@2 [eb4,ab4,c5]@13 ~",
  AC: "[[db4,f4,ab4]@7 ~ [f4,ab4]@2 [f4,bb4]@2 [f4,c5]@2 [db4,f4]@14 ~@4]/2", // Db Fm Bb5 F5 Db
  AD: "~@3 [db4,f4,bb4]@3 ~ [db4,f4,bb4]@3 [db4,f4,bb4]@4 ~@2", // Bbm
  AE: "[g4,bb4]@3 [g4,bb4]@4 ~ [f4,ab4]@3 [f4,ab4] [g4,bb4]@3 ~", AF: "[eb4,ab4]@12 ~ [eb4,ab4,bb4]!3",
  AG: "[eb4,ab4,c5]@5 ~@2 c5 db5 c5 ~ [eb4,ab4,bb4]@2 [eb4,ab4]@3, ~@6 [eb4,ab4,bb4]@2 [eb4,ab4]@3 ~@5", // Ab Ebsus4 Ab5 Ebsus4 Ab5
  AH: "[~@8 ab4@2 bb4@2 c5@2 [ab4,db5]@4 [ab4,c5]@8 [ab4,c5]!4 [ab4,bb4] [ab4,c5]@2 [f4,ab4]@9 ~@6]/3", // Db5 Ab Absus2 Ab Fm
  AI: "~@3 [f4,db5]!2 [f4,db5]@2 [f4,db5]@8 ~", AJ: "eb4 f4 ~ f4@3 ~ f4 eb4 f4@3 eb4 f4@3, bb4@6 ~ bb4@5 bb4@4",
  AK: "[~@16 f4 g4!2 f4@2 g4!2 f4@2 g4 [g4,bb4]@5 ~, ~@15 [g4,bb4]@2 ~ bb4@3 ~ bb4@3 ~@7]/2", // Gm
  AL: "[~@14 g4!2 f4 g4@6 ~@9, ~@14 bb4@9 ~@9]/2", AM: "[ab4,c5,eb5]@10 ~ [ab4,db5,eb5]@2 db5 [ab4,bb4,eb5] bb4",
  AN: "[[ab4,c5,eb5]@9 eb4 ~ eb4 ~ eb4 ab4 ab4@8 ~@9, ~@10 [bb4,eb5]@4 [bb4,eb5]@9 ~@9, ~@5 ab4!2 ~@9]/2", // Ab Eb5
  AO: "ab4 ab4@2 g4@3 ab4@2, [eb4,bb4]", AP: "[~@5 f3 [ab3,db4] f3 [ab3,db4]@12 ~@12, ~@2 [eb3,db4] ~@13]/2",
  AQ: "~@3 eb4 f4!2 eb4!2 f4 f4@7, ~@3 bb4@13", AR: "~@3 g4@2 g4 g4@2 [db4,f4]@6 ~@2, ~@3 eb4@5 ~@8", AS: "[eb3,eb4]",
  AT: "[~@3 ab4@20 ~@9, c4@3 ~, ~ eb4@22 ~@9]/2",
})).s("gm_electric_guitar_jazz").gain(0.19).pan(0.8)

// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note("<~@17 A B C D E F ~@23 G H I ~@7 J ~@43>".pickRestart({
  A: "~@8 c4@7 ~", B: "~@4 c4@3 ~", C: "~@8 f4@7 ~", D: "~@4 f4@3 ~", E: "~@8 db4@7 ~", F: "~@8 db4@5 ~@3", G: "db4",
  H: "g3@7 ~@9", I: "g4@7 ~", J: "~@9 ab4@2 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.8)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@20 A B ~@35 C D E F G H I J@2 ~@19 K L ~@13>".pickRestart({
  A: "~@11 c3@2 ~ bb2 ab2", B: "bb2!2 ~@14", C: "eb4 db4 ab3 eb4 ~ eb4 db4 ~ eb4 bb3 g3 eb4 ~ eb4 ~@2",
  D: "eb4 c4 ~ eb4 ~ eb4 c4 ~ eb4 c4 ab3 eb4 ~ eb4 c4 ~", E: "eb4 db4 ab3 eb4 ~ eb4 db4 ~ eb4 bb3 g3 eb4 ~ eb4 bb3 ~",
  F: "c4 ab3 f3 c4 ~ c4 ab3 ~ c4 ab3 ~ c4 ~ c4 ab3 ~", G: "eb4 db4 ab3 eb4 ~ eb4 db4 ab3 eb4 bb3 g3 eb4 ~ eb4 bb3 g3",
  H: "eb4 c4 ~ eb4 ~ eb4 c4 ab3 eb4 c4 ab3 eb4 ~ eb4 c4 ~", I: "eb4 db4 ab3 eb4 ~ eb4 ~@2 eb4 db4 ab3 eb4 ~ eb4 db4 ~",
  J: "[eb3,bb3]!2 ~@4 [db3,ab3]!2 [eb3,bb3]!2 ~@6", K: "~@11 db3 c3@2 bb2 ab2", L: "bb2 ~@7",
})).s("gm_electric_guitar_muted").gain(0.33).pan(0.4)

// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note("<~@57 A B C D ~ E F ~@36>".pickRestart({
  A: "~@14 bb3 ~", B: "~@2 ab3 ~@13", C: "~@7 ab3 ~@8", D: "~@7 f3 ~@2 f3 ~@5", E: "~@2 ab3 ~@12 ab3",
  F: "~@6 db4 ~@8 ab3",
})).s("gm_electric_guitar_muted").gain(0.22).pan(0.4)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@58 A B C D ~@2 E F@3 G@2 H@2 I@2 J@2 K@2 L M N@4 K@2 L M O@2 ~@10>".pickRestart({
  A: "~@9 c4 eb4 ab4 g4 eb4 c4 bb3", B: "ab3@3 ~@5", C: "~@4 f4 g4 ab4 [a4,bb4]", D: "ab4 ~",
  E: "[eb3,g3,bb3]!2 ~@4 [db3,f3,ab3]!2 [eb3,g3,bb3]!2 ~@6", // Eb Db Eb
  F: "[[eb3,g3,bb3]!2 ~@4 [db3,f3,ab3]!2 [eb3,g3,bb3]!2 ~@6 eb3@32, ~@5 ab2@19]/3", G: "[[db3,ab3]@31 ~]/2",
// … 118 more lines

More by Celine Dion