Strudelify

In alto mare

Berte

KeyF minorTempo106 bpm
0:00/0:00
// In alto mare — Berte
// 106 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(106/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.

// bass · electric bass finger
const bass = note(`<
  A B C D E F G H E F G H E F G H E F G H E F G H E F G I J K G H E F G H E F G H E F G H E F G H E F G H E F G H E F G
  I J K G L E F G H J K G H E F G H E F G L E F G H E F G H E F G H J K G H E F G H E F G H E F G H J M ~
>`.pickRestart({
  A: "bb1 ~@7", B: "bb1 ~@5 eb2@2", C: "f2 ~@6 eb2", D: "f2@2 ~@10 ab1@3 ~", E: "bb1@2 ~@5 bb1 bb1@2 ~@6",
  F: "bb1@2 ~@5 bb1 bb1@2 ~@2 eb2@4", G: "f2@2 ~@5 f1 f1@2 ~@6", H: "f1@2 ~@5 f1 f1@2 ~@2 ab1@4",
  I: "f1@2 ~@5 f1@2 ~ f1@2 ~@4", J: "db1@6 ~ db1 db1@8", K: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~@7",
  L: "f1@2 ~@5 f1 f1@2 g1@2 ab1@2 a1@2", M: "eb1 ~ eb1 ~ eb1 ~ eb1 ~@9",
})).s("gm_electric_bass_finger").gain(0.8)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  A B C D E F G H E F G H E F G H I J K L I J K L I J M L N O M L I J M L I J K L E F P H E F G H I J M L I J M L I J K
  L N O K Q I J M L N O M L I J M L I J K Q I J K L I J M L I J M L N O M L I J K L I J K L I J M L N R ~
>`.pickRestart({
  A: "f4!2 eb4 ~ f4 ~ eb4 ~ f4 ~ eb4 f4 ~ f4 eb4 ~", B: "f4!2 eb4 ~ f4 ~ eb4 ~ f4 ~ eb4 f4@3 ~@2",
  C: "c4!2 bb3 ~ c4 ~ bb3 ~ c4 ~ bb3 c4 ~ c4 bb3 ~", D: "c4!2 bb3 ~ c4 ~ bb3 ~ c4 ~ bb3 c4@3 ~@2",
  E: "[db4,f4] f4 eb4 ~ [db4,f4] ~ eb4 ~ [db4,f4] ~ eb4 [db4,f4] ~ f4 eb4 ~", // Db
  F: "[db4,f4] f4 eb4 ~ [db4,f4] ~ eb4 ~ [db4,f4] ~ eb4 [db4,f4]@3 ~@2", // Db
  G: "[c4,eb4] c4 bb3 ~ [c4,eb4] ~ bb3 ~ [c4,eb4] ~ bb3 [c4,eb4]@2 c4 bb3 ~", // Cm
  H: "[c4,eb4] c4 bb3 ~ [c4,eb4] ~ bb3 ~ [c4,eb4] ~ bb3 [c4,eb4]@3 ~@2", // Cm
  I: "[f4,c5]!2 [eb4,bb4] ~ [f4,c5] ~ [eb4,bb4] ~ [f4,c5] ~ [eb4,bb4] [f4,c5] ~ [f4,c5] [eb4,bb4] ~", // F5 Eb5 F5 Eb5 F5 Eb5 F5 Eb5
  J: "[f4,c5]!2 [eb4,bb4] ~ [f4,c5] ~ [eb4,bb4] ~ [f4,c5] ~ [eb4,bb4] [f4,c5]@3 ~@2", // F5 Eb5 F5 Eb5 F5 Eb5 F5
  K: "[c4,c5]!2 [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] [c4,c5] ~ [c4,c5] [bb3,bb4] ~", // C Bb C Bb C Bb C Bb
  L: "[c4,c5]!2 [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] [c4,c5]@3 ~@2", // C Bb C Bb C Bb C
  M: "[c4,c5]!2 [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] [c4,c5]@2 [c4,c5] [bb3,bb4] ~", // C Bb C Bb C Bb C Bb
  N: "[f4,ab4]!2 [eb4,g4] ~ [f4,ab4] ~ [eb4,g4] ~ [f4,ab4] ~ [eb4,g4] [f4,ab4] ~ [f4,ab4] [eb4,g4] ~", // Fm Eb Fm Eb Fm Eb Fm Eb
  O: "[eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~@7", // Ab5
  P: "[c4,eb4] c4 bb3 ~ [c4,eb4] ~ bb3 ~ [c4,eb4] ~ bb3 [c4,eb4] ~ c4 bb3 ~", // Cm
  Q: "[c4,c5]!2 [bb3,bb4] ~ [c4,c5] ~ [bb3,bb4] f3 f3@2 g3@2 ab3@2 a3@2", // C Bb C Bb
  R: "[eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~ [eb4,ab4] ~@9", // Ab5
})).s("gm_electric_guitar_muted").gain(0.4).pan(0.9)

// chords · electric guitar muted · soft notes
const electric_guitar_muted_2 = note("<~@4 A B C D A B C D A B C D ~@24 A B C D A B C D ~@63>".pickRestart({
  A: "~ db4 c4 ~@3 c4 ~@3 c4 ~@2 db4 c4 ~", B: "~ db4 c4 ~@3 c4 ~@3 c4 ~@5", C: "~ eb4 c4 ~@3 c4 ~@3 c4 ~@2 eb4 c4 ~",
  D: "~ eb4 c4 ~@3 c4 ~@3 c4 ~@5",
})).s("gm_electric_guitar_muted").gain(0.16).pan(0.9)

// bass · slap bass 2
const bass_2 = note("<~@24 A B C ~@29 A B C ~@5 A B C ~@5 D E F G D H I J ~@29 K L>".pickRestart({
  A: "~@15 bb1", B: "bb1!2 ab2 ~ bb2 ~ ab2 bb1 bb2 ~ ab2 bb2 eb2@3 ~", C: "f2@3 ~@13",
  D: "~ ab2 ~ bb2 ~ eb2@2 bb1 ~@7 bb1", E: "bb1 ab2 ~ bb2 ~ ab2 ~ bb2 ~@3 eb2 eb2@2 ab2 eb2",
  F: "f2@2 ~ eb3 ~ f3 ~ bb2@2 ~@7", G: "~ eb3 ~ f3 ~ bb2@2 eb3 ~@6 f2@2",
  H: "bb1 ab2 ~ eb3 ~ bb2 ~ db3 ~@3 eb2 eb2@2 ab2 eb2", I: "f2 eb3 ~ f3 ~ bb2 ~ bb2@2 ~@7",
  J: "~ f3 ~ c3 ~ eb3 ~ bb2 ~ f2 ~ g2 ~ ab2 ~ a2", K: "~@7 f1 bb2 [bb2,b2] ab2 bb2 ab2 f2 eb2 c2",
  L: "eb1 f1 ~ f1 ~ eb1 f1 ~@9",
})).s("gm_slap_bass_2").gain(0.8)

// chords · lead 2 sawtooth
const lead_2_sawtooth = note("<~@31 A@4 B@3 C D ~@71>".pickRestart({
  A: "[~@12 [eb5,f5] [f5,ab5] ~ [f5,c6]@9 ~ [c6,f6] ~ [eb5,ab5] [f5,bb5] [eb5,ab5] [c5,f5] [eb5,bb5]@3 [c5,ab5] ~@9 [c5,f5] [eb5,ab5] [c5,f5] [ab5,c6]@9 ~@8]/4", // Ebsus2 Fm F5 Ab5 Bb5 Ab5 F5 Eb5 …
  B: "[[eb5,bb5] ~ [eb5,bb5] ~ bb5 ab5 [c5,f5] [eb5,bb5] ~@2 [eb5,bb5] ~ [eb5,f5] [f5,ab5] ~ [f5,c6]@9 ~ [c6,f6] ~ [eb5,ab5] [f5,bb5] [eb5,ab5] [c5,f5] [eb5,bb5]@3 [c5,ab5] ~@13, ~@2 eb5 ~@21]/3", // Eb5 F5 Eb5 Ebsus2 Fm F5 Ab5 Bb5 …
  C: "[c6,eb6] [db6,f6] [c6,eb6] ~ [ab5,c6] [bb5,eb6] ~@2 [eb5,ab5] [f5,bb5] ~@6", // Cm Db Cm Ab Eb5 Ab5 Bb5
  D: "~ [c5,eb5] [eb5,f5] [f5,ab5] [f5,bb5] [eb5,ab5] [c5,f5] [c6,f6]@7 ~@2", // Cm Ebsus2 Fm Bb5 Ab5 F5
})).s("gm_lead_2_sawtooth").gain(0.56)

// other · synth strings 1
const synth_strings_1 = note(`<
  ~@16 A@2 B@2 A@2 B@2 A@2 B@2 C D ~@18 A@2 B@2 A@2 B@2 A@2 B@2 C D ~@2 A@2 B@2 C E ~@2 A@2 B@2 A@2 ~@2 A@2 B@2 A@2 B@2
  A@2 B@2 C E ~@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@3
>`.pickRestart({
  A: "[f3@15 ~]/2", B: "[eb3@31 ~]/2", C: "f3@15 ~", D: "eb3 ~", E: "c6 ~",
})).s("gm_synth_strings_1").gain(0.32)

// other · recorder
const recorder = note("<~@80 A B@2 C@3 D E F G H I@2 J@2 K L M L N L O P Q L M L N R S T>".pickRestart({
  A: "ab6@6 f6 ab6 eb6 f6 c6 eb6@5", B: "[~@2 c6 eb6 bb5 c6@6 ~ bb5 c6 g5@5 ~ f5 g5 eb5 f5 g5 ab5 bb5 c6@4 ~]/2",
  C: "[eb6 d6 db6 [ab5,c6] bb5@7 ~ eb6 [db6,d6] c6 bb5@5 ~@2 f6@15 ~ c6 eb6 c6 bb5 ab5 c6 bb5 ab5 f5 eb5, ~@15 ab5 ~@32]/3", // Ab Dmaj7
  D: "f5@3 ~ eb5 f5 ab5 bb5 ab5 f5 eb5 bb5 g5@3 bb5", E: "f5@3 bb5 g5@3 bb5 f5@3 bb5 g5@3 c6",
  F: "f5@3 c6 g5@3 c6 f5@3 c6 g5@3 c6", G: "ab5@3 c6 g5@3 c6 f5 c6 ab5 c6 g5@4",
  H: "f5@4 ab5 bb5 ~ bb5@2 ab5 bb5 c6 f5 ab5 bb5 ab5",
  I: "[c6 eb6 bb5 c6 eb6 f6 eb6 c6 bb5 bb6@10 ~ c7 bb6 ~@2 c7@5 ~@2 ab6]/2",
  J: "[bb6 g6 ~ ab6 ~ f6 ~ g6 ~ eb6 f6 g6 ab6 bb6 ab6 g6@5 bb6 g6 eb6 c6 eb6@5 c6 eb6 c6]/2",
  K: "~ ab5 g5@4 [ab5,bb5] [eb5,f5,g5] c5@5 ~@3, bb5@2 ~@6 db5 ~@7", // Absus2 Eb
  L: "[c6,eb6]@6 [ab5,c6] ~ [c6,eb6]@2 ~@4 [ab5,c6] [bb5,db6]", M: "[c6,eb6]@6 [ab5,c6] ~ [c6,eb6]@2 ~@6",
  N: "[c6,eb6]@6 [ab5,c6] ~ [c6,eb6]@2 ~@2 [c6,eb6]@2 ~@2", O: "[c6,eb6]@6 [ab5,c6] ~ [c6,eb6]@2 eb6 c6 bb5 eb6 c6 bb5",
  P: "ab5@6 bb5 g5 bb5@5 ~ g5 bb5", Q: "g5 eb5 c5 bb5 eb5 c5 eb5 c5 g5 ab5 ~ bb5 c6 db6 ~ eb6",
  R: "[c6,eb6]@5 c6 ab5 f5 eb5 f5 ab5 bb5 c6 eb6 f6 ab6", S: "bb6@6 ~ f6 bb6 [bb6,b6] ab6 bb6 ab6 f6 eb6 c6",
  T: "eb6 f6 ~ f6 ~ eb6 f6 ~@9",
})).s("gm_recorder").gain(0.64)

// chords · electric guitar muted
const electric_guitar_muted_3 = note(`<
  A B C D A B E D A B E D A B E D F G H I F G H I F G J I K L J I F G J I F G H I A B C D A B E D F G J I F G J I F G H
  I K L H M F G J I K L J I F G J I F G H M F G H I F G J I F G J I K L J I F G H I F G H I F G J I K N ~
>`.pickRestart({
  A: "bb3!2 ab3 ~ bb3 ~ ab3 ~ bb3 ~ ab3 bb3 ~ bb3 ab3 ~", B: "bb3!2 ab3 ~ bb3 ~ ab3 ~ bb3 ~ ab3 bb3@3 ~@2",
  C: "f3!2 eb3 ~ f3 ~ eb3 ~ f3 ~ eb3 f3 ~ f3 eb3 ~", D: "f3!2 eb3 ~ f3 ~ eb3 ~ f3 ~ eb3 f3@3 ~@2",
  E: "f3!2 eb3 ~ f3 ~ eb3 ~ f3 ~ eb3 f3@2 f3 eb3 ~",
  F: "[bb3,ab4]!2 [ab3,g4] ~ [bb3,ab4] ~ [ab3,g4] ~ [bb3,ab4] ~ [ab3,g4] [bb3,ab4] ~ [bb3,ab4] [ab3,g4] ~", // Bb7 Abmaj7 Bb7 Abmaj7 Bb7 Abmaj7 Bb7 Abmaj7
  G: "[bb3,ab4]!2 [ab3,g4] ~ [bb3,ab4] ~ [ab3,g4] ~ [bb3,ab4] ~ [ab3,g4] [bb3,ab4]@3 ~@2", // Bb7 Abmaj7 Bb7 Abmaj7 Bb7 Abmaj7 Bb7
  H: "[f3,ab4]!2 [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] [f3,ab4] ~ [f3,ab4] [eb3,g4] ~", // Fm Eb Fm Eb Fm Eb Fm Eb
  I: "[f3,ab4]!2 [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] [f3,ab4]@3 ~@2", // Fm Eb Fm Eb Fm Eb Fm
  J: "[f3,ab4]!2 [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] [f3,ab4]@2 [f3,ab4] [eb3,g4] ~", // Fm Eb Fm Eb Fm Eb Fm Eb
  K: "c4!2 bb3 ~ c4 ~ bb3 ~ c4 ~ bb3 c4 ~ c4 bb3 ~", L: "bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~@7",
  M: "[f3,ab4]!2 [eb3,g4] ~ [f3,ab4] ~ [eb3,g4] f2 f2@2 g2@2 ab2@2 a2@2", N: "bb3 ~ bb3 ~ bb3 ~ bb3 ~@9",
})).s("gm_electric_guitar_muted").gain(0.48).pan(0.1)

// chords · piano
const piano = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D A B C D E F C D A B C D A B C D A B C D A B C D A B C D A B C D A B C
  D E F C D A B C D E F C D A B C D A B C D A B C D A B C D A B C D E F C D A B C D A B C D A B C D E G H
>`.pickRestart({
  A: "[bb1,bb2]@2 [f3,ab3,db4] ~@2 [f3,ab3,db4] ~@2 [f3,ab3,db4] ~@3 [f3,ab3,eb4]@3 ~", // Bb Db Fm7
  B: "[bb1,bb2]@2 [f3,ab3,db4] ~@2 [f3,ab3,db4] ~@2 [f3,ab3,db4] ~@3 eb2@4", // Bb Db
  C: "f2@2 [f3,ab3,c4] ~@2 [f3,ab3,c4] ~@2 [f3,ab3,c4] ~@3 [f3,bb3,c4]@2 eb2@2", // Fm Fsus4
  D: "f2@2 [f3,ab3,c4] ~@2 [f3,ab3,c4] ~@2 [f3,ab3,c4] ~@3 [ab1,ab2]@3 ~", E: "[db2,f4,ab4,c5]@5 ~ [db2,f4,ab4,c5]@9 ~",
  F: "[eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ~@3 [e2,e3]@4", // Db E
  G: "[eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ~ [eb2,db4,f4,ab4] ab3 bb3 [bb3,b3] ab3 bb3 ab3 f3 eb3 c3", // Db Bmaj7
  H: "[eb2,eb3] [f2,f3] ~ [f2,f3] ~ [eb2,eb3] [f2,f3] ~@9", // Eb F Eb F
})).s("gm_piano").gain(0.56)

// chords · lead 2 sawtooth
const lead_2_sawtooth_2 = note(`<
  ~@16 A@2 B@2 A@2 B@2 A@2 B@2 C D ~@18 E@2 B@2 E@2 B@2 E@2 B@2 C D B@2 E@2 B@2 F G B@2 ~@8 A@2 B@2 A@2 B@2 A@2 B@2 F G
  B@2 A@2 B@2 A@2 B@2 A@2 B@2 F G ~
>`.pickRestart({
  A: "[[f4,ab4,c5]@7 ~]/2", B: "[[c5,eb5,g5]@7 ~]/2", C: "[f4,ab4,c5]@13 ~@3", D: "[db4,ab4,c5]@5 ~@11",
  E: "[[bb2,f4,ab4,c5]@7 ~]/2", F: "[c5,f5,ab5]@13 ~@3", G: "[db5,ab5,c6]@5 ~@11",
})).s("gm_lead_2_sawtooth").gain(0.32)

// drums · kick
const kick = s("bd").struct(`<
  A@4 B@23 C D E B@9 F B@3 G B@15 C D E B H B@4 D E B@8 D I B@12 D J B@14 K L M
>`.pickRestart({
  A: "~ x ~ x", B: "x ~@6 x!2 ~@7", C: "x ~@6 x ~@2 x ~@2 x ~@2", D: "x ~@6 x!2 ~@6 x", E: "x!5 ~ x ~",
  F: "x ~@6 x!2 ~ x ~@3 x ~", G: "x ~@6 x!2 ~ x ~@2 x ~@2", H: "x ~@6 x!2 ~ x ~ x ~ x ~",
  I: "~@2 x ~@4 x!2 ~ x ~ x ~ x ~", J: "x ~ x ~ x ~ x ~ x ~ x!2 ~ x ~@2", K: "x ~@6 x!2 ~@2 x ~@4", L: "x!4 ~@4",
  M: "~ x ~ x ~@12",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B@3 C B@3 C B@3 C B@13 D B@17 C B@13 D B E B@5 D B@9 F B@13 G B@14 H I J
>`.pickRestart({
  A: "~@9 x ~@6", B: "~ x ~ x", C: "~ x ~@2", D: "x!5 ~@3", E: "~@2 x ~ x!4", F: "~@2 x ~ x!3 ~", G: "x!5 ~ x ~",
  H: "~@4 x ~@7 x ~ x!2", I: "x ~ x ~ x ~ x ~@8 x", J: "x ~@4 x!2 ~@9",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@29 A ~@31 A ~@7 A ~@23 B ~@15 C ~>".pickRestart({
  A: "x!5 ~ x ~", B: "x ~ x ~ x ~ x ~ x!2 ~@6", C: "x!4 ~@4",
})).gain(0.48)

// drums · hihat
const hihat = s("hh").struct(`<
  A@3 B A@3 C D A@2 C A@3 C D A@2 C D A@2 C D A@2 C D ~ A E D A@2 C D A@2 ~ D A@2 E D A@2 C F A@2 C D A@2 C D A@2 C D ~
  D G D A@2 C D ~ D E D A@2 C D A D G D A@2 C D A@2 C D A@2 C D ~ D E D A@2 C D A@2 C D A@2 C F ~ H
>`.pickRestart({
  A: "x!4", B: "x ~ x ~ x!3 ~", C: "x ~ x ~ x!4", D: "~ x!3", E: "x!3 ~", F: "~ x!2 ~", G: "x ~@3 x ~@3 x ~@3 x!2 ~@2",
  H: "~ x!2 ~@5",
})).gain(0.64)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  A@3 B A@3 C A@3 C A@3 C A@3 C A@3 C A@3 C A ~ A D A@3 C A@3 ~ A@3 E A@3 C E A@2 C A@3 C A@3 C A ~ A C A@3 C A ~ A D A
  E A C A E@2 C A@3 C A@3 C A@3 C A ~ A D A@3 C A@3 C A@3 C A ~@2
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~@2 x ~@3 x ~@6 x ~@2", C: "~ x ~ x ~@4", D: "~ x ~ x ~@2 x ~", E: "~ x ~ x ~ x ~@2",
})).gain(0.32)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@7 A ~@3 A ~@3 B ~@3 C ~@3 C ~@3 D ~ E ~@5 C ~@11 B ~@3 C ~@3 C ~@3 D ~ F ~@5 C ~ E ~@5 C ~@3 D ~@3 C ~@3 C ~@3 C ~ G
  ~@5 C ~@3 C ~@3 C ~@3
>`.pickRestart({
  A: "~@13 x ~@2", B: "~@12 x ~ x!2", C: "~@13 x!3", D: "~@14 x!2", E: "~@11 x!2 ~@3", F: "~@3 x", G: "~@9 x ~@6",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@3 A ~@25 B ~ C ~@7 D ~@21 B ~ C ~@5 B ~ C ~ A ~@3 A@2 E ~@13 B ~ C ~@13 F G
>`.pickRestart({
  A: "~@7 x", B: "x!5 ~@3", C: "~@5 x ~ x", D: "x!8", E: "~@5 x ~@2", F: "x!4 ~@4", G: "~ x ~ x ~@12",
})).gain(0.48)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~ C ~@5 A ~@11 A ~@3 A ~@3 A ~@3 B ~@7 A ~ C ~@5 A ~@3 B ~@3 A ~@3 A ~@3 A ~@7 A
  ~@3 A ~@3 A ~@3
>`.pickRestart({
  A: "~@5 x ~@2", B: "~@13 x ~@2", C: "~@11 x ~@4",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@8 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2 B A ~@3 C ~@3 A ~@3 A ~@3 A ~ A ~ A ~@3 A ~ A ~ A ~@3 A ~ A ~ A
  ~@3 A ~@3 A ~@3 A B A ~ A ~@3 A ~@3 A ~@3 C ~@2
// … 14 more lines

More by Berte