Information Technology Grimoire

Version .0.0.1

IT Notes from various projects because I forget, and hopefully they help you too.

Swagger

Violin and Kalimba with heavy bass and walking bass line. I sort of like it.

Try it

setcpm(72/4)  // 72 BPM - slow, heavy heartbeat
// ========== BASS SECTION ==========
// Walking bass - ONLY IN CHORUS (cycles 3-4+)
$: n("<<[~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~]> <[~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~]> <[0 -7 -3 0] [-3 -1 0 2] [-1 2 4 2] [-4 -1 2 -4]> <[0 2 -3 0] [-3 0 2 4] [-1 0 2 4] [-4 -1 2 0]>>").scale("e:minor").trans(-24)
  .s("gm_cello")
  .gain(0.6)
  .lpf(400)
  .room(0.8)
  .distort(0.2)
  ._pianoroll()
// ========== MELODY SECTION ==========
// Lead melody - FLOWING PHRASES, no gaps
$: n("<<[0 2 4 7] [7 9 11 9] [11 9 7 4] [7 4 2 0]> <[0 4 7 9] [7 4 2 0] [2 4 7 9] [7 9 11 7]> <[11 14 16 19] [16 14 11 9] [14 11 9 7] [11 9 7 4]> <[0 4 7 11] [7 11 14 16] [14 11 9 7] [11 7 4 0]> <[19 16 14 11] [16 14 11 9] [14 11 9 7] [11 9 7 4]> <[0 4 7 11] [4 7 11 14] [7 11 14 16] [11 14 16 19]> <[21 19 16 14] [19 16 14 11] [16 14 11 9] [14 11 9 7]> <[16 14 11 9] [14 11 7 4] [11 7 4 2] [7 4 2 0]>>").scale("e:minor").trans(12)
  .s("<kalimba>")
  .lpf("<2500 2400 2200 2400 2000 2400 2000 2300>")
  .gain("<0.4 0.32 0.48 0.34 0.48 0.46 0.48 0.48>")
  .room(0.2)
  ._pianoroll()
// Original violin melody
$: n("<<[0 [2 3] 4 3] [[-3 -1] 0 [2 0]] [[-1 2] 4 [2 0]] [[-4 -1] 2 [-1 -4]]> <[[0 2] 4 [3 2]] [[-3 0] 4 [2 0]] [[2 4] 6 [4 2]] [[-1 2] 6 [4 2]]> <[0 0 0 [2 4]] [-3 -3 -3 [0 4]] [-1 -1 -1 [2 6]] [-4 -4 -4 [-1 2]]> <[7 [9 11] 9 7] [4 [7 9] 7 4] [6 [9 11] 9 6] [2 [6 9] 6 2]> <[11 [12 14] 11 9] [7 [9 11] 7 4] [9 [11 13] 9 6] [6 [7 9] 6 2]> <[14 [16 14] 11 9] [11 [14 11] 7 4] [13 [16 13] 9 6] [9 [11 9] 6 2]> <[16 16 14 11] [14 14 11 7] [16 16 13 9] [11 11 9 6]> <[11 9 7 0] [7 4 0 -7] [9 6 2 -5] [6 2 -1 -8]>>")
  .scale("e:minor").trans(-12)
  .s("gm_violin")
  .lpf("<2200 2100 2400 2300 2100 2400 2200 2400>")
  .gain("<0.28 0.3 0.32 0.34 0.36 0.34 0.32 0.35>")
  .room(0.2)
  ._pianoroll()

// French horn harmony - responds to violin phrases
$: n("<<[~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~]> <[~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~] [~ ~ ~ ~]> <[-3 -3 ~ ~] [0 0 ~ ~] [2 2 ~ ~] [-1 -1 ~ ~]> <[4 ~ 4 ~] [0 ~ 0 ~] [2 ~ 2 ~] [-1 ~ -1 ~]> <[7 ~ 7 ~] [4 ~ 4 ~] [6 ~ 6 ~] [2 ~ 2 ~]> <[~ 11 ~ 7] [~ 7 ~ 4] [~ 9 ~ 6] [~ 6 ~ 2]> <[11 ~ 9 ~] [7 ~ 4 ~] [9 ~ 6 ~] [6 ~ 2 ~]> <[7 ~ 4 ~] [4 ~ 0 ~] [6 ~ 2 ~] [2 ~ -1 ~]>>")
  .scale("e:minor").trans(-12)
  .s("gm_french_horn")
  .lpf(1800)
  .gain("<0 0 0.28 0.3 0.32 0.35 0.38 0.35>")
  .room(0.3)
  ._pianoroll()
// Pad - ALWAYS SUSTAINING, no gaps
$: n("<<[0 4 7 11] [-3 0 4 7] [-1 2 6 9] [-4 -1 2 6]> <[0 7 11 14] [-3 4 7 11] [-1 6 9 13] [-4 2 6 9]> <[0 4 11 14] [-3 0 7 11] [-1 2 9 13] [-4 -1 6 9]> <[0 7 14 19] [-3 4 11 14] [-1 6 13 18] [-4 2 9 13]> <[0 11 14 19] [-3 7 11 16] [-1 9 13 18] [-4 6 11 16]> <[0 4 7 16] [-3 0 4 11] [-1 2 6 13] [-4 -1 2 9]> <[0 7 11 19] [-3 4 7 16] [-1 6 9 18] [-4 2 6 13]> <[0 4 11 16 19] [-3 0 7 14 18] [-1 2 9 14 18] [-4 -1 6 11 14]>>").scale("e:minor").trans(-7)
  .s("gm_pad_2_warm")
  .lpf("<1200 1500 1800 2000 2200 1900 2100 2300>")
  .gain("<0.18 0.22 0.25 0.28 0.3 0.26 0.29 0.32>")
  .room(0.25)
  ._pianoroll()
// Piano - CONTINUOUS ARPEGGIOS, no silence
$: n("<<[0 4 7 11] [-3 0 4 7] [-1 2 6 9] [-4 -1 2 6]> <[0 7 11 14] [-3 4 7 11] [-1 6 9 13] [-4 2 6 9]> <[0 7 11 16] [4 7 11 14] [2 6 9 13] [-1 2 6 11]> <[0 7 14 19] [4 11 14 16] [6 9 13 16] [2 6 9 14]> <[4 11 14 19] [7 11 16 19] [6 9 14 18] [2 9 13 16]> <[7 11 16 19] [4 11 14 18] [6 11 14 18] [2 9 13 16]> <[11 16 19 21] [7 14 18 21] [9 14 18 21] [6 13 16 19]> <[0 7 11 16] [-3 4 11 14] [-1 6 9 13] [-4 2 6 11]>>").scale("e:minor").trans(12)
  .s("gm_acoustic_grand_piano")
  .lpf(4000)
  .gain("<0.28 0.32 0.36 0.42 0.38 0.35 0.4 0.45>")
  .room(0.15)
  ._pianoroll()
// ========== PERCUSSION SECTION ==========
// Heartbeat kick - SPARSE THEN DRIVING
$: s("<<bd:0 ~ ~ ~> <bd:0 ~ ~ ~> <bd:0 ~ bd:0 ~> <bd:0 bd:0 bd:0 bd:0>>")
  .gain("<0.5 0.6 0.7 0.8>")
  .lpf(100)
  .room(0.5)
// Snare - ENTERS GRADUALLY
$: s("<<~ ~ ~ ~> <~ ~ oh:8 ~> <~ cp:4 oh:8 ~> <~ cp:4 cp:4 cp:4>>")
  .gain(0.3)
  .lpf(4000)
  .room(0.8)
// Hi-hats - BUILDS DENSITY
$: s("<<~ ~ ~ ~> <hh:15*4> <hh:15*8> <hh:15*16>>")
  .gain("<0 0.1 0.12 0.15>")
  .lpf(8000)
  .room(0.9)
  .pan(perlin.range(0.2, 0.8))
// Toms - PUNCTUATION IN TRANSITIONS
$: s("<<~ ~ ~ tom:8> <~ ~ ~ tom:8> <~ ~ tom2:6 tom:8> <tom2:6 ~ tom2:6 tom:8>>")
  .gain(0.6)
  .lpf(300)
  .room(0.95)
// Crash - MARKS MAJOR SECTIONS
$: s("<<~!3 crash:4> <~!3 crash:4> <~!3 crash:4> <crash:4 ~ ~ crash:4>>")
  .gain(0.3)
  .room(0.95)
  .delay(0.7)
Last updated on 16 Nov 2025
Published on 16 Nov 2025