Strudelify

Poolshark

Sublime

KeyF♯ minorTempo65 bpm
0:00/0:00
// Poolshark — Sublime
// 65 bpm, 4/4, key F# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 23 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(65/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 · acoustic guitar nylon · "TabIt MIDI - Track 1"
const acoustic_guitar_nylon = note("<A@8 B@4 C@5 D@6>".pickRestart({
  A: "[~@2 d3@3 ~ [e3,a3]@3 ~@2 [e3,a3]@2 d3 [d3,a3]@12 ~@2 d4 d4@2 ~ a3@2 ~@2 d4 d4@2 ~ a3@2 ~@2 a2@2 ~@2 a3 a3@2 ~ e3@2 e3@2 ~@2 a3 a3@2 ~ e3 ~ e3 a2!2 a#2 f4@2 ~@4 f3@2 f4@2 ~@4 f3@2 [c3,f3]@2 ~@4 f3@2 [f3,a3,c4]@2 ~@3 c#3 ~@10 f#3@2 [g#3,c#4,g#4]@2 ~ g#4@2 [f3,g#3,c#4]@2 ~ f3@2 [e2,b2,e3,g#3,b3,e4]@2 ~ [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@2, ~@5 [a3,d4,f4]@2 ~@2 a2@35 ~@2 a2@10 [a2,e3]@7 [a2,e3]@2 e3@3 a#2@8 a#2@8 f2@11 f3@6 a#3@5 [c#4,f#4]@4 ~@18, ~@6 [c4,e4]@8 [d4,f4]@15 f4@5 a3@5 d4@3 [a3,d4]@6 c4@6 ~@4 c4@10 d4@4 d4@4 d4@4 d4@4 ~@2 c3@6 c3@5 f#2@23 ~@8, ~@26 d3@8 d3@12 e3@5 a3@3 [a3,c4]@4 ~@3 a3@7 [f3,a#3]@5 a#3@3 [f3,a#3]@5 a#3@3 [a3,c4,f4]@4 [c4,f4]@4 f4@6 c#3@4 f#3@5 a#3@3 ~@2 [g#3,c#4]@3 ~@2 [g#3,c#4]@3 ~@8, ~@26 a3@5 d4@5 f4@6 f4@12 e4@14 ~@2 f4@6 ~@2 f4@6 ~@2 f3@3 a3@3 ~@2 [a3,c4]@6 [c#4,f#4]@4 c#3@6 [c#3,f3]@5 [c#3,g#4]@5 ~@8]/8", // A5 D5 F5 F C#5 C# E Dm …
  B: "[[b2,f#3,b3,d#4,f#4]@2 ~ [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4]@2 [e2,b2,e3,g#3,b3,e4]@2 ~ [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4] [b2,e3,g#3,b3,e4]@2 [b2,f#3,b3,d#4,f#4]@2 ~ [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4]@2 [e2,b2,e3,g#3,b3,e4]@2 ~ [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4] [b2,e3,g#3,b3,e4]@2 [b2,f#3,b3,d#4,f#4]@2 ~ [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4]@2 a4@4 ~@6 a4@2 [c#4,f#4,a4]@2 [f#2,c#3,f#3,a3,c#4,f#4]@2 ~ [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4]!2 ~ [f#2,c#3,f#3,a3,c#4,f#4]@2, ~@7 e2@5 ~@3 e2@12 ~@5, ~@20 f#3@7 ~@5, ~@20 c#4@5 c#5@2 ~@5, ~@40 [f#4,c#5]@4 a4@3 f#4@5 ~@12]/4", // B E B E B F#m F#5
  C: "[~ [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4] [f#3,a3,c#4,f#4]@2 [e3,g#3,c#4,e4]@2 ~ [e3,g#3,c#4,e4]@2 [e3,g#3,c#4,e4]!2 ~ [e3,g#3,c#4,e4]@2 ~ [e3,g#3,c#4,e4]@2 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@2 [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4]!2 ~ [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@2 [a2,e3,a3,c#4,e4]@2 ~ [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4]!2 ~ [a2,e3,a3,c#4,e4]@2 ~ [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4] [a2,e3,a3,c#4,e4]@2 [a#2,f3,a#3,d4,f4]@2 ~ [a#2,f3,a#3,d4,f4]@2 [a#2,f3,a#3,d4,f4]!2 ~ [a#2,f3,a#3,d4,f4]@2 ~ [a#2,f3,a#3,d4,f4]@2 [a#2,f3,a#3,d4,f4] [a#2,f3,a#3,d4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 ~ [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]!2 ~ [f2,c3,f3,a3,c4,f4]@2, ~@2 f#2@33 ~@5, ~@2 c#3@17 ~@21]/5", // F#m C#m D A A# F
  D: "[~ [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~ [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4] [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f3,g#3,c#4,g#4]@2 ~ [c#3,f3,g#3,c#4,g#4]@2 [c#3,f3,g#3,c#4,g#4] [c#3,f3,g#3,c#4,g#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~ [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4] [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f3,g#3,c#4,g#4]@2 ~ [c#3,f3,g#3,c#4,g#4]@2 [c#3,f3,g#3,c#4,g#4] [c#3,f3,g#3,c#4,g#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~ [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4] [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f3,g#3,c#4,g#4]@2 ~ [c#3,f3,g#3,c#4,g#4]@2 [c#3,f3,g#3,c#4,g#4] [f3,g#3,c#4,g#4]@2 ~@10 [e2,a2]@3 ~@29, ~@6 f#2@5 ~@3 f#2@5 ~@3 f#2@10 ~@16, ~@13 c#3@3 ~@8, ~@54 [d#3,g#3,c4,g#4]@29 ~@13]/6", // F F# C# F# C# F# C# A5 …
})).s("gm_acoustic_guitar_nylon").gain(0.41)

stack(acoustic_guitar_nylon)

More by Sublime