Novembeat 2021

Novembeat 2021

I partipated in novembeat 2021 for a little bit. This document outlines the code I made to generate the sound.

(Recordings coming soon^H^H^H^H maybe.)

Table Of Contents

Process

Day 1: Health

Day 2: Ennui

Day 3: Love

Day 4: Lost

Day 5: Return

Day 6: Care

Day 7: Blemish

Day 8: Floral

Day 9: Restful

Day 10: Hyper

Day 11: Twin

Day 12: Vast

Day 13: Brawl

Process

I'm using #novembeat, #noisevember, #noisevembeat, etc, to make little etudes. With any luck, one etude a day.

My focus is going to be on rhythmic sequencing via drum samples and wavetable-based #FMsynthesis. I've got a bunch of sample libraries of drums and wavetables collecting dust over the years. My hope is to finally take a serious dive and use those.

Similar to #looptober, I will be relying heavily on my gesture synthesizer for modulation and control, this time for FM wavetable morphing, as well as drum sequencing. I'm also taking the time to improve the #zettelkasten system I developed to annotate and organize my sample library. The sample zettelkasten also has a static wiki component, which I'm thinking I may publish on my website once I figure out how to get enough useful information on there.

As if all that's not enough, I've also added some additional constraints for my etudes.

#novembeat as it turns out, has a set of prompts for each day, which I have and will continue to follow:

https://novembeat.com/prompts/

For added inspiration, I've also been using definitions from websters1913:

In the spirit of "there are no wrong samples, only wrong contexts", each etude will feature samples random chosen from my library using a program I wrote.

With the random samples as the raw material, the predetermined prompt as the target, it is my job to then somehow MacGyver a bridge connecting them.

Top (Used to start the engines up in Monolith)

(monolith:load "ugens.scm")
(monolith:load "gst.scm")

(monolith:start)

<<novembeat.scm>>=
<<top>>

(define (run)
(bunholdall)
(regclr -1)
(loop16)
(out zz))

Util

mkdrum

<<top>>=
(define (mkdrum cnd sqlite samp sco)
  (mkdrum-withrate cnd sqlite samp (paramf 1.0) sco))

<<top>>=
(define (mkdrum-withrate cnd sqlite samp rate sco)
  (let ((g (gest:new))
        (tk (gest:newscalar))
        (amp (gest:newscalar)))
    (gst:eval-addwords
     g
     (list
      (gst:wordentry "+" (hitvel tk amp 1.0))
      (gst:wordentry "." (hitvel tk amp 0.5))
      (gst:wordentry "," (hitvel tk amp 0.1))
      (gst:wordentry "-" (gst:mkrest)))
     sco)

    (cnd)
    (gest:iculate g)
    (bdrop)
    (gest:tick tk)
    (tsmp zz (rate) (lambda () (cratewav sqlite samp)))
    (gest:scalar amp)
    (mul zz zz)))

newsig

I make cables so often, I need a shorthand, which I'll call newsig.

<<top>>=
(define newsig monolith:cabnew)

mkdb

<<top>>=
(define (mkdb)
  (let ((db (monolith:nextfree 0)))
    (load-sqlite-db)
    (regset zz db)
    db))

open-db-in-monolith

Another thing that's going to happen every day. Try to boil down keystrokes and jargon...

<<top>>=
(define (open-db-in-monolith)
  (sqlar:sqlite-open (monolith:mkhome "s/a.db") "sqlite"))

...as well as loading the wavetables up. Some things can be abstracted away there now too.

crateload

<<top>>=
(define (crateload wtname uuid)
  (sqlar:cratewav "sqlite" wtname uuid))

mksend

Let's encourage the use of sends! mksend oughta do it.

<<top>>=
(define (mksend) (newsig (constf 0) 0))

throw

<<top>>=
(define (throw amt cab)
  (bdup)
  (if (number? amt)
    (cthrow zz amt cab)
    (cthrow zz (amt) cab)))

mksineft

<<top>>=
(define (mksineft)
  (let ((ft (monolith:nextfree 0)))
    (gen_sine (ftnew 8192))
    (regset zz ft) ft))

FM oscillator test (testfm)

The gist is: create an FM oscillator pair, with sine as carrier and wt as modulator, and slowly drive the modulation index up and down. The thing to listen for hear is the behavior of spectrum evolution.

Note that the tables might have to match still.

<<top>>=
(define (testfm wt nn car mod mi)
  (fmpair2
    (mtof nn)
    (param car) (param mod)
    (scale (expmap (flipper (phasor 0.3 0)) -1) 0 mi)
    (param 0.0)
    (lambda () (gen_sine (ftnew 2048)))
    (lambda () (monft wt)))
  (mul zz 0.5))

loadsineft

(define (loadsineft)
  (monolith:ftbl-create "sineft" 2048)
  (gen_sine (monft "sineft")))

att(enuate)

Just apply a gain to attenuate a signal. Units in DB.

<<top>>=
(define (att amt)
  (mul zz (ampdb amt)))

Oscillator Test

<<top>>=
(define (testwt wt nn)
  (let ((ftl (monolith:nextfree 0)))
    (ftlist-new)
    (regset zz ftl)

    (ftlist-append
      (lambda () (gen_sinesum (ftnew 8192) "0.2 0.2 0.2 0.2 0.2"))
      (reggetf ftl))
    (ftlist-append
      (lambda () (monft wt))
      (reggetf ftl))


      (phasor (mtof nn) 0)
    (tabmorf zz (expmap (flipper (phasor 0.3 0)) -1)
             (reggetf ftl))
    (mul zz 0.3)
    (regclr ftl)))

Day 1: Health

Theme: Health.

The state of being hale, sound, or whole, in body, mind and soul.

<<top>>=
(define (load-sqlite-db)
  (rvl (string-append
        (mkstring "/home/paul/proj/smp/a.db") " sqlite_open")))

(define (loop1)
  (let ((rev (monolith:cabnew (constf 0) 2))
        (del (monolith:cabnew (constf 0) 2)))
    (gst:cnd 160)
    (bhold zz)
    (cabset zz 0)
    (load-sqlite-db)
    (regset zz 1)

    (loop1-kik (cabgetf 0))
    (loop1-snr (cabgetf 0))
    (bdup)
    (cthrow zz (randi 0.0 0.3 0.2) (cabgetf del))
    (bdup)
    (cthrow zz
      (ampdb (randi (param -30) (param -8) (randi 0.2 4 1)))
      (cabgetf rev))
    (add zz zz)
    (loop1-hh (cabgetf 0))
    (mul zz (ampdb -8))
    (bdup)
    (cthrow zz (randi 0.0 0.1 0.2) (cabgetf del))
    (add zz zz)

    (rvl " 1.7 softclip")
    (mul zz (ampdb -8))
    (butlp zz 8000)

    (loop1-lead (cabgetf 0))
    (bdup)
    (cthrow zz (randi 0.2 0.8 0.2) (cabgetf del))
    (bdup)
    (cthrow zz 0.8 (cabgetf rev))
    (add zz zz)

    (loop1-pads (cabgetf 0))
    (mul zz (ampdb -12))
    (bdup)
    (cthrow zz 0.8 (cabgetf rev))
    (add zz zz)

    (loop1-bass (cabgetf 0))
    (mul zz (ampdb -13))
    (bdup)
    (cthrow zz 0.8 (cabgetf rev))
    (add zz zz)

    (cabget del)
    (simple-delay zz 0.7 (* (/ 60 160) 1.5))
    (butlp zz 2000)
    (bdup)
    (cthrow zz 0.5 (cabgetf rev))
    (add zz zz)

    (bunhold (cabget 0))
    (regclr 1)
    (cabget rev)
    (simple-delay zz 0 0.1)
    (bdup)
    (revsc zz zz 0.95 8000)
    (bdrop)
    (dcblock zz)
    (mul zz (ampdb -10))
    (add zz zz)
    (regclr rev)
    (regclr del)))

<<top>>=
(define (hitvel scl amp val)
  (lambda (g tk)
     (gest:target g 1)
     (gest:step g)
     (gest:setscalar g scl 1)
     (gest:setscalar g amp val)
     tk))

<<top>>=
(define (gatevel amp val gt)
  (lambda (g tk)
     (gest:target g 1)
     (gest:gate g gt)
     (gest:setscalar g amp val)
     (gest:ramp g)
     tk))

<<top>>=
(define (straight amp val)
  (lambda (g tk)
     (gest:target g 1)
     (gest:step g)
     (gest:setscalar g amp val)
     (gest:invramp g)
     tk))

<<top>>=
(define (loop1-mkdrum cnd samp sco)
  (let ((g (gest:new))
        (tk (gest:newscalar))
        (amp (gest:newscalar)))
    (gst:eval-addwords
     g
     (list
      (gst:wordentry "+" (hitvel tk amp 1.0))
      (gst:wordentry "." (hitvel tk amp 0.5))
      (gst:wordentry "-" (gst:mkrest)))
     sco)

    (cnd)
    (gest:iculate g)
    (bdrop)
    (gest:tick tk)
    (tsmp zz (randi (param 0.9) (param 1) (randh 2 8 2)) (lambda ()
    (cratewav (reggetf 1) samp)))
    (gest:scalar amp)
    (mul zz zz)))

<<top>>=
(define (loop1-kik cnd)
  (loop1-mkdrum cnd "0d8b20ec%"
"
beg 4 4
mr 2 pr 4 mr 3 + +
-

mn 1 3 rndn
-
pr 2 - mn 1 2 rndn pr 2 . . .
pr 4 - + - .
end
loop fin
"))

<<top>>=
(define (loop1-snr cnd)
  (loop1-mkdrum cnd "e98413f5%"
"
beg 4 4
-

mn 1 2
rndn
pr 4 + - - .
+

-
mn 1 4
rndn
pr 4 . mr 2 + .
+
pr 3 + - pr 2 . .
pr 4 . + - -
end
loop fin
"))

<<top>>=
(define (loop1-hh cnd)
  (loop1-mkdrum cnd "0b5a49ab%"
"
beg 4 4
pr 4 + . . +
pr 4 + . + .
mn 1 2 rndn
pr 4 . + . .
pr 6 + . . + + +
pr 4 + . pr 2 + + pr 2 + +
end
loop fin
")
(mul zz (ampdb -10))
(buthp zz 3000))

<<top>>=
(define (loop1-hho cnd)
  (loop1-mkdrum cnd
"9d5b90ee%"
"
beg 4 4
pr 4 - - - -
pr 4 - - - -
pr 4 - - - -
pr 4 - - mr 2 +
end
loop fin
")
(mul zz (ampdb -10))
(buthp zz 3000))

<<top>>=
(define (loop1-lead cnd)
  (let ((seq (gest:new)) (tk (gest:newscalar)))

     (gst:eval-addwords seq
       (list
        (gst:wordentry "z" (gst:mkrest))
        (gst:wordentry "tk" (gst:mktick tk)))
"
beg 8 8
mr 4
mn 1 2 rndn
t 7 mb 2 rndb lin stp tk
pr 3
t 7 gl tk
t 10 gl tk
t 12 gl tk

mr 4
pr 8
mr 3 t 3 tk stp
mr 5 t 5 tk stp
end

beg 8 1 z end

beg 8 8
mr 4
mn 1 2 rndn
t 12 stp tk
pr 4
mr 3 t 12 stp tk
t 7 stp tk

mr 4
mn 8 3 rndn
pr 8
mr 3 t 14 tk stp
mr 3 t 10 tk stp
mr 2 t 3 tk gl

pr 8
mr 3 t 14 tk stp
mr 5 t 10 tk stp
pr 8
mr 3 t 10 tk stp
mr 5 t 14 tk stp
end

beg 8 1 z end
loop fin
")
     (cnd)
     (gest:iculate seq)
     (add zz 71)
     (mtof zz)
     (blsaw zz 0.5)

     (gest:tick tk)
     (tenvx zz 0.001 0.01 0.1)

     (mul zz zz)
     (butlp zz 1000)))

(define (mkpadsynthft)
   (let ((r (monolith:nextfree 0)))
    (gen_padsynth (ftnew 32768) 110 40
      (lambda () (gen_vals (ftnew 1) "0.9 0.5 0.1 0.3 0.5 0.3 0.1 0.1 0.1")))
    (regset zz r)
    r))

<<top>>=
(define (loop1-padsynth note ft)
  (param note)
  (mul zz (/ 1 110))
  (phasor zz 0)
  (trd zz ft))

(define (loop1-pads cnd)
  (let ((ps (mkpadsynthft)))
    (gst:gexpr cnd "
beg 16 4
mr 2 t 0 sg
mn 2 2 rndn
t 0 mg
t 12 gl
end
loop fin
")
    (add zz 59)
    (mtof zz)
    (loop1-padsynth zz (reggetf ps))

    (gst:gexpr cnd "
beg 16 4
mr 2 t 7 sg
mn 2 2 rndn
t 5 mg
t 7 mg
end
loop fin
")
    (add zz 59)
    (mtof zz)
    (loop1-padsynth zz (reggetf ps))
    (add zz zz)

(gst:gexpr cnd "
beg 16 4
mr 2 t 2 sg
mr 2 t 3 mg
end
loop fin
")
    (add zz 59)
    (mtof zz)
    (loop1-padsynth zz (reggetf ps))
    (add zz zz)

(gst:gexpr cnd "
beg 16 4
mr 2 t 10 sg
mr 2 t 10 mg
end
loop fin
")
    (add zz 59)
    (mtof zz)
    (loop1-padsynth zz (reggetf ps))
    (add zz zz)

    (mul zz (ampdb -8))


    (regclr ps)
  ))

<<top>>=
(define (loop1-bass cnd)

(gst:gexpr cnd "
beg 16 4
mr 2 t 0 gl
t -4 mg
pr 2
t 10 mg
t 3 gl
end
loop fin
")
    (bdup)
    (add zz (- 59 24))
    (mtof zz)
    (blsaw zz 0.9)

    (bswap)
    (add zz (- 59 12.1))
    (mtof zz)
    (blsaw zz 0.5)
    (add zz zz)
    (butlp zz 1000)
    (mul zz 0.3))

Day 2: Ennui

Ennui.

A feeling of weariness and disgust; dullness and langour of spirits, arising from satiety or want of interest; tedium.

Thinking about a really downtempo and sparse sound. Dub? Feedback delay tuned to triplets.

I want drums to be in a small room. A melody/riff to be in the distance in a big space.

Thinking about the LinnLinn-9000 drum sounds.

<<top>>=
(define (loop2)
  (let ()
  (cabset (bhold (gst:cnd 73)) 0)
  (load-sqlite-db)
  (regset zz 1)
  (loop2-kik (cabgetf 0))
  (loop2-snare (cabgetf 0))
  (bdup)
  (mul zz (randi 0.1 1 0.5))
  (simple-delay zz 0.3 (/ (/ 60 73) 3))
  (mul zz (ampdb -3))
  (butlp zz 5000)
  (add zz zz)
  (mul zz (ampdb 3))

  (add zz zz)
  (loop2-hihat (cabgetf 0))
  (mul zz (ampdb -15))
  (butlp zz 3000)
  (add zz zz)

  (bdup)
  (simple-delay zz 0.0 0.1)
  (mul zz 0.8)
  (add zz zz)
  (bdup)
  (bdup)
  (verbity zz zz 0.09 0.2 0.0)
  (bdrop)
  (dcblock zz)
  (bswap)
  (mul zz (ampdb -5))
  (add zz zz)

  (loop2-melody (cabgetf 0))
  (bdup)
  (bdup)
  (revsc zz zz 0.9 10000)
  (bdrop)
  (dcblock zz)
  (mul zz (ampdb -10))
  (bswap)
  (mul zz (ampdb -3))
  (add zz zz)

  (add zz zz)

  (bunhold (cabget 0))))

gkujhkuo /vintage_drums/LinnLinn-9000/MaxV-Kick2.wav

<<top>>=
(define (loop2-kik cnd)
  (loop2-mkdrum cnd "gkujhkuo%"
"
beg 4 4
+ - + mn 1 2 rndn - pr 2 - .
end
loop fin
"))

gakkeqkh /vintage_drums/LinnLinn-9000/MaxV-Snare2.wav

<<top>>=
(define (loop2-snare cnd)
  (loop2-mkdrum cnd "gakkeqkh%"
"
beg 4 4
- + -
mn 1 3 rndn
+
pr 4 + mr 2 + .
pr 3 mr 2 + .
end
loop fin
"))

gwskhuph /vintage_drums/LinnLinn-9000/MaxV-Ride.wav

<<top>>=
(define (loop2-hihat cnd)
  (loop2-mkdrum cnd "gwskhuph%"
"
beg 4 4
+ pr 3 mr 2 + . + +
end
loop fin
"))

<<top>>=
(define (loop2-mkdrum cnd samp sco)
  (let ((g (gest:new))
        (tk (gest:newscalar))
        (amp (gest:newscalar)))
    (gst:eval-addwords
     g
     (list
      (gst:wordentry "+" (hitvel tk amp 1.0))
      (gst:wordentry "." (hitvel tk amp 0.5))
      (gst:wordentry "-" (gst:mkrest)))
     sco)

    (cnd)
    (gest:iculate g)
    (bdrop)
    (gest:tick tk)
    (tsmp zz 0.92 (lambda ()
    (cratewav (reggetf 1) samp)))
    (gest:scalar amp)
    (mul zz zz)))

<<top>>=
(define (loop2-fmvoice cnd csco msco psco isco art)
(let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (tr (tract:new)))
  (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
(cnd)
(gest:iculate cgst)
(bdrop)
(gst:eval-addwords mgst (list (gst:wordentry "wt" tok-wt)) msco)
(cnd)
(gest:iculate mgst)
(bdrop)

  (let ((g (gst:gexpr cnd psco)))
    (gest:squawk g 0))

  (add zz 36)
  (mtof zz)
  (param 1)
  (param 1)
  (let ((g (gst:gexpr cnd isco)))
    (gest:squawk g 0))
  (param 0.1)
  (gosc:node-fm gfmp)
  (mul zz 0.5)
  (gst:gexpr cnd art)
  (port zz 0.03)
  (mul zz zz)
))

<<top>>=
(define (loop2-init)
  (sqlar:sqlite-open (monolith:mkhome "s/a.db") "sqlite")
  <<loop2-init>>
)

Going to try to explore these waveforms I randomly picked out:

gppraaoe /awwav32/spectrallina/spm013_4.wav galahlre /awwav32/phaseshiftrcp1_0512.wav gfwlwosk /awwav32/addsqrs_00010110.wav gldfwilk /awwav32/spectrallogr/sposc2.000008.wav

<<loop2-init>>=
(sqlar:cratewav "sqlite" "spm_lina" "gppraaoe%")
(sqlar:cratewav "sqlite" "phshft_rcp" "galahlre%")
(sqlar:cratewav "sqlite" "binadd_sqrs" "gfwlwosk%")
(sqlar:cratewav "sqlite" "sposc_log" "gldfwilk%")


<<top>>=
(define (loop2-melody cnd)
  (loop2-fmvoice cnd
"
beg 6 4
mn 4 3 rndn
t 0 wt sposc_log

pr 8
t 0 wt binadd_sqrs
t 0 wt sposc_log
t 0 wt spm_lina
t 0 wt sposc_log
t 0 wt binadd_sqrs
t 0 wt sposc_log
t 0 wt spm_lina
t 0 wt sposc_log

pr 2 t 0 wt phshft_rcp
pr 2 t 0 wt sposc_log
end
loop fin
"

"
beg 4 4
mr 4 t 0 wt spm_lina
end
beg 3 4
mr 4 t 0 wt phshft_rcp
end
loop fin
"

"
beg 4 4
t -7 gl
t 0 mg
mn 1 2 rndn
t 3 gl
pr 2 t 3 gl t 4 gl

t 5 mg
end
beg 4 8
mr 3 t -4 gl

mn 5 3 rndn
pr 5 mr 3 t -2 gl mr 2 t 20 mb 2 rndb gl mg
pr 5 mr 3 t -2 gl mr 2 t 0 mb 2 rndb gl lin
t -2 gl
end
loop fin
"

"
beg 4 4
mr 2 t 0.5
mr 2 t 2
end
loop fin
"

"
beg 8 8
t 0 gate 0.5 rmp
t 0 stp irmp
t 0 stp irmp
t 0 mb 2 rndb gate 0.5 gate 0.8 rmp

mr 4 pr 8
mr 3 t 0 mb 2 rndb gate 0.9 gate 0.5 rmp
mr 5 t 0 stp irmp
end
loop fin
"
))

<<top>>=
(define (tok-wt g tk)
  (gosc:target g (car tk))
    (cdr tk))

Day 3: Love

Love:

To regard with passionate and devoted affection, as that of one for the other.

This one is going to be a noisevembeat, with some sweetness crammed in there.

Definitely gotta be a heartbeat.

Kind of a rush job because I am playing catchup, so this is going to be derived directly from loop2.

<<top>>=
(define (loop3)
  (let ()
  (phasor (/ 1 50) 0)
  (biramp zz 0.5)
  (bhold zz)
  (cabset zz 2)

  (gen_sine (ftnew 8192))
  (regset zz 3)

  (biscale (cabget 2) 10 96)
  (gst:cnd zz)
  (cabset (bhold zz) 0)
  (load-sqlite-db)
  (regset zz 1)
  (loop3-kik (cabgetf 0))
  (loop3-snare (cabgetf 0))
  (add zz zz)
  (bdup)
  (simple-delay zz (scale (cabget 2) 0.0 0.9) (param 0.1))
  (mul zz 0.8)
  (add zz zz)
  (bdup)
  (bdup)
  (verbity zz zz 0.09 0.2 0.0)
  (bdrop)
  (dcblock zz)
  (bswap)
  (mul zz (ampdb -5))
  (add zz zz)

  (chaosnoise
    (randi 1.001 1.99 3)
    (scale (expmap (cabget 2) 5) 60 8000))
  (mul zz 0.5)
  (eqfil zz 60 60 4)
  (add zz zz)
  (mul zz (ampdb -6))

  (loop3-fm (cabgetf 0))
  (mul zz 0.3)
  (add zz zz)

  (loop3-pads (cabgetf 0))

  (mul zz (ampdb -6))
  (add zz zz)

  (rvl "2 cabget 1 10 scale softclip 2 cabget -3 -6 scale ampdb mul")

  (limit zz -0.8 0.8)


  (bdup)
  (bdup)
  (revsc zz zz 0.96 10000)
  (bdrop)
  (dcblock zz)
  (mul zz (ampdb (scale (cabget 2) -10 -30)))

  (bswap)
  (maygate
      (metro (randi 3 40 1))
      (scale (expmap (cabget 2) 5) 1 0.5) (param 0))

  (port zz (scale (cabget 2) 0.1 0.001))
  (mul zz zz)
  (add zz zz)


  (bdup)
  (sine (randi 60 1000 1) 1)
  (mul zz (expmap (cabget 2) 3))
  (mul zz zz)
  (add zz zz)

  (limit zz -0.9 0.9)

  (regclr 3)
  (bunhold (cabget 0))
  (bunhold (cabget 2))))

<<top>>=
(define (loop3-kik cnd)
  (loop2-mkdrum cnd "gkujhkuo%"
"
beg 4 4
pr 4 mr 3 + .
pr 4 mr 3 + .
pr 4 mr 3 + .
pr 4 mr 3 + .
end
loop fin
"))

<<top>>=
(define (loop3-snare cnd)
  (loop2-mkdrum cnd "gakkeqkh%"
"
beg 4 4
- . - +
end
loop fin
"))

<<top>>=
(define (loop3-fmvoice cnd csco msco psco isco art)
(let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (tr (tract:new)))
  (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
(cnd)
(gest:iculate cgst)
(bdrop)
(gst:eval-addwords mgst (list (gst:wordentry "wt" tok-wt)) msco)
(cnd)
(gest:iculate mgst)
(bdrop)

  (let ((g (gst:gexpr cnd psco)))
    (gest:squawk g 0))

  (add zz 24)
  (mtof zz)
  (param 1)
  (param 1)
  (let ((g (gst:gexpr cnd isco)))
    (gest:squawk g 0))
  (param 0.1)
  (gosc:node-fm gfmp)
  (mul zz 0.5)
  (gst:gexpr cnd art)
  (port zz 0.03)
  (mul zz zz)
))

spm_lina has some really gnarly insect-like sounds!

<<top>>=
(define (loop3-fm cnd)
  (loop3-fmvoice cnd
"
beg 8 8
mr 4 t 0 wt sposc_log exp 3
mr 4 t 0 wt spm_lina exp -3
end
loop fin
"

"
beg 4 4
mr 4 t 0 wt spm_lina
end
beg 3 4
mr 4 t 0 wt phshft_rcp
end
loop fin
"

"
beg 4 4
mr 2 t 0
mr 2 t 2
end
beg 4 4
mr 4 t -4 gl
end
loop fin
"

"
beg 4 4
mr 2 t 0.5
mr 2 t 2
end
loop fin
"

"
beg 8 8
t 0 gate 0.5 rmp
t 0 stp irmp
t 0 stp irmp
t 0 mb 2 rndb gate 0.5 gate 0.8 rmp

mr 4 pr 8
mr 3 t 0 mb 2 rndb gate 0.9 gate 0.5 rmp
mr 5 t 0 stp irmp
end
loop fin
"
))

<<top>>=
(define (loop3-pads cnd)
    (blsaw (mtof 60) 0.5)
    (biscale (osc (/ 1 5) 1 0 (reggetf 3)) 0 1)
    (mul zz zz)
    (blsaw (mtof 62) 0.5)
    (biscale (osc (/ 1 8) 1 0 (reggetf 3)) 0 1)
    (mul zz zz)
    (add zz zz)
    (blsaw (mtof 71) 0.5)
    (biscale (osc (/ 1 9) 1 0.3 (reggetf 3)) 0 1)
    (mul zz zz)
    (add zz zz)
    (blsaw (mtof 64) 0.5)
    (biscale (osc (/ 1 6.3) 1 0.3 (reggetf 3)) 0 1)
    (mul zz zz)
    (add zz zz)
    (blsaw (mtof 67) 0.5)
    (biscale (osc (/ 1 7) 1 0.5 (reggetf 3)) 0 1)
    (mul zz zz)
    (add zz zz)
    (butlp zz (scale (cabget 2) 250 1000)))

Day 4: Lost

Lost:

Occupied with, or under the influence of, something, so as to be insensible of external things.

Reich-style minimalism loops. More experiments with FM wavetables from previous iteration.

Going to add some drums. Somehow.

<<top>>=
(define (loop4-init)
  (sqlar:sqlite-open (monolith:mkhome "s/a.db") "sqlite")
  <<loop4-init>>
)

<<loop4-init>>=
(sqlar:cratewav "sqlite" "spm_lina" "gppraaoe%")
(sqlar:cratewav "sqlite" "phshft_rcp" "galahlre%")
(sqlar:cratewav "sqlite" "binadd_sqrs" "gfwlwosk%")
(sqlar:cratewav "sqlite" "sposc_log" "gldfwilk%")

<<top>>=
(define (loop4)
   (let ((rev (monolith:mkcab (constf 0) 1))
         (del (monolith:mkcab (constf 0) 3))
)
     (load-sqlite-db)
     (regset zz 2)
     (cabset (bhold (gst:cnd (* 185 2))) 0)
     (loop4-voice1 (cabgetf 0))
     (loop4-voice2 (cabgetf 0))
     (simple-delay zz 0 0.005)
     (add zz zz)
     (loop4-voice3 (cabgetf 0))
     (simple-delay zz 0 0.01)
     (add zz zz)
     (loop4-voice4 (cabgetf 0))
     (simple-delay zz 0 0.015)
     (add zz zz)
     (bdup)
     (cthrow zz 0.5 (cabgetf rev))
     (bdup)
     (cthrow zz 0.9 (cabgetf del))

     (loop4-rim (cabgetf 0))
     (mul zz (ampdb -5))
     (bdup)
     (cthrow zz 2.9 (cabgetf rev))
     (bdup)
     (cthrow zz 0.9 (cabgetf del))
     (mul zz (ampdb -6))
     (add zz zz)

     (loop4-kik (cabgetf 0))
     (mul zz (ampdb 3))
     (add zz zz)

     (loop4-shaker (cabgetf 0))
     (mul zz (ampdb -10))
     (bdup)
     (cthrow zz 0.1 (cabgetf rev))
     (add zz zz)

     (loop4-snare (cabgetf 0))
     (mul zz (ampdb -3))
     (bdup)
     (cthrow zz 0.8 (cabgetf rev))
     (add zz zz)

     (bunhold (cabget 0))

     (cabget del)
     (simple-delay zz 0.8 (/ 60.1 (/ (* 185 2) 3)))
     (butlp zz 2000)
     (bdup)
     (verbity zz zz 0.01 0.2 0.1)
     (bdrop)
     (mul zz (ampdb -9))
     (bdup)
     (cthrow zz 0.1 (cabgetf rev))
     (add zz zz)
     (mul zz (ampdb -6))

     (cabget rev)
     (simple-delay zz 0 0.05)
     (bdup)
     (revsc zz zz 0.99 10000)
     (bdrop)
     (dcblock zz)
     (mul zz (ampdb -25))
     (buthp zz 300)
     (add zz zz)

     (mul zz (ampdb -3))

     (cabclr rev)
     (cabclr del)))

<<top>>=
(define (loop4-fmvoice cnd csco msco psco isco art)
(let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (tk (gest:newscalar))
         (amp (gest:newscalar))
         (tr (tract:new)))
  (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
(cnd)
(gest:iculate cgst)
(bdrop)
(gst:eval-addwords mgst (list (gst:wordentry "wt" tok-wt)) msco)
(cnd)
(gest:iculate mgst)
(bdrop)

  (let ((g (gst:gexpr-words
            cnd
            (list (gst:wordentry "nt" tok-nt))
            psco)))
    (gest:squawk g 0))

  (mtof zz)
  (param 1)
  (param 1)
  (let ((g (gst:gexpr cnd isco)))
    (gest:squawk g 0))
  (param 0.0)
  (gosc:node-fm gfmp)
  (mul zz 0.5)

  (let ((g (gest:new)))
        (gst:eval-addwords
         g (list
          (gst:wordentry "+" (hitvel tk amp 1.0))
          (gst:wordentry "." (hitvel tk amp 0.5))
          (gst:wordentry "-" (gst:mkrest))) art)
          (cnd)
          (gest:iculate g)
          (bdrop))

  (gest:tick tk)
  (tenvx zz 0.005 0.01 0.04)
  (mul zz (gest:scalar amp))
  (mul zz zz)))

testing with only carrier, middle C (60):

phshft_rcp has a lot of aliasing sounds to it. But it has body.

spm_lina just crackles. lots of high frequency content (probably even more stuff I can't hear).

binadd_sqrs is quite piercing. reminds me of a fire alarm.

sposc_log almost sounds vocal-like. When modulated with itself, it has a reedy sound.

It's really hard to manage these for things that aren't a bass there's a lot of brightness here.

<<top>>=
(define (loop4-voice1 cnd)
  (loop4-fmvoice cnd
"
beg 4 4
mr 4 t 0 wt sineft
end
loop fin
"
"
beg 20 4
mr 2 t 0 wt sposc_log
mr 2 t 0 wt sineft
end
loop fin
"
"
beg 7 7
rep 3
mr 2 nt Bb3 mb 2 rndb mg gl
mn 2 3 rndn
nt Bb4 mb 2 rndb mg gl
nt C-5 mb 2 rndb gl lin
pr 2
  nt D-5 gl
  nt F-5 gl
mr 3 nt A-4 mg
end

beg 11 11
mr 2 nt Bb3 mg
mr 2 nt Bb4 mg
mr 3 nt A-4 mg
mr 2 nt F-4 mb 2 rndb mg gl
mr 2 nt G-4 mb 2 rndb mg gl
end
loop fin
"

"
beg 30 8
mr 4 t 1 lin
mr 4 t 5 lin
end
loop fin
"

"
beg 7 7
rep 3
+ . + . + . .
end
beg 11 11
+ . + . + . .
+ . + .
end
loop fin
"
))

<<loop4-init>>=
(monolith:ftbl-create "sineft" 8192)
(gen_sine (monft "sineft"))

<<top>>=
(define (pch2midi pch)
  (let ((p (string->list pch))
        (nt (lambda (x)
              (case x
                ((#\C) 0)
                ((#\D) 2)
                ((#\E) 4)
                ((#\F) 5)
                ((#\G) 7)
                ((#\A) 9)
                ((#\B) 11)
                (else -1))))

        (acc (lambda (x)
               (case x
                 ((#\-) 0)
                 ((#\b) -1)
                 ((#\#) 1)
                 (else 0))))
        (oct (lambda (x) (* 12 (+ x 1)))))
    (+ (nt (car p))
       (acc (car (cdr p)))
       (oct (string->number (list->string (cddr p)))))))

<<top>>=
(define (tok-nt g tk)
  (gest:target g (pch2midi (car tk)))
  (cdr tk))

<<top>>=
(define (loop4-voice2 cnd)
  (loop4-fmvoice cnd
"
beg 4 4
mr 4 t 0 wt sineft
end
loop fin
"
"
beg 20 4
mr 2 t 0 wt sposc_log
mr 2 t 0 wt sineft
end
loop fin
"
"
beg 7 7
rep 3
mr 3 nt D-4 mb 2 rndb mg gl
mr 2 nt D-4 mg
mr 2 nt D-4 mg
end

beg 11 11
mr 2 nt D-4 mg
mr 2 nt D-4 mg
mr 3 nt D-4 mg
mr 2 nt D-4 mb 2 rndb mg gl
mr 2 nt D-4 mb 2 rndb mg gl
end

beg 7 7
rep 3
mr 3 nt C-4 mb 2 rndb mg gl
mr 2 nt C-4 mg
mr 2 nt C-4 mg
end

beg 11 11
mr 2 nt C-4 mg
mr 2 nt C-4 mg
mr 3 nt C-4 mg
mr 2 nt C-4 mb 2 rndb mg gl
mr 2 nt C-4 mb 2 rndb mg gl
end

beg 7 7
rep 3
mr 3 nt Eb4 mb 2 rndb mg gl
mr 2 nt Eb4 mg
mr 2 nt Eb4 mg
end

beg 11 11
mr 2 nt Eb4 mg
mr 2 nt Eb4 mg
mr 3 nt Eb4 mg
mr 2 nt Eb4 mb 2 rndb mg gl
mr 2 nt Eb4 mb 2 rndb mg gl
end
loop fin
"

"
beg 33 8
mr 4 t 0 lin
mr 4 t 7 lin
end
loop fin
"

"
beg 7 7
rep 3
+ . + . + . .
end
beg 11 11
+ . + . + . .
+ . + .
end
loop fin
"
))

<<top>>=
(define (loop4-voice3 cnd)
  (loop4-fmvoice cnd
"
beg 4 4
mr 4 t 0 wt sineft
end
loop fin
"
"
beg 23 4
mr 2 t 0 wt sposc_log
mr 2 t 0 wt sineft
end
loop fin
"
"
beg 7 7
rep 3
mr 3 nt F-4 mb 2 rndb mg gl
mr 2 nt F-4 mg
mr 2 nt F-4 mg
end

beg 11 11
mr 2 nt F-4 mg
mr 2 nt F-4 mg
mr 3 nt F-4 mg
mr 2 nt F-4 mb 2 rndb mg gl
mr 2 nt F-4 mb 2 rndb mg gl
end
loop fin
"

"
beg 25 8
mr 4 t 5 lin
mr 4 t 1 lin
end
loop fin
"

"
beg 7 7
rep 3
+ . . + . + .
end
beg 11 11
+ . + . + . .
+ . + .
end
loop fin
"
))

<<top>>=
(define (loop4-voice4 cnd)
  (loop4-fmvoice cnd
"
beg 4 4
mr 4 t 0 wt sineft
end
loop fin
"
"
beg 23 4
mr 2 t 0 wt sposc_log
mr 2 t 0 wt sposc_log
end
loop fin
"
"
beg 7 7
rep 3
mr 3 nt Bb2 mb 2 rndb mg gl
mr 2 nt Bb2 mg
mr 2 nt Bb2 mg
end

beg 11 11
mr 2 nt Bb2 mg
mr 2 nt Bb2 mg
mr 3 nt Bb2 mg
mr 2 nt Bb2 mb 2 rndb mg gl
mr 2 nt Bb2 mb 2 rndb mg gl
end

beg 7 7
rep 3
mr 3 nt G-2 mb 2 rndb mg gl
mr 2 nt G-2 mg
mr 2 nt G-2 mg
end

beg 11 11
mr 2 nt G-2 mg
mr 2 nt G-2 mg
mr 3 nt G-2 mg
mr 2 nt G-2 mb 2 rndb mg gl
mr 2 nt G-2 mb 2 rndb mg gl
end
loop fin
"

"
beg 25 8
mr 4 t 1 lin
mr 4 t 8 lin
end
loop fin
"

"
beg 7 7
rep 3
+ . . + . + .
end
beg 11 11
+ . + . + . .
+ . + .
end
loop fin
"
))

<<top>>=
(define (loop4-kik cnd)
  (mkdrum cnd (reggetf 2)  "grhrjhel%" "
beg 7 7
rep 3
+ - + - + - -
end
beg 11 11
+ - + - + - -
+ - + -
end
loop fin
"))

<<top>>=
(define (loop4-rim cnd)
  (mkdrum cnd (reggetf 2) "gokwuoaq%" "
beg 7 7
- - - - - - -
end
beg 7 7
- - - - - - +
end
beg 7 7
- - - - - - -
end
beg 11 11
- - - - - - -
- - + -
end
loop fin
"))

<<top>>=
(define (loop4-shaker cnd)
(mkdrum cnd (reggetf 2) "goilewaa%" "
beg 7 7
rep 3
+ . + . + . mn 1 2 rndn . pr 2 + .
end
beg 11 11
+ . + . + . .
+ . + .
end
loop fin
"))

<<top>>=
(define (loop4-snare cnd)
(mkdrum cnd (reggetf 2) "gfsdfoae%" "
beg 7 7
- - - - + - -
end
beg 7 7
- - - . + - -
end
beg 7 7
- - - - + - -
end
beg 11 11
- - - - + - -
+ - . +
end
loop fin
"))

Day 5: Return

Return.

To go or come again to the same place or condition.

Here are some random drum samples to preview and audition:

gsrwrpooq /vintage_drums/BossDR-550/DR550Rim.wav giaddpefk /vintage_drums/YamahaRY30/RY30Snare10.wav gulelrfir /vintage_drums/AlesisHr16b/HR16B 019 Gated Sidestick.wav goeqfdido /vintage_drums/NovationDrumstation/Kit12/DS12808TomMid.wav gouhieila /vintage_drums/RolandD-10L.A/la-wetbd.wav

goeqfdido: a very vintage sounding electric mid tom. It's almost begging for sibling toms to play along.

gouhieila: I think they are calling this a "wet" bass drum, and I can almost hear why: there does seem to be a little bit of room here.

gsrwrpooq: Realistic rimshot sound. Nothing terribly distinct.

giaddpefk: This is a gated snare sound. Very 80s. There's a big space behind that snare being snuffed out.

gulelrfir: As the filename suggests, a gated rimshot. A distinct 80s flavor.

Here are four random wavetables to try out:

gssefeies /awwav32/spectral2log/sposc2072.wav geuqhuewl /awwav32/addfib_10011011.wav gsojokuki /awwav32/fm0707.wav gwsskiwep /awwav32/add0314_15.wav

C-3: no modulator

gssefeies: very buzzy. Lots of highs, not a lot of lows.

geuqhuewl: kind sounds like it's saying 'eh'.

gsojokuki: very FM-y, as the name implies.

gwsskiwep: fifths!

<<top>>=
(define (loop5-init)
    (open-db-in-monolith)
    (crateload "sposc" "gssefeies%")
    (crateload "binaddfib" "geuqhue%")
    (crateload "fm3" "gsojokuk%")
    (crateload "part4n" "gwsskiw%"))

<<top>>=
(define (loop5)
  (let ((phs (newsig (gst:cndf 89) 0))
        (rev (mksend))
        (db (mkdb))
        (sft (mksineft)))
    (loop5-kik (cabgetf phs) (reggetf db))
    (loop5-shaker (cabgetf phs) (reggetf db))
    (mul zz (ampdb -5))
    (throw 0.1 (cabgetf rev))
    (add zz zz)
    (loop5-rim1 (cabgetf phs) (reggetf db))
    (throw 0.1 (cabgetf rev))
    (add zz zz)
    (loop5-rim2 (cabgetf phs) (reggetf db))
    (throw 0.1 (cabgetf rev))
    (mul zz (ampdb -3))
    (add zz zz)
    (loop5-snr (cabgetf phs) (reggetf db))
    (mul zz (ampdb -9))
    (throw 0.1 (cabgetf rev))
    (add zz zz)

    (loop5-lead (cabgetf phs) (reggetf sft))
    (mul zz (ampdb -8))
    (throw 0.3 (cabgetf rev))
    (loop5-alt (cabgetf phs) (reggetf sft))
    (mul zz (ampdb -8))
    (throw 0.5 (cabgetf rev))
    (add zz zz)
    (loop5-part3 (cabgetf phs) (reggetf sft))
    (mul zz (ampdb -13))
    (throw 0.8 (cabgetf rev))
    (add zz zz)

    (mul zz (ampdb -8))
    (butlp zz 4000)
    (add zz zz)

    (cabget rev)
    (simple-delay zz 0.0 0.05)
    (bdup)
    (revsc zz zz

(gst:gexpr (cabgetf phs)
"beg 32 2
t 0.93 exp 2
t 0.98 sg
end loop fin")

(param 10000))
    (add zz zz)
    (dcblock zz)
    (dcblock zz)
    (mul zz (ampdb -19))
    (add zz zz)

    (cabclr phs)
    (regclr db)
    (cabclr rev)
    (regclr sft)))

<<top>>=
(define (loop5-kik cnd db)
  (mkdrum cnd db "gouhieila%" "
beg 8 8
skwexp 1
pr 4 mr 3 + . - + +
+ - + -
end
beg 8 8
skwexp 0
+ - + +
+ - pr 4 mr 3 . +
end
loop fin
")
)

<<top>>=
(define (loop5-shaker cnd db)
(mkdrum cnd db "goilewaa%" "
beg 8 16
skwexp 1
+ . . .
+ . . .
+ . + .
+ .
mr 2 pr 4
+ . + .
end
beg 8 16
skwexp 0
mr 4 pr 8
+ . + . + . + .
mr 4 pr 8
+ . + . + . + .
mr 4 pr 8
+ . + . + . + .

+ . + pr 2 . .
end
loop fin
"))

<<top>>=
(define (loop5-rim1 cnd db)
(mkdrum cnd db "gulelrfir%" "
beg 8 8
skwexp 1
- - - +
- - - -
end
beg 8 8
skwexp 0
- - - +
- - - -
end
loop fin
"))

<<top>>=
(define (loop5-rim2 cnd db)
(mkdrum cnd db "gsrwrpooq%" "
beg 8 8
skwexp 1
- - - -
- - - +
end
beg 8 8
skwexp 0
- - pr 2 - . -
- pr 2 - . - +
end
loop fin
"))

<<top>>=
(define (loop5-snr cnd db)
(mkdrum cnd db "giaddpefk%" "
beg 8 8
skwexp 1
- - - -
- + - -
end
beg 8 8
skwexp 0
- + - -
- - - -
end
loop fin
"))

<<top>>=
(define (loop5-lead cnd ft)
  (loop5-fmvoice cnd ft "
beg 8 8
mr 4 t 0 wt binaddfib
t 0 wt part4n
t 0 wt binaddfib
t 0 wt part4n
t 0 wt binaddfib
end
loop fin
"
"
beg 8 8
mr 4 t 0 wt binaddfib
mr 4 t 0 wt sposc
end
loop fin
"
"
beg 8 8
skwexp 1
nt C-3 mg mr 3 pr 3 nt G-3 gl mr 2 nt D-4 mg
nt C-3 mg mr 3 pr 3 nt F-3 gl mr 2 nt E-3 mg
end
beg 8 8
skwexp 0
mr 3 nt A-2 mg nt E-3 mg
mr 3 nt G-2 gl nt D-3 gl
end
loop fin
"
"
beg 16 2
t 1 lin
t 5 lin
end
loop fin
"
"
beg 8 8
skwexp 1
+ mr 3 +
+ mr 3 +
end
beg 8 8
skwexp 0
mr 3 + +
mr 3 _ +
end
loop fin
"
"
beg 8 8
mr 4 t 0 lin
mr 4 t 0.3 lin
end
loop fin
"
))

<<top>>=
(define (loop5-alt cnd ft)
  (loop5-fmvoice cnd ft "
beg 8 8
mr 4 t 0 wt sposc
mr 4 t 0 wt fm3
end
loop fin
"
"
beg 8 8
mr 4 t 0 wt binaddfib
mr 4 t 0 wt fm3
end
loop fin
"
"
beg 8 8
skwexp 1
mr 3 pr 3 nt E-4 mg nt E-4 mg nt C-5 mg
nt B-4 mg

nt B-3 mg
nt A-4 mg
nt C-5 mg

pr 2 pr 2
nt G-4 gl nt A-4 mb 2 rndb gl lin
nt F-4 mb 2 rndb mg gl
end
beg 8 8
skwexp 0
pr 2 nt C-2 gl nt C-3 gl
mr 3 mt 2 nt G-3 mg nt G-4 mg

mr 3 nt B-4 mg nt C-4 mg
end
loop fin
"
"
beg 16 2
t 0 lin
t 3 lin
end
loop fin
"
"
beg 8 8
skwexp 1
- mr 2 _ +
- mr 2 _ pr 2 _ +
end
beg 8 8
skwexp 0
pr 2 _ + mr 3 +
mr 3 + +
end
loop fin
"
"
beg 8 8
mr 3 t 0.1 lin t 0.5 lin
mr 3 t 0.1 lin t 0.5 lin
end
loop fin
"
))

why does this sound singy?

<<top>>=
(define (loop5-part3 cnd ft)
  (loop5-fmvoice cnd ft "
beg 4 4
skwexp 1
mr 2 t 0 wt binaddfib
mr 2 t 0 wt binaddfib
end
loop fin
"
"
beg 16 8
skwexp 1
mr 4 t 0 wt binaddfib
mr 4 t 0 wt sposc
end
loop fin
"
"
beg 8 8
mr 4 nt D-5 mg
mr 4 nt D-5 mg
end
beg 8 8
mr 4 nt E-5 gl

mn 4 3 rndn
nt G-5 mg
nt D-5 mg
nt B-5 gl
end
loop fin
"
"
beg 16 2
t 3 lin
t 0 lin
end
loop fin
"
"
beg 8 8
skwexp 0
mr 2 _ + _
mr 2 _ _ _
end
beg 8 8
skwexp 1
_ _ mr 2 _
_ _ mr 2 +
end
loop fin
"
"
beg 8 8
skwexp 1
mr 3 t 0.1 lin t 0.9 lin
mr 3 t 0.1 lin t 0.9 lin
end
beg 8 8
skwexp 0
mr 3 t 0.1 lin t 0.9 lin
mr 3 t 0.1 lin t 0.9 lin
end
loop fin
"
))

<<top>>=
(define (loop5-fmvoice cnd ft csco msco psco isco art vib)
(let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (tr (tract:new)))
  (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
(cnd)
(gest:iculate cgst)
(bdrop)
(gst:eval-addwords mgst (list (gst:wordentry "wt" tok-wt)) msco)
(cnd)
(gest:iculate mgst)
(bdrop)

  (let ((g (gst:gexpr-words
            cnd
            (list (gst:wordentry "nt" tok-nt))
            psco)))
    (gest:squawk g 0))

  (let ((ex (newsig (gst:gexprf cnd vib) 0)))
    (scale (cabget ex) 5 6)
    (oscf zz 0 ft)
    (scale (cabget ex) 0 0.5)
    (mul zz zz)
    (cabclr ex))
  (add zz zz)
  (add zz -7)
  (mtof zz)
  (param 1)
  (param 1)
  (let ((g (gst:gexpr cnd isco)))
    (gest:squawk g 0))
  (param 0.0)
  (gosc:node-fm gfmp)
  (mul zz 0.5)

  (let ((g (gest:new)))
        (gst:eval-addwords
         g (list
          (gst:wordentry "+" (gatevel amp 1.0 0.5))
          (gst:wordentry "." (gatevel amp 0.5 0.5))
          (gst:wordentry "_" (straight amp 1.0))
          (gst:wordentry "-" (gst:mkrest))) art)
          (cnd)
          (gest:iculate g))
  (port zz 0.04)
  (mul zz (gest:scalar amp))
  (mul zz zz)))

Day 6: Care

Care: The object of watchful attention.

This made me think of a sound object of sorts. One simple pulse or idea, everything waaayy in the background.

Attempted drums:

giosahkip /vintage_drums/AlesisHr16/MaxV - HR16 CRASH CYM.wav gqklloeue /vintage_drums/YamahaCS6/Yamaha CS6 B 027.wav gshuiuhur /vintage_drums/RolandR-8/R8Snare25.wav gfskaqwfo /vintage_drums/BossDR-550/MaxV - CLAP.wav

And my waveforms, randomly selected:

gjraoakuk /awwav32/addsine10_13.wav gdkifiokq /awwav32/spectral2lin/sposc2564.wav gisliwwjq /awwav32/fm0707.wav gespoaoqe /awwav32/spectrallinb/spm512016_16.wav

<<loop6-init>>=
(crateload "addsine3n" "gjraoaku%")
(crateload "sposc2lin" "gdkifiok%")
(crateload "fm3" "gisliwwjq%")
(crateload "spmlinb" "gespoaoqe%")


Day 5 felt like a failure to me. I don't think I put enough attention into the melodic bits, and got overwhelmed by the wavetables.

Since it's Saturday, I have a bit more time to try things out. I'm going to try to approach waveforms more like phonemes and diphones like I did in october. The wavetables themselves don't have a compelling timbre usually, it's the transformation that matters.

<<top>>=
(define (loop6-init)
  (open-db-in-monolith)
  <<loop6-init>>
)

(define (loop6)
  (let ((phs (newsig (gst:cndf 91) 0))
        (del (mksend))
        (del2 (mksend))
        (rev (mksend))
        (db (mkdb)))

    (loop6-clap (cabgetf phs) (reggetf db))
    (loop6-clave (cabgetf phs) (reggetf db))
    (add zz zz)
    (loop6-snr (cabgetf phs) (reggetf db))
    (add zz zz)
    (loop6-crash (cabgetf phs) (reggetf db))
    (add zz zz)
    (softclip zz 10)
    (butlp zz (randi 800 4000 3))
    (throw (lambda () (randi 0 0.4 2.3)) (cabgetf del))
    (throw (lambda () (randi 0 0.4 1.3)) (cabgetf del2))
    (mul zz (ampdb -6))


    (loop6-attention (cabgetf phs))
    (softclip zz (randi 1 3 0.2))

    (throw (lambda () (randi 0 0.4 2.3)) (cabgetf del))
    (throw (lambda () (randi 0 0.4 0.75)) (cabgetf rev))
    (throw (lambda () (randi 0 0.4 1.3)) (cabgetf del2))
    (add zz zz)

    (cabget del)
    (vdelay zz (param 0.9) (randi 0.001 0.4 0.3) (param 0.5))
    (mul zz (ampdb -5))
    (throw (lambda () (randi 0 0.9 0.5)) (cabgetf rev))
    (add zz zz)

    (cabget del2)
    (vdelay zz (param 0.8) (randi 1.00 1.4 1.03) (param 1.5))
    (mul zz (ampdb -5))
    (butlp zz 1000)
    (throw (lambda () (randi 0 0.9 0.5)) (cabgetf rev))
    (add zz zz)

    (sparse 10)
    (mode zz 500 5)
    (mul zz (ampdb -5))
    (throw (lambda () (randi 0.5 0.9 0.5)) (cabgetf rev))
    (add zz zz)

    (cabget rev)
    (bdup)
    (revsc zz zz 0.98 10000)
    (bdrop)
    (dcblock zz)
    (mul zz (ampdb (randi -27 -20 2)))
    (add zz zz)

    (cabclr phs)
    (cabclr del)
    (cabclr rev)
    (regclr db)))

Wavetable notes (can't place in zet while program is running)

Using the new testwt node at pitch 48.

"addsine3n" "gjraoaku%": pitched at 48: I get an old-school additive risset vibe about this. Sparse spectrum, mostly sinusoidal, but with a spectrum above. Upper harmonics sounds related to natural harmonic series.

pitch 36: This is sounds just like it came from risset mutations, especially towards the beginning. It's got this faint eerie vibe to it.

pitch 24: compared to the reference buzz wave it is crossfading between, is quite calm.

"sposc2lin" "gdkifiok%" Low end seems to drop out on this one. At 48, there's definitely some kind of buzz, like a fluorescent light.

pitch 36: very noisy! hard to hear a pitch.

p24: kind of this emerging high end. I still hear the lower harmonics and fundamental maybe I think? It's subdued. kinda meh down here.

"fm3" "gisliwwjq%": Pitched at 48: very bright upper harmonics, bottom harmonics drop out. probably a high C:M ratio.

Pitched at 36: very clear to me at this point that the base frequency is totally gone. All you hear are the upper harmonics. Probably something to layer.

p24: getting some lansky mild und leise vibes, as heard in radiohead's idioteque. Feels very grounded.

"spmlinb" "gespoaoqe%" This one has some very piercing higher frequencies at 48. Makes me want to pitch it down.

36: lots of upper harmonics.

p24: sounds like a loose ground wire. Not really pitched.

---

Not a lot of these have anything resembling pitch, but there's a lot of activity happening in the upper harmonics. So, maybe try and tune things around nn30?

<<top>>=
(define (loop6-attention cnd)
  (loop6-fmvoice cnd (string-append "
beg 8 8
""
mn 2 4 rndn
nt C-1 wt addsine3n exp 3
nt Eb1 wt fm3 exp -3
pr 5
  nt C-1 wt spmlinb gl
  nt G-1 wt spmlinb gl
  nt D-2 wt spmlinb gl
  nt A-2 wt spmlinb gl
  nt E-3 wt spmlinb gl
" "
pr 6
  nt C-2 wt spmlinb gl
  nt F-2 wt fm3 gl
  nt Bb2 wt spmlinb gl
  nt A-2 wt spmlinb gl
  nt E-2 wt fm3 gl
  nt B-1 wt spmlinb gl
""
mr 2 pr 8
mn 3 3 rndn
pr 3
  nt C-3 wt fm3 gl
  nt D-3 wt spmlinb gl
  nt Eb3 wt spmlinb gl
pr 3
  nt Eb3 wt fm3 gl
  nt D-3 wt addsine3n gl
  nt C-3 wt addsine3n gl
pr 3
  nt Eb3 wt spmlinb gl
  nt Bb2 wt spmlinb gl
  nt C-3 wt spmlinb gl
mn 5 3 rndn
  pr 5
    nt F-3 wt fm3 gl
    mr 4 nt C-4 wt fm3 gl
  pr 2
    nt Bb3 wt sposc2lin mg
    nt C-4 wt spmlinb gl
  pr 5
    nt F-3 wt fm3 gl
    nt G-3 wt addsine3n gl
    nt Bb3 wt fm3 mg
    mr 2 nt C-4 wt fm3 lin

mn 4 3
pr 16
  mr 3 nt F-1 wt spmlinb gl
  mr 3 nt Ab1 wt spmlinb gl
  mr 3 nt Bb1 wt spmlinb gl
  mr 3 nt Ab1 wt spmlinb gl
  mr 4 nt G-1 wt spmlinb lin
nt F-1 wt spmlinb lin
pr 2
  nt F-1 wt spmlinb gl
  nt Ab3 wt spmlinb gl
end
loop fin
")
"
beg 8 8
mr 2 t 0 wt fm3 mg
mn 2 3 rndn
t 0 wt addsine3n
pr 2
t 0 wt addsine3n
t 0 wt spmlinb
pr 4
t 0 wt addsine3n
t 0 wt spmlinb
t 0 wt addsine3n
t 0 wt spmlinb
mr 2 t 0 wt fm3 mg
mr 2 t 0 wt addsine3n
end
loop fin
"
"
beg 8 2
t 0 exp -4
t 3 lin
end
beg 8 8
t 0 t 3 t 0 t 3
t 0 t 3 t 1 t 7
end
loop fin
"
))

<<top>>=
(define (loop6-fmvoice cnd csco msco isco)
  (let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (tr (tract:new)))
    (gst:eval-addwords mgst (list (gst:wordentry "wt" tok-wt)) msco)
    (cnd)
    (gest:iculate mgst)
    (bdrop)

    (gst:eval-addwords
     cgst
     (list
      (gst:wordentry "nt" tok-nt)
      (gst:wordentry "wt" tok-wt)) csco)
    (cnd)
    (gest:iculate cgst)
    (mtof zz)
    (param 1)
    (param 1)
    (let ((g (gst:gexpr cnd isco)))
      (gest:squawk g 0))
    (param 0.0)
    (gosc:node-fm gfmp)
    (mul zz 0.5)

    ;;(mul zz (gest:scalar amp))
    ;;(mul zz zz)
))

<<top>>=
(define (loop6-clap cnd db)
    (mkdrum cnd db
"gfskaqwfo%"
"
beg 8 8
- + - pr 4 + - - .
- + - pr 4 + . - -
end
loop fin
"))

<<top>>=
(define (loop6-clave cnd db)
    (mkdrum cnd db
"gqklloeue%"
"
beg 4 16
mr 2 + . mr 2 + . mr 2 +
- . mr 2 + + . mr 2 +
end
loop fin
"))

<<top>>=
(define (loop6-snr cnd db)
    (mkdrum cnd db
"gshuiuhur%"
"
beg 8 8
- + - +
- + pr 2 - . +
end
loop fin
"))

<<top>>=
(define (loop6-crash cnd db)
    (mkdrum cnd db
"giosahkip%"
"
beg 8 8
+ - - -
- - - -
end
loop fin
"))

Day 7: Blemish

Blemish.

To mark with deformity; to injure or impair, as anything which is well formed, or excellent;

Day 6 post mortem

Day 6 was... noisy. and bassy. Most of these waveforms contain a LOT of high frequency spectrum, which is only really exciting at lower frequencies. This story gets old quickly.

Lesson learned: don't come up with a plan before evaluating the sounds. Yesterday, I wanted to do something high-level for "care", but ended up not being able to pull it off because the samples wouldn't allow me to go in that direction.

So, evaluate the raw materials first, then work towards the concept.

Plans And Improvements

I'm thinking I may try to make better use of the modulation index, with the carrier being sine, or near sinusoidal. The hope here is that there's more predictable timbral control this way. Fingers crossed, at least.

Random Samples Used Today

gdupdhqrs /vintage_drums/YamahaRY30/RY30Ride03.wav

guorlodaw /vintage_drums/NovationDrumstation/Kit21/DS21909Snare.wav

gehfkwffs /vintage_drums/JomoxXbase-09/LongBD02.wav

grshdflla /vintage_drums/RolandMC303/MaxV - Bamboosd.wav

gjaaueulw /vintage_drums/AlesisHr16/96/HR16Tom04.wav

And the waveforms:

gishhhlhp /awwav32/add4/binadd4_01100110.wav

gippjfude /awwav32/fmc12/fm204_02.00.wav

guhrwsooi /awwav32/spectral2lin/sposc2492.wav

guewafrjd /awwav32/spectral2lin/sposc2121.wav

Wavetable Auditioning

<<loop7-init>>=
(loadsineft)
(crateload "binadd" "gishhhlhp%")
(crateload "fm2" "gippjfude%")
(crateload "sposc1" "guhrwsooi%")
(crateload "sposc2" "guewafrjd%")

binadd

> p48: very formanty and talky.

> p36: kind of has a shrillness to it. like a resonance you'd find on a self-resonating lowpass filter.

> p24: these binadd waveforms seem to be really neat at this range. They start beating at the higher frequencies. It makes me think about giant grasshoppers.

> fm36,118,138: 118 doesn't have a lot of growth, 138 is a little better.

> fm57,118: really shrill, there's like no body. only the fundamental, some bits on top, and no fundamental. Higher 'm' ratio does not help.

fm2

> p48: octave higher (so 2:1 or something). very sinusoidal still, so low modulation index.

> p36: this is just a classic FM sound, but sounding an octave higher, and in wavetable form.

> fm36:119: pretty controlled growth. nothing too crazy.

> fm57:118: as it reaches the top, there's this very particular partial that appears out of nowhere. It's a very interesting character in this spectrum.

sposc1

> p48: noisy and grainy, but there's still a pitch.

> p36: behaves pretty well at this range.

> p60: very weak, potentially a layer sound.

> fm36,119: lots of very interesting and subtle harmonic modulations over time.

> fm57,118: not too offensive at this range. It starts to get a little bright at the top.

sposc2

> p48: very sawtoothular. pretty well rounded sound.

> p36: my first instict here was "bass clarinent", which isn't really true.

> p60: very present and tolerable at this range, especially with minor filtering and vibrato

> fm36,119: okay, this one is really compelling. There's this beating that gets faster as it rises, as well as this

> fm48,119: like 36, but the beating is a bit more here. harmonic overtone series.

> f24,11F,13F: at this low pitch, 11F is really cool sounding with similar beating. By 13F, we have a more uniform timbre sweep and the beating goes away.

> f57,118: the beating pattern starts to get a little bit shrill at the top.

Drum Sample Auditioning

gdupdhqrs (short ride)

A very short ride.

guorlodaw (short round snare)

A snare that wants to be a kick. Very short, but kinda round I guess?

gehfkwffs (pitched tone)

This is a pitched tone. Nice attack, steady state synth timbre, but pleasant. Like a retrofuturistic doorbell.

grshdflla (bamboo snare)

Ah, yes, the "bamboo snare", as it seems to be called. I'm not sure what it's trying to be. It's so lo-fi though. It's small but has character.

gjaaueulw (punchy tom)

This is a punchy tom.

Top Loop

<<top>>=
(define (loop7-init)
  (open-db-in-monolith)
  <<loop7-init>>
)

<<top>>=
(define (loop7)
  (let ((phs (newsig (gst:cndf 130) 0))
        (rev (mksend))
        (db (mkdb)))
    (loop7-bamboosnare (cabgetf phs) (reggetf db))
    (att -3)
    (eqfil zz 1000 1000 2)
    (buthp zz 400)
    (throw 0.5 (cabgetf rev))
    (loop7-punchytom (cabgetf phs) (reggetf db))
    (att 2)
    (eqfil zz 2000 2000 2)
    (throw 0.9 (cabgetf rev))
    (add zz zz)
    (loop7-thetone (cabgetf phs) (reggetf db))
    (att -3)
    (throw 0.9 (cabgetf rev))
    (add zz zz)
    (loop7-shortride (cabgetf phs) (reggetf db))
    (buthp zz 2000)
    (att -10)
    (throw 0.1 (cabgetf rev))
    (add zz zz)
    (loop7-shortroundsnare (cabgetf phs) (reggetf db))
    (att -3)
    (throw 0.3 (cabgetf rev))
    (add zz zz)
    (loop7-melody (cabgetf phs))
    (throw 0.9 (cabgetf rev))
    (att -5)
    (add zz zz)

    (loop7-alt (cabgetf phs))
    (att -3)
    (butlp zz 2000)
    (throw 0.2 (cabgetf rev))
    (add zz zz)

    (loop7-bass (cabgetf phs))
    (butlp zz 1000)
    (eqfil zz 60 60 2)
    (throw 0.5 (cabgetf rev))
    (att -3)
    (add zz zz)


    (cabget rev)
    (simple-delay zz 0 0.1)
    (bdup)
    (revsc zz zz 0.93 10000)
    (add zz zz)
    (dcblock zz)
    (buthp zz 300)
    (softclip zz (gst:gexpr (cabgetf phs) "
beg 96 3
mr 2 t 1 exp 4
t 10 exp -3
end
loop fin
"))
    (att -10)
    (add zz zz)

    (limit zz -0.9 0.9)
    (cabclr phs)
    (cabclr rev)
    (regclr db)))

Components

BambooSnare

<<top>>=
(define (loop7-bamboosnare cnd db)
   (mkdrum-withrate cnd db "grshdfll%"
(gst:gexprf cnd "
beg 3 1
rep 3
t 1.0 stp
end
beg 3 3
mr 2 t 1.0 exp 3
mt 2 t 0.9 t 1.3
end
loop fin
"
)
"
beg 3 3
mn 2 4 rndn
  pr 6 + - . + - .
  pr 4 + . + pr 3 . - ,
  pr 3 + , pr 2 + .
  pr 2 + pr 3 . . .

mn 1 3 rndn
  +
  pr 3 + , .
  pr 4 + , . ,
end
loop fin
"))

PunchyTom

<<top>>=
(define (loop7-punchytom cnd db)
   (mkdrum-withrate cnd db "gjaaueulw%"
(gst:gexprf cnd "
beg 3 3
mr 2 t 1.0 lin
t 0.9 gl
end
loop fin
"
)
"
beg 3 3
mn 1 2 rndn
  pr 3 mr 2 + .
  +
-
mn 1 2 rndn
  pr 2 - .
  pr 3 - - .
loop fin
"))

TheTone

<<top>>=
(define (loop7-thetone cnd db)
   (mkdrum cnd db "gehfkwffs%"
"
beg 3 3
- + -
end
beg 3 1
rep 7
-
end
loop fin
"))

Short Ride

<<top>>=
(define (loop7-shortride cnd db)
   (mkdrum-withrate cnd db "gdupdhqrs%"
(gst:gexprf cnd "
beg 6 3
mr 2 t 1.0 exp 3
t 0.9 gl
end
loop fin
"
)
"
beg 3 3
pr 3 + . .
mn 1 3 rndn
  pr 3 . + .
  pr 3 + pr 2 , , .
  pr 3 . + +

mn 1 3 rndn
  pr 3 + . pr 2 , ,
  pr 3 + . .
  pr 3 + . +
end
loop fin
"))

Short Round Snare

<<top>>=
(define (loop7-shortroundsnare cnd db)
   (mkdrum-withrate cnd db "guorlodaw%"
(paramf 1.0)
"
beg 3 3
-
mn 1 2 rndn
  pr 3 mr 2 + .
  +

mn 1 3 rndn
  -
  -
  pr 3 - pr 2 . . ,
end
loop fin
"))

FM Voice

<<top>>=
(define (loop7-fmvoice cnd csco msco isco)
  (let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (tr (tract:new)))

    (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
    (cnd)
    (gest:iculate cgst)
    (bdrop)

    (gst:eval-addwords
     mgst
     (list
      (gst:wordentry "nt" tok-nt)
      (gst:wordentry "wt" tok-wt)) msco)
    (cnd)
    (gest:iculate mgst)
    (mtof zz)
    (param 1)
    (param 1)
    (let ((g (gst:gexpr cnd isco)))
      (gest:squawk g 0))
    (param 0.0)
    (gosc:node-fm gfmp)
    (mul zz 0.5)
))

Melody

<<top>>=
(define (loop7-melody cnd)
  (loop7-fmvoice cnd "
beg 24 6
mr 3 t 0 wt sineft lin
mr 3 t 0 wt sineft
end
loop fin
"

"
beg 24 24
mr 6 nt D-4 wt sposc2 mg
mr 6 pr 6
  mr 4 nt A-4 wt sposc2 mg
  mr 2 nt C-5 wt sposc1 gl
mr 6 nt G-4 wt sposc2 mg
mr 4 nt F#4 wt binadd mg
end
loop fin
"

"
beg 12 12
mr 3 t 0
mr 3 t 3
mr 3 t 1
mr 3 t 8
end
loop fin
")

 (att -5)
)

Alternate Melody

<<top>>=
(define (loop7-alt cnd)
  (loop7-fmvoice cnd "
beg 24 6
mr 5 t 0 wt sineft lin
mr 1 t 0 wt sposc2 lin
end
beg 20 6
mr 5 t 0 wt sineft lin
mr 1 t 0 wt binadd lin
end
loop fin
"

"
beg 24 24
mr 6 nt A-2 wt sposc1 mg
mr 6 pr 2
  nt G-3 wt sposc2 mg
  nt G-2 wt sposc1 mg
mr 6 pr 3
  mn 2 2 rndn
     nt F#3 wt sposc2 mg
     pr 3
       nt F#3 wt sposc2 mg
       nt G-3 wt fm2 mg
       nt A-3 wt fm2 mg
  mn 1 3
    pr 2
      nt Bb1 wt sposc1 gl
      nt Bb3 wt sposc2 gl
    nt Bb3 wt sposc2 mg
    pr 4
      nt Bb3 wt sposc2 mg
      nt C-4 wt binadd mg
      nt Bb3 wt fm2 mg
      nt G#3 wt sposc2 mg
mn 6 3
  pr 4
    nt A-1 wt sposc2 mg
    nt Bb3 wt sposc2 mg
    nt A-3 wt sposc1 mg
    nt C-4 wt binadd mg
  nt D-2 wt sposc1 gl
  nt A-3 wt sposc1 mg
end
loop fin
"

"
beg 12 12
rep 5
mr 3 t 8
mr 3 t 3
mr 3 t 5
mr 3 t 3
end
beg 12 12
mr 3 t 8
mr 3 t 10
mr 3 t 8
mr 3 t 0
end
loop fin
")

 (att -5)
)

Bass

<<top>>=
(define (loop7-bass cnd)
  (loop7-fmvoice cnd "
beg 2 1
t 0 wt fm2 lin
end
loop fin
"

"
beg 24 24
mr 24 nt D-1 wt sposc1 mg
end
beg 24 24
mr 12 nt Bb1 wt sposc1 gl
mr 12 nt A-1 wt sposc1 gl
end
loop fin
"

"
beg 24 12
mr 6 t 1 exp 2
mr 6 t 3 lin
end
loop fin
")
 (att -6)
)

Day 8: Floral

Floral

Made of flowers.

Initial thoughts to "Floral"

Ack. My composer instinct is to do something gentle, like a flower. But "gentle" has proven to be difficult to do with my raw material so far. We shall see what today's crop yields.

Drum Samples

Randomly Selected.

ringy snare

gijawpldh /vintage_drums/YamahaEX5/EX5A 013.wav

tambourine

gsaqurphh /vintage_drums/AkaiXR10/XRTambroll.wav

cowbell

geehdjlrl /vintage_drums/BossDR-660/DR-660Perc01.wav

dark snare

glkuhlluk /vintage_drums/AlesisDM5/DM5Snare037.wav

Wavetables

gripeoesj /aw_2010_wav32/classic_sawfiltered/filtered_saw_pow_256_001.wav                                                                    
gwerfuskq /aw_2010_wav32/add_binaddsine/binadd_sine_01110111.wav
gdqukkowq /aw_2010_wav32/hm_amfmsine/amfm_002.wav
grflwkask /aw_2010_wav32/spectral_spm_log/spm_log_16_06_16_04.wav

gripeoesj (sawfilt)

<<loop8-init>>=
(crateload "sawfilt" "gripeoesj%")

> fm48,139: this a very unstable sound. lots of ugly beating. this waveform does not want to be a modulator. That is what it is telling me.

> p48: kind of that electricity sort of high end. definitely not great at this register.

> p36: huh, I was kind of hoping for more low end, but this just a very buzzy sound. I don't know how I'm going to use this.

gwerfuskq (binadd)

<<loop8-init>>=
(crateload "binadd" "gwerfuskq%")

> fm60,115: very conventional FM-sounding behavior. As the name suggests, it must be very sinusoidal.

> p48: this has very similar qualities to my reference buzzwave. this makes sense, actually.

gdqukkowq (amfm)

<<loop8-init>>=
(crateload "amfm" "gdqukkowq%")

> fm24,11A: I've pitched this one down low to hear this clearly, but there's this weird shimmering sound that happens on top of everything else

> p60: very square-like spectrum.

grflwkask (spmlog)

<<loop8-init>>=
(crateload "spmlog" "grflwkask%")

> fm36,11a: really crunchy tanpura-ish drone.

> fm60,115: towards the top, the sound starts to beat and gargle a bit.

> p38: buzzy and grainy

> p60: yeah, it's aliasing like crazy. But it's making me think of crystalline structures. Could be useful with the right lowpass filter.

Loop

<<top>>=
(define (loop8-init)
  (open-db-in-monolith)
  (loadsineft)
  <<loop8-init>>
)

<<top>>=
(define (loop8)
  (let ((cnd (newsig (gst:cndf 93) 0))
        (db (mkdb))
        (rev (mksend)))
    (loop8-melody (cabgetf cnd))
    (att -8)
    (buthp zz 300)
    (throw 0.8 (cabgetf rev))
    (loop8-backup-a (cabgetf cnd))
    (att -9)
    (throw 0.7 (cabgetf rev))
    (loop8-backup-b (cabgetf cnd))
    (att -10)
    (add zz zz)
    (loop8-backup-c (cabgetf cnd))
    (att -13)
    (throw 0.7 (cabgetf rev))
    (att -9)
    (add zz zz)
    (att -5)
    (add zz zz)
    ;;(mul zz 0)

    (loop8-darksnare (cabgetf cnd) (reggetf db))
    (att -9)
    (throw 0.7 (cabgetf rev))

    (loop8-cowbell (cabgetf cnd) (reggetf db))
    (att -13)
    (throw 0.9 (cabgetf rev))
    (add zz zz)

    (loop8-ringsnare (cabgetf cnd) (reggetf db))
    (att -10)
    (throw 0.7 (cabgetf rev))
    (add zz zz)

    (loop8-tamb (cabgetf cnd) (reggetf db))
    (att -15)
    (throw 0.9 (cabgetf rev))
    (att -6)
    (add zz zz)

    (att -8)
    (add zz zz)

    (cabclr cnd)

    ;(mul zz 0)

    (cabget rev)
    (simple-delay zz 0 0.04)
    (bdup)
    (revsc zz zz (param 0.91) (param 8000))
    (add zz zz)
    (dcblock zz)
    (dcblock zz)
    (att -15)
    (add zz zz)

    (cabclr rev)
)
)

<<top>>=
(define (loop8-melody cnd)
  (loop8-fmvoice cnd "
beg 24 6
mr 3 t 0 wt sineft lin
mr 3 t 0 wt sineft
end
loop fin
"

"
beg 9 9
mr 3 nt F#4 wt binadd mg
mr 3 nt F#4 wt binadd mg
mr 2 nt G#4 wt binadd mg
nt A-4 wt binadd gl
end
beg 9 9
mr 3 nt E-4 wt binadd mg
mr 3 nt E-4 wt binadd mg
mr 2 nt G#4 wt binadd mg
nt A-4 wt binadd gl
end
beg 9 9
mr 3 nt D-4 wt binadd mg
mr 3 nt D-4 wt binadd mg
mr 2 nt G#4 wt binadd mg
nt A-4 wt binadd gl
end
beg 9 9
mr 3 nt C#4 wt binadd mg
mr 3 nt C#4 wt binadd mg
mr 3 nt E-4 wt binadd gl
end
loop fin
"

"
beg 9 9
mr 6 t 1 exp 3
mr 3 t 5 mg
end
loop fin
"
"
beg 9 9
mr 6 t 0.3 exp 3
mr 3 t 1 exp -1
end
loop fin
"
)

 (att -5)
)

<<top>>=
(define (loop8-fmvoice cnd csco msco isco expr)
  (let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (tr (tract:new)))

    (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
    (cnd)
    (gest:iculate cgst)
    (bdrop)

    (gst:eval-addwords
     mgst
     (list
      (gst:wordentry "nt" tok-nt)
      (gst:wordentry "wt" tok-wt)) msco)
    (cnd)
    (gest:iculate mgst)

    (let ((g (newsig (gst:gexprf cnd expr) 0)))
      (oscf
       (scale (cabget g) 5.5 6.3)
       (param 0)
       (monftf "sineft"))
      (mul zz (scale (cabget g) 0 0.3))
      (cabclr g))
    (add zz zz)
    (mtof zz)
    (param 1)
    (param 1)
    (let ((g (gst:gexpr cnd isco)))
      (gest:squawk g 0))
    (param 0.0)
    (gosc:node-fm gfmp)
    (mul zz 0.5)
))

<<top>>=
(define (loop8-backup-a cnd)

(loop8-fmvoice cnd "
beg 24 6
mr 3 t 0 wt sineft lin
mr 3 t 0 wt sineft
end
loop fin
"

"
beg 9 9
mr 9 nt D-3 wt amfm mg
end
beg 9 9
mr 9 nt C#3 wt amfm mg
end
beg 9 9
mr 9 nt B-2 wt amfm mg
end
beg 9 9
mr 9 nt A-2 wt amfm mg
end
loop fin
"

"
beg 9 9
mr 6 t 1 exp 3
mr 3 t 3 mg
end
loop fin
"
"
beg 9 9
mr 6 t 0.1 exp 1
mr 3 t 0.5 exp -1
end
loop fin
"
))

<<top>>=
(define (loop8-backup-b cnd)
  (loop8-fmvoice cnd "
beg 9 6
mr 3 t 0 wt sineft lin
mr 3 t 0 wt binadd
end
loop fin
"

"
beg 9 9
mr 9 nt A-3 wt amfm mg
end
beg 9 9
mr 3 nt B-3 wt amfm gl
mr 6 nt A-3 wt amfm gl
end
beg 9 9
mr 6 nt C#4 wt amfm mg
mr 3 nt G#3 wt amfm mg
end
beg 9 9
mr 9 nt A-3 wt amfm mg
end
loop fin
"

"
beg 9 9
mr 6 t 0 exp 3
mr 3 t 1 mg
end
loop fin
"
"
beg 9 9
mr 6 t 0.3 exp 3
mr 3 t 0.3 exp -1
end
loop fin
"
))

<<top>>=
(define (loop8-backup-c cnd)
  (loop8-fmvoice cnd "
beg 9 6
mr 3 t 0 wt sineft lin
mr 3 t 0 wt binadd
end
loop fin
"

"
beg 9 9
mr 9 nt A-4 wt sawfilt gl
end
beg 9 9
mr 9 nt C#5 wt sawfilt gl
end
beg 9 9
mr 3 nt D-5 wt sawfilt gl
mr 6 nt C#5 wt sawfilt gl
end
beg 9 9
mr 9 nt B-4 wt amfm mg
end
loop fin
"

"
beg 9 9
mr 6 t 0 exp 3
mr 3 t 1 mg
end
loop fin
"
"
beg 9 9
mr 6 t 0.3 exp 1
mr 3 t 0.1 exp -1
end
loop fin
"
)
(buthp zz 800)
(butlp zz 8000)
)

<<top>>=
(define (loop8-darksnare cnd db)
  (phsclk
   (gst:gexpr cnd "
beg 9 1
t 0 exp 3 rmp
end
loop fin
")
(param 16))
  (maygate zz 0.8 1)
  (tsmp zz (randi 0.8 2.01 2.8) (lambda () (cratewav db "glkuhlluk%")))

  (bdup)
  (vdelay zz (param 0.8) (randi 0.001 0.1 20) (param 0.5))
  (att -15)
  (add zz zz))

<<top>>=
(define (loop8-cowbell cnd db)
  (phsclk
   (gst:gexpr cnd "
beg 9 1
t 0 exp 3 rmp
end
loop fin
")
(param 32))
  (maygate zz 0.9 1)
  (tsmp zz (randi 1 4.01 2.8) (lambda () (cratewav db "geehdjlrl%")))

  (bdup)
  (vdelay zz (param 0.9) (randi 0.001 0.2 15) (param 0.5))
  (att -15)
  (add zz zz))

<<top>>=
(define (loop8-ringsnare cnd db)
  (phsclk
   (gst:gexpr cnd "
beg 9 1
t 0 exp 4.5 rmp
end
loop fin
")
(param 32))
  (maygate zz 0.8 1)
  (tsmp zz (randi 0.8 2.01 3.8) (lambda () (cratewav db "gijawpldh%")))

  (bdup)
  (vdelay zz (param 0.9) (randi 0.001 0.2 15) (param 0.5))
  (att -15)
  (add zz zz))

<<top>>=
(define (loop8-tamb cnd db)
  (phsclk
   (gst:gexpr cnd "
beg 9 1
t 0 exp -2 rmp
end
loop fin
")
(param 16))
  (maygate zz 0.3 1)
  (tsmp zz (randi 0.4 1.01 10) (lambda () (cratewav db "gsaqurphh%")))

  (bdup)
  (vdelay zz (param 0.9) (randi 0.001 0.2 15) (param 0.5))
  (att -15)
  (add zz zz))

Day 9: Restful

Restful:

Giving rest; freeing from toil, trouble, etc.

Initial thoughts?

I'm going to try to tie in the concept of "stillness" into "restful". Space, steady tones, steady beats, grounded sounds. The drums seem to be pretty well lined up for this (the one really high frequency one is weird though...). Still need to review the wavetables. Hopefully it is an okay bunch.

Drums

gojksojol /vintage_drums/EnsoniqAsr-x/MaxVolt - ASDM 141.wav
gdsdoihws /vintage_drums/KorgM1/MaxV-KorgM1-19.wav
gjeljksjp /vintage_drums/BossDR-202/96/202per33.wav
gipahdiou /vintage_drums/BossDr70/MaxV - DR 7018.wav

woodblock? (gojksojol)

<<top>>=
(define (loop9-block cnd db)
(mkdrum cnd db "gojksojol%" "
beg 5 5
+ - - + -
end
loop fin
")
)

artificial tom-tom (gdsdoihws)

<<top>>=
(define (loop9-tom cnd db)
(mkdrum cnd db "gdsdoihws%" "
beg 5 5
+ - - - -
end
loop fin
")
)

insect hihat (gjeljksjp)

<<top>>=
(define (loop9-hihat cnd db)
(mkdrum cnd db "gjeljksjp%" "
beg 20 20
- + - - -
- - - - -
- - - - -
- - - - -
end
loop fin
")
)

gentle bop (gipahdiou)

<<top>>=
(define (loop9-bop cnd db)
(mkdrum cnd db "gipahdiou%" "
beg 5 5
- - + - -
end
loop fin
")
)

wavetables

gjjipkdwk /aw_2010_wav32/spectral_spm_linlf/spm_lin_lf_01_30_16.wav
glhhpakfa /aw_2010_wav32/spectral_gatelin/sp_gate_lin_07_10_a.wav
gsdiqeods /aw_2010_wav32/spectral_sposc_lini/sposc_lin_1.414_008_004.wav                                                                     
gadaqakeo /aw_2010_wav32/spectral_spm_lina/spm_lina_64_1024_0_3.wav

spmlinlf (gjjipkdwk)

<<loop9-init>>=
(crateload "spmlinlf" "gjjipkdwk%")

> fm48,11a: pretty straightahead sounding. Maybe a little brighter crunch than a typical FM sound, but overall very tame.

> fm60,11a: yeah it's a bit bright. compared to sine, there's more high frequency content to begin with.

> fm24,11a: you know, this spectrum feels very linear. like, it doesn't dance like sine does. Feels very subtractive. Useful for sure.

gatelin (glhhpakfa)

<<loop9-init>>=
(crateload "gatelin" "glhhpakfa%")

> fm48,11a: very PWM-y behavior. a very narrow duty cycled pulse.

spolini (gsdiqeods)

<<loop9-init>>=
(crateload "spolini" "gsdiqeods%")

> fm48,11a: a very controlled spectrum, with a bit of crunch. similar to gjjipkdwk, only a bit bolder.

> whoah, some crazy aliasing happens with pitch shifting, going from G-4 to F#3. FM 1:1 indx ~20 Accidental discovery. It's like a warble. Keeping it in this novembeat.

splina (gadaqakeo)

<<loop9-init>>=
(crateload "splina" "gadaqakeo%")

> fm48,11a: discordant. lots of inharmonic spectrum here.

> fm36,11a: what? weirdly normal sounding, considering there was a mess of sound an octave above. This is like if a grounded cable had class.

> fm24,11a: a very quiet subdued bass.

> fm60,11c: aliasy and mess. seems like this waveform decides to be chaotic 48 onwards. towards the end, some very interesting harmonic partials suddenly appear.

> whoah, at around C-3, there's some very weird noisy evolution happening. the vibrato may be having an effect?

Loop and Setup

<<top>>=
(define (loop9-init)
  (open-db-in-monolith)
  (loadsineft)
  <<loop9-init>>
)

<<top>>=
(define (loop9)
  (let
    ((phs (newsig (gst:cndf (* 2 48)) 0))
     (rev (mksend))
     (db (mkdb)))
    (loop9-block (cabgetf phs) (reggetf db))
    (simple-delay zz 0 0.01)
    (att -6)
    (throw 0.3 (cabgetf rev))
    (loop9-tom (cabgetf phs) (reggetf db))
    (att -6)
    (throw 0.3 (cabgetf rev))
    (add zz zz)
    (loop9-bop (cabgetf phs) (reggetf db))
    (att -2)
    (throw 0.3 (cabgetf rev))
    (add zz zz)
    (loop9-hihat (cabgetf phs) (reggetf db))
    (att -30)
    (throw 0.3 (cabgetf rev))
    (add zz zz)
    (loop9-voice-a (cabgetf phs))
    (att -6)
    (throw 0.9 (cabgetf rev))
    (add zz zz)
    (loop9-voice-b (cabgetf phs))
    (att -6)
    (throw 0.3 (cabgetf rev))
    (add zz zz)
    (loop9-voice-c (cabgetf phs))
    (att -6)
    (throw 0.3 (cabgetf rev))
    (add zz zz)

    (cabclr phs)

    (cabget rev)
    (buthp zz 200)
    (bdup)
    (revsc zz zz 0.9 9000)
    (add zz zz)
    (dcblock zz)
    (dcblock zz)
    (att -10)
    (add zz zz)

    (att -3)
    (cabclr rev)))

FM Voice

<<top>>=
(define (loop9-fmvoice cnd csco msco isco)
  (let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (tr (tract:new)))

    (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
    (cnd)
    (gest:iculate cgst)
    (bdrop)

    (gst:eval-addwords
     mgst
     (list
      (gst:wordentry "nt" tok-nt)
      (gst:wordentry "wt" tok-wt)) msco)
    (cnd)
    (gest:iculate mgst)

    (mtof zz)
    (param 1)
    (param 1)
    (let ((g (gst:gexpr cnd isco)))
      (gest:squawk g 0))
    (param 0.0)
    (gosc:node-fm gfmp)
    (mul zz 0.5)
))

Voice A

<<top>>=
(define (loop9-voice-a cnd)
(loop9-fmvoice cnd "
beg 5 5
mr 5 t 0 wt sineft stp
end
loop fin
"

"
beg 20 20
mr 20 nt C-3 wt splina mg
end
beg 20 20
mr 20 nt Bb2 wt splina mg
end
beg 20 20
mr 20 nt Eb3 wt spmlinlf gl
end
beg 20 20
mr 20 nt D-3 wt splina gl
end
beg 20 20
mr 20 nt Bb2 wt splina gl
end
beg 20 20
mr 20 nt Eb3 wt spmlinlf mg
end
loop fin
"

"
beg 20 2
t 0 lin
t 5 lin
end
loop fin
"
))

Voice B

<<top>>=
(define (loop9-voice-b cnd)
(loop9-fmvoice cnd "
beg 5 5
mr 5 t 0 wt sineft stp
end
loop fin
"

"
beg 20 20
mr 20 nt G-3 wt gatelin mg
end
beg 20 20
mr 20 nt F-3 wt gatelin mg
end
beg 20 20
mr 20 nt Bb3 wt splina gl
end
beg 20 20
mr 20 nt A-3 wt gatelin mg
end
beg 20 20
mr 20 nt F-3 wt gatelin mg
end
beg 20 20
mr 20 nt Bb3 wt splina mg
end
loop fin
"

"
beg 20 2
t 0 lin
t 3 lin
end
loop fin
"
))

Voice C

<<top>>=
(define (loop9-voice-c cnd)
(loop9-fmvoice cnd "
beg 5 5
mr 5 t 0 wt sineft stp
end
loop fin
"

"
beg 20 20
mr 20 nt E-4 wt spolini mg
end
beg 20 20
mr 20 nt D-4 wt spolini mg
end
beg 20 20
mr 20 nt G-4 wt splina gl
end
beg 20 20
mr 10 nt F#3 wt spolini gl
mr 10 nt F#4 wt spolini mg
end
beg 20 20
mr 10 nt D-4 wt spolini gl
mr 5 nt E-4 wt spolini gl
mr 5 nt F-4 wt spolini gl
end
beg 20 20
mr 20 nt G-4 wt spolini gl
end
loop fin
"

"
beg 20 2
t 0 lin
t 3 lin
end
loop fin
"
))

Day 10: Hyper

Hyper:

A prefix signifying over, above; as, hyperphysical, hyperthyrion; also, above measure, abnormally great, excessive.

Initial thoughts

The definition above from websters 1913s has a very sterile and literal definition of the prefix and word "hyper", but in a contemporary context there are associations with this word. To be "hyper" is to be "hyperactive", a state of being closely related to "manic", a concept and emotion that maps pretty well to musical vocabulary.

So, a part of my finds it irresistable to try for "manic" if the fates give me the right raw materials today. Otherwise, I might go more conceptual and think about sound objects that are "above", somehow.

In isolation, wavetables I've used so far definitely evoke different thoughts and associations for me. When used in a larger context, I feel like they somehow get washed away. My conclusion is that while wavetables are snapshots of timbre and spectrum, it's not enough when you want to build instruments that have character and distinction.

Base Drum Sequencer

The core principle behind the sequencing is this one is to take a set of ramp signals generated by a gesture, and feed it into a phsclk, which subdivides it into N ticks.

Pitch (playback rate) is also controlled via a separate gesture.

<<top>>=
(define (loop10-mkdrum cnd db smp nticks ramps rate)
  (gst:gexpr cnd ramps)
  (phsclk zz nticks)
  (gst:gexpr cnd rate)
  (tsmp zz zz (lambda () (cratewav db smp)))
  (randi (param 0.2) (param 1) (randi 0.3 1 1.123))
  (mul zz zz)
)

Drum Samples

giiwraadr /vintage_drums/VermonaDrum/MaxV - Snare.wav
gsqjlruup /vintage_drums/NovationDrumstation/Kit07/DS07808Clap.wav
gesokuiok /vintage_drums/RolandTr-808/TR-808Kick01.wav
gurweqifs /vintage_drums/RolandTr-606/MaxV-RolandTr-606-Kick.wav

Kick 1 (gurweqifs)

> This is a click, and not much else, coming from my tiny speaker. There may be subs freqs.

<<top>>=
(define (loop10-kick1 cnd db)
  (loop10-mkdrum cnd db "gurweqifs%" 8

  "
beg 4 4
mr 4 t 0 rmp exp 3
end
beg 4 4
mr 3 t 0 rmp exp 3
mr 1 t 0 rmp mb 2 lin exp 3
end
loop fin
"

"
beg 4 4
mr 3 t 1.0 exp 4
t 4.0
end
beg 4 4
mr 3 t 1.0
t 9.0 lin
end
loop fin
"))

Kick 2 (gesokuiok)

> This is kind of a weak kick with a pronounced click to it.

There are two kicks, so they have to play nice. I'm going to approach it like "double beater" in a regular drum kick. Only broken.

<<top>>=
(define (loop10-kick2 cnd db)
  (loop10-mkdrum cnd db "gesokuiok%" 8

  "
beg 8 8
mr 3 t 0 rmp exp 1
mr 3 t 0 rmp exp 1
mr 2 t 0 rmp exp 1
end
loop fin
"

"
beg 8 8
mr 3 pr 2 t 4.0 exp 1 t 1.0 stp
mr 3 pr 2 t 4.0 exp 1 t 1.0 stp
mr 2 pr 2 t 4.0 exp 1 t 1.0 stp
end
loop fin
"))

Clap (gsqjlruup)

> it's a clap. very tight. a hint of room?

<<top>>=
(define (loop10-clap cnd db)
  (loop10-mkdrum cnd db "gsqjlruup%" 64
  "
beg 16 1
t 0 rmp mb 2 rndb exp 2 exp -2
end
loop fin
"

"
beg 16 16
mr 16 pr 2 t 0.3 t 3.0 gl
end
loop fin
"))

Snare (giiwraadr)

> pretty typical white noise snare. lot of shake in this snare.

<<top>>=
(define (loop10-snare cnd db)
  (loop10-mkdrum cnd db "giiwraadr%" 8
  "
beg 16 16
mr 4
  pr 2
    t 0 rmp exp 1
    t 0 rmp exp -1
mr 4 t 0 rmp exp 3
mr 4
  pr 4
    mr 3 t 0 rmp exp 3
    t 0 rmp exp 3
mr 4 t 0 rmp exp -1
end
loop fin
"

"
beg 16 16
mr 16 pr 2 t 1.0 t 2.0 gl
end
loop fin
"))

Wavetables

guqfwweqw /aw_2010_wav32/partials_nonsine/triangle_10.wav
ghlieujji /aw_2010_wav32/spectral_sposc_2lin/sposc2_lin_8_1_9_2_2.wav
gafledeqa /aw_2010_wav32/spectral_gatelin/sp_gate_lin_07_01_a.wav
gruuaesdi /aw_2010_wav32/fm_2varriableindex/fm2_c14/fm2_14_16_00.25.wav

tri (guqfwweqw)

<<loop10-init>>=
(crateload "tri" "guqfwweqw%")

> fm48,118: it's got a whistle. kind of haunting. needs a reverb.

> fm36,118: now we're talking. this is eerie stuff with the verb.


<<top>>=
(define (loop10-drone-a cnd)
(loop9-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft lin
end
loop fin
"

"
beg 16 16
mr 16 nt C-2 wt tri
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt D-2 wt tri
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt D-3 wt tri
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt D-2 wt tri
mb 3 rndb mg gl exp 1
end
loop fin
"

"
beg 16 2
t 1 lin
t 8 lin
end
loop fin
"
))

sposc (ghlieujji)

<<loop10-init>>=
(crateload "sposc" "ghlieujji%")

> fm48,118: I don't have the words to describe this sound, but it comes up a lot. Very tonal, present, with a bit crit. Kind of sounds like a poor physical model.

> fm60,118: Sounds kind of sweet up here, which is nice to know.


<<top>>=
(define (loop10-drone-b cnd)
(loop9-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft lin
end
loop fin
"

"
beg 16 16
mr 16 nt B-3 wt sposc
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt A-3 wt sposc
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt G-3 wt sposc
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt G-3 wt sposc
mb 3 rndb mg gl exp 1
end
loop fin
"

"
beg 16 2
t 1 lin
t 8 lin
end
loop fin
"
))

gatelin (gafledeqa)

<<loop10-init>>=
(crateload "gatelin" "gafledeqa%")

> fm60,118: aliasing a little bit. there's some slight nasally qualities to this.

> fm48,118: pulsey sounding.

<<top>>=
(define (loop10-drone-d cnd)
(loop9-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft lin
end
loop fin
"

"
beg 16 16
mr 16 nt A-4 wt fm2var
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt F#4 wt fm2var
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt D-4 wt fm2var
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt B-3 wt fm2var
mb 3 rndb mg gl exp 1
end
loop fin
"

"
beg 16 2
t 1 lin
t 9 lin
end
loop fin
"
))

fm2var (gruuaesdi)

<<loop10-init>>=
(crateload "fm2var" "gruuaesdi%")

> fm48,118: clearly following some sort of FM-ish spectrum, as the name would suggest. Spectrum feels sparse, as if it were a C:M with M > 1.

<<top>>=
(define (loop10-drone-c cnd)
(loop9-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft lin
end
loop fin
"

"
beg 16 16
mr 16 nt G-3 wt fm2var
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt B-3 wt fm2var
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt C-3 wt fm2var
mb 3 rndb mg gl exp 1
end
beg 16 16
mr 16 nt B-2 wt fm2var
mb 3 rndb mg gl exp 1
end
loop fin
"

"
beg 16 2
t 1 lin
t 9 lin
end
loop fin
"
))

Loop

<<top>>=
(define (loop10-init)
  (open-db-in-monolith)
  (loadsineft)
  <<loop10-init>>
)
<<top>>=
(define (loop10)
  (let ((phs (newsig (gst:cndf 72) 0))
        (rev (mksend))
        (db (mkdb)))
    (loop10-kick1 (cabgetf phs) (reggetf db))
    (att -3)
    (throw 0.3 (cabgetf rev))
    (loop10-kick2 (cabgetf phs) (reggetf db))
    (att -3)
    (throw 0.3 (cabgetf rev))
    (add zz zz)
    (loop10-clap (cabgetf phs) (reggetf db))
    (att -3)
    (throw (lambda () (randi 0.3 0.9 0.212)) (cabgetf rev))
    (add zz zz)
    (loop10-snare (cabgetf phs) (reggetf db))
    (att -3)
    (throw 0.9 (cabgetf rev))
    (add zz zz)

    (softclip zz 3)
    (mul zz (ampdb -6))

    (loop10-drone-a (cabgetf phs))
    (att -9)
    (throw 0.5 (cabgetf rev))
    (att -5)
    (add zz zz)
    (loop10-drone-b (cabgetf phs))
    (att -9)
    (throw 0.8 (cabgetf rev))
    (att -9)
    (add zz zz)
    (loop10-drone-c (cabgetf phs))
    (att -9)
    (throw 0.8 (cabgetf rev))
    (att -10)
    (add zz zz)
    (loop10-drone-d (cabgetf phs))
    (throw 0.9 (cabgetf rev))
    (att -10)
    (add zz zz)

    (cabclr phs)

    (cabget rev)
    (simple-delay zz 0 0.2)
    (bdup)
    (revsc zz zz 0.85 10000)
    (add zz zz)
    (att -15)
    (dcblock zz)
    (add zz zz)

    (cabclr rev)
    (regclr db)))

Day 11: Twin

Twin.

This is a badass definition from websters1913:

(Crystallog.) A compound crystal composed of two or more crystals, or parts of crystals, in reversed position with reference to each other.

Initial thoughts

I took the weird definition. "crystallog" is probably short for "crystallography" or something. It's tempting to try and apply this definition to musical structure. I may do that. There isn't much of atmosphere one can conjure up with a word like "twin".

I was really interested with the concepts I was exploring yesterday. The idea of composing percussion with sequences ramps and subdivisions is compelling. I may want to push that further and have the number of subdivisions be a scalar. Also, the ramp itself could be mapped to something like pitch or amplitude.

Drums

These were really really bad:

gsrpjjewl /vintage_drums/NovationDrumstation/Kit11/DS11909Hat_O.wav
gsfjfefku /vintage_drums/YamahaRY-10/MaxV - BD38VRB.wav
gsioujkra /vintage_drums/AcetoneRhythmAce/MaxV - KICK2.wav
gakfwerdh /vintage_drums/SimmonsSD-8/MaxV - TOM_07.wav

So bad, I just picked 4 new random ones:

gpqukuqod /vintage_drums/oberheim_matrix_1000/034.wav
griralikr /vintage_drums/BossDr220a/MaxV - DR220A_CCY.wav
gjripjsok /vintage_drums/BossDR-660/DR-660Kick38.wav
gfaririwk /vintage_drums/Quasimidi309/QuasiB 076.wav

These kind of suck too. Uugggh.

Wavetables

glhihkrps /aw_2010_wav32/add_partials4n/partials_01_06_09_13.wav
gjahreldk /aw_2010_wav32/spectral_sposc_2lin/sposc2_lin_5_2_9_5_1.wav
gsafdsrdk /aw_2010_wav32/add_partials2n/partials_12_21.wav
gpirdsfhj /aw_2010_wav32/fm_2varriableindex/fm2_c15/fm2_15_16_00.50.wav

Loop

<<top>>=
(define (loop11-init)
  (open-db-in-monolith)
  (loadsineft)
  (crateload "part4" "glhihkrps%")
  (crateload "sposc" "gjahreldk%")
  (crateload "part2" "gsafdsrdk%")
  (crateload "fm2vi" "gpirdsfhj%"))

<<top>>=
(define (loop11)
  (let* ((db (mkdb))
        (phs
         (newsig
          (lambda ()
             (gst:cnd
               (scale (expmap (flipper (phasor (/ 1 25) 0)) 2) 4 84)))
          0))
        (rev (mksend))
        (drmphs (newsig (lambda ()
(gst:gexpr (cabgetf phs) "
beg 1 4
t 0 rmp t 0 rmp
t 0 rmp t 0 rmp
end
loop fin")
) phs))
)

     (cabget phs)
     (param 1)
     (bswap)
     (sub zz zz)
     (expmap zz -1)
     (trd zz (lambda () (cratewav (reggetf db) "gpqukuqod%")))
     (cabget phs)
     (expmap zz 1)
     (trd zz (lambda () (cratewav (reggetf db) "gpqukuqod%")))
     (add zz zz)

     (att -3)
     (throw 0.01 (cabgetf rev))



     (cabget phs)
     (scale zz 1 0)
     (expmap zz -1)
     (trd zz (lambda () (cratewav (reggetf db) "griralikr%")))

     (cabget phs)
     (expmap zz 1)
     (trd zz (lambda () (cratewav (reggetf db) "griralikr%")))
     (add zz zz)
     (att -4)
     (throw 0.1 (cabgetf rev))

     (add zz zz)

     (loop11-tomkick (cabgetf drmphs) (reggetf db))
     (att -5)
     (throw 0.3 (cabgetf rev))
     (add zz zz)
     (loop11-snr (cabgetf drmphs) (reggetf db))
     (att -2)
     (throw 0.3 (cabgetf rev))
     (add zz zz)

     (loop11-lead-a (cabgetf drmphs))
     (att -5)
     (throw 0.5 (cabgetf rev))
     (add zz zz)
     (loop11-lead-b (cabgetf drmphs))
     (att -5)
     (throw 0.5 (cabgetf rev))
     (add zz zz)

     (cabget rev)
     (vdelay zz (param 0.1) (port (randh 0.1 0.4 0.3) 0.1) (param 0.5))
     (bdup)
     (revsc zz zz (randi 0.8 0.97 0.9) (param 10000))
     (add zz zz)
     (dcblock zz)
     (att -13)
     (add zz zz)

     (regclr db)
     (cabclr phs)
     (cabclr rev)
     (cabclr drmphs)))

<<top>>=
(define (loop11-tomkick cnd db)
  (let ((rep (gest:newscalar)))
  (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
t 0 rmp r 2
t 0 rmp r 3
mr 2 pr 3
t 0 rmp r 4
t 0 rmp r 5
t 0 rmp r 6
end
loop fin
")
  (bdup)
  (phsclk zz (gest:scalar rep))
  (tsmp zz (param 1.0) (lambda () (cratewav db "gjripjsok%")))
  (bswap)
  (scale zz 1 0.1)
  (mul zz zz)))

<<top>>=
(define (loop11-tomkick cnd db)
  (let ((rep (gest:newscalar)))
  (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
t 0 rmp r 2
t 0 rmp r 3
mr 2 pr 3
t 0 rmp r 4
t 0 rmp r 5
t 0 rmp r 6
end
beg 4 4
t 0 rmp r 5
t 0 rmp r 8
mr 2 pr 3
t 0 rmp r 2
t 0 rmp r 1
t 0 rmp r 1
end
loop fin
")
  (bdup)
  (phsclk zz (gest:scalar rep))
  (tsmp zz (param 1.0) (lambda () (cratewav db "gjripjsok%")))
  (bswap)
  (scale zz 1 0.1)
  (mul zz zz)))

<<top>>=
(define (loop11-snr cnd db)
  (let ((rep (gest:newscalar)))
  (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
mr 2 pr 3
t 0 rmp r 1
t 0 rmp r 1
t 0 rmp r 2

t 0 rmp r 8
t 0 rmp r 5
end
beg 4 4
mr 2 pr 3
t 0 rmp r 6
t 0 rmp r 5
t 0 rmp r 4
end
t 0 rmp r 3
t 0 rmp r 2
loop fin
")
  (bdup)
  (phsclk zz (gest:scalar rep))
  (tsmp zz (param 0.8) (lambda () (cratewav db "gfaririwk%")))
  (bswap)
  (scale zz 0.1 1.0)
  (mul zz zz)))

<<top>>=
(define (loop11-lead-a cnd)
  (loop11-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft gl
end
beg 4 4
t 0 wt part4 exp -3
mr 3 t 0 wt sineft
end
loop fin
"
"
beg 4 4
mr 2 pr 3
nt C-4 wt sposc mg
nt F-4 wt sposc mg
nt Bb4 wt sposc mg

nt A-3 wt sposc gl
nt D-4 wt sposc lin
end
loop fin
"
"
beg 4 8
t 0 r 1 rmp
t 0 r 3 rmp
t 0 r 1 rmp
t 0 r 4 rmp
t 0 r 1 rmp
t 0 r 1 rmp
t 0 r 2 rmp
t 0 r 3 rmp
end
loop fin
"
))

<<top>>=
(define (loop11-lead-b cnd)
  (loop11-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft gl
end
beg 4 4
t 0 wt part2 exp -3
mr 3 t 0 wt sineft
end
loop fin
"
"
beg 12 4
mr 2 pr 3
nt C-3 wt fm2vi mg
nt F-3 wt fm2vi mg
nt Bb3 wt fm2vi mg

nt A-2 wt fm2vi gl
nt D-3 wt fm2vi lin
end
loop fin
"
"
beg 12 8
t 0 r 1 rmp
t 0 r 1 rmp
t 0 r 2 rmp
t 0 r 3 rmp
t 0 r 1 rmp
t 0 r 3 rmp
t 0 r 1 rmp
t 0 r 4 rmp
end
loop fin
"
))

<<top>>=
(define (loop11-fmvoice cnd csco msco rsco)
  (let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (rep (gest:newscalar))
         (ramp (newsig (lambda () (gst:gexpr-words cnd
(list (gst:wordentry "r" (gst:mksetter rep))) rsco)) 0))
         (tr (tract:new)))

    (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
    (cnd)
    (gest:iculate cgst)
    (bdrop)

    (gst:eval-addwords
     mgst
     (list
      (gst:wordentry "nt" tok-nt)
      (gst:wordentry "wt" tok-wt)) msco)
    (cnd)
    (gest:iculate mgst)

    (mtof zz)
    (param 2)
    (param 5)
    (port (scale (expmap (cabget ramp) 3) 1 0) 0.001)
    (param 0.0)
    (gosc:node-fm gfmp)
    (mul zz 0.5)

    (phsclk (cabget ramp) (gest:scalar rep))
    (tenvx zz 0.01 0.02 0.4)
    (mul zz zz)

    (cabclr ramp)
))

Day 12: Vast

Vast:

Of great extent; very spacious or large; also, huge in bulk; immense; enormous; as, the vast ocean; vast mountains;

Initial Thoughts

I'm scaling back my sample requirements for this. It's just starting to be tedious and unhelpful to work all the wavetables and samples. I'd rather fixate on a few, and try to make those work with the idea.

4 wavetables is just too many for the kind of sound objects I'm working on. Two, plus sine, is enough.

Drums... 4 sometimes pushes it? I'll stick with 3 and add one more if the mix needs it.

Okay... the subject of Vast: I love big reverb and I cannot lie?

Drums

gpoefoqqe /vintage_drums/EmuDrumulator/DrumulatorETomMid.wav
gquooaewp /vintage_drums/BossDR-550MkII/MaxV - 032.wav
gfpheoqld /vintage_drums/AlesisDM5/DM5Tom11_M.wav

Wavetables

gflsskjwa /aw_2010_wav32/spectral_gatelog/sp_gate_log_2.3125_02_a.wav
gafkojkqd /aw_2010_wav32/spectral_spm_linlf/spm_lin_lf_04_26_16.wav

<<loop12-init>>=
(crateload "gatelog" "gflsskjwa%")
(crateload "spmlinlf" "gafkojkq%")

gatelog "glfsskjwa"

> fm48,119: There's kind of this mid-low range resonance. Makes me think of the word "gumminess". But I do not understand why.

> fm36,11f: the underlying beating pattern is very audible here. Kind of a short short long long kind of deal.

spmlinf "gafkojkq"

> fm36,11f: very linear sounding growth in spectrum.

> fm24,13f: robo-monster sounds. actually quite similar to sinewave in responsiveness, just with a bit more crunch

> fm24,131: just want to note here that this has more presence than when using just a plain sine.

Loop

<<top>>=
(define (loop12-init)
  (open-db-in-monolith)
  (loadsineft)
  <<loop12-init>>
)

<<top>>=
(define (loop12)
  (let ((phs (newsig (gst:cndf 60) 0))
        (db (mkdb))
        (rev (mksend))
)
  (loop12-basso (cabgetf phs))
  (att -3)
  (throw 0.5 (cabgetf rev))
  (loop12-tenor (cabgetf phs))
  (att -9)
  (throw 0.5 (cabgetf rev))
  (att -10)
  (add zz zz)

  (loop12-drum1 (cabgetf phs) (reggetf db))
  (att -3)
  (throw 0.6 (cabgetf rev))
  (add zz zz)

  (loop12-revcym (cabgetf phs) (reggetf db))
  (att -6)
  (throw 0.9 (cabgetf rev))
  (att -9)
  (add zz zz)

  (cabget rev)
  (simple-delay zz 0 0.2)
  (buthp zz 300)
  (bdup)
  (revsc zz zz 0.97 10000)
  (add zz zz)
  (dcblock zz)
  (dcblock zz)
  (att -10)
  (add zz zz)

  (cabclr phs)
  (cabclr rev)
))

<<top>>=
(define (loop12-basso cnd)
  (loop12-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft
end
loop fin
"
"
beg 8 8
mr 8 nt C-1 wt gatelog
end
loop fin
"
"
beg 8 8
mr 4 t 1 exp 2
mr 4 t 15
end
loop fin
"
))

<<top>>=
(define (loop12-tenor cnd)
  (loop12-fmvoice cnd "
beg 4 1
t 0 wt sineft
end
loop fin
"
"
beg 8 8
mr 8 nt F-3 wt spmlinlf gl
end
beg 16 16
mn 16 2
nt E-3 wt spmlinlf gl
pr 2
nt Ab3 wt spmlinlf gl
nt G-3 wt spmlinlf gl
end
beg 8 8
mr 8 nt F-3 wt spmlinlf gl
end
beg 16 16
mr 8 nt E-3 wt spmlinlf lin
mr 8 nt C-3 wt spmlinlf gl
end
loop fin
"
"
beg 8 8
mr 4 t 1
mr 4 t 9
end
loop fin
"
))

<<top>>=
(define (loop12-fmvoice cnd csco msco isco)
  (let* ((cgst (gest:new))
         (mgst (gest:new))
         (gfmp (gosc:new-fm cgst mgst))
         (amp (gest:newscalar))
         (tr (tract:new)))

    (gst:eval-addwords cgst (list (gst:wordentry "wt" tok-wt)) csco)
    (cnd)
    (gest:iculate cgst)
    (bdrop)

    (gst:eval-addwords
     mgst
     (list
      (gst:wordentry "nt" tok-nt)
      (gst:wordentry "wt" tok-wt)) msco)
    (cnd)
    (gest:iculate mgst)

    (mtof zz)
    (param 1)
    (param 1)
    (gst:gexpr cnd isco)
    (param 0.0)
    (gosc:node-fm gfmp)
    (mul zz 0.5)
))

<<top>>=
(define (loop12-drum1 cnd db)
  (let ((rep (gest:newscalar)))
    (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
mr 4 t 0 rmp r 8 exp 2
end
beg 4 4
mr 2 t 0 rmp r 8 exp 2
mr 2 t 0 rmp r 3 exp 2
end
beg 8 8
mr 8 t 0 rmp r 1
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 0.5 0.51)
    (tsmp zz zz (lambda () (cratewav db "gpoefoqqe%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (mul zz zz))
))

<<top>>=
(define (loop12-revcym cnd db)
   (gst:gexpr cnd "
beg 8 1
t 0 stp irmp
end
beg 8 1
t 0 exp 1 irmp
end
beg 16 1
t 0 stp irmp
end
loop fin
"
)
     (trd zz (lambda () (cratewav db "gquooae%"))))

Day 13: Brawl

To quarrel noisily and outrageously.

Initial thoughts

I think I am taking a breather. I don't think I'll get this one done today.

But "Brawl" is another one of those fun ones that's easy to imagine musically.

Brawling is duality. Two opposing force, opposing violently. Add two sound sound objects, have them collide, and you have a sonic brawl.

The work I've done up to this point involving exponentials meters and distortion should work well with this recipe.

Most wavetables are pretty noisy by default, so it shouldn't be too hard to program them to be violent and brawly.

Drum Samples

gqwfdqdpo /vintage_drums/LinnDrumLM2/Linn cowbell.wav
gokpkqwqf /vintage_drums/YamahaCS6/Yamaha CS6 054.wav
gfseqwlqd /vintage_drums/BossDR-202/202snr26.wav

Wavetables

geflsulaf /aw_2010_wav32/spectral_sposc_2lin/sposc2_lin_4_0_9_3_2.wav
gieoorfwh /aw_2010_wav32/misc_impulsetrain/impulse_train_tri_032.wav

<<loop13-init>>=
(crateload "sposc2" "geflsulaf%")
(crateload "imptri" "gieoorfwh%")

Loop

<<top>>=
(define (loop13-init)
  (open-db-in-monolith)
  (loadsineft)
  <<loop13-init>>
)

<<top>>=
(define (loop13)
  (let ((phs (newsig (gst:cndf 75) 0))
        (rev (mksend))
        (db (mkdb)))
    (loop13-cowbell (cabgetf phs) (reggetf db))
    (att -6)
    (throw 0.5 (cabgetf rev))
    (loop13-snare (cabgetf phs) (reggetf db))
    (att -6)
    (throw 0.5 (cabgetf rev))
    (add zz zz)
    (loop13-snare-alt (cabgetf phs) (reggetf db))
    (att -6)
    (throw 0.5 (cabgetf rev))
    (add zz zz)

    (loop13-angrydrone (cabgetf phs))
    (att -3)
    (throw 0.8 (cabgetf rev))
    (crossfade zz zz (gst:gexpr (cabgetf phs)
"
beg 4 4
t 0.01 mg
t 0.5 mg
t 0.01 mg
t 0.9 mg
end
beg 8 8
mn 8 3 rndn
pr 2
t 0.5 mg
t 0.0 lin
t 0.5 exp 1
t 0.0 exp 3
end

beg 8 8
mr 8 t 1.0 exp 1
end
loop fin
"
))

    (cabget rev)
    (simple-delay zz 0 0.05)
    (bdup)
    (revsc zz zz 0.6 8000)
    (add zz zz)
    (gst:gexpr (cabgetf phs) "
beg 32 8
mr 4 t 1 exp 3
mr 4 t 8 gl
end
loop fin
    ")
    (softclip zz zz)
    (att -10)
    (dcblock zz)
    (add zz zz)

    (limit zz -0.99 0.99)
    (regclr db)
    (cabclr phs)
    (cabclr rev)
    ))

<<top>>=
(define (loop13-cowbell cnd db)
  (let ((rep (gest:newscalar)))
    (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
t 0 rmp r 2
t 0 rmp r 1
t 0 rmp r 1
t 0 rmp r 3
end
beg 4 4
t 0 rmp r 2
t 0 rmp r 2
t 0 rmp r 3
t 0 rmp r 4
end
beg 4 4
t 0 rmp r 5
t 0 rmp r 5
t 0 rmp r 6
t 0 rmp r 6
end
beg 8 8
mr 7 t 0 rmp r 32 exp 3
t 0 rmp r 12
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 1.0 1.9)
    (tsmp zz zz (lambda () (cratewav db "gqwfdqdpo%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (mul zz zz))
))

<<top>>=
(define (loop13-snare cnd db)
  (let ((rep (gest:newscalar)))
    (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
t 0 rmp r 1
t 0 rmp r 4
t 0 rmp r 3
t 0 rmp r 1
end
beg 4 4
t 0 rmp r 1
t 0 rmp r 8
t 0 rmp r 1
t 0 rmp r 8
end
beg 4 4
t 0 rmp r 3
t 0 rmp r 3
t 0 rmp r 3
t 0 rmp r 3
end
beg 10 8
mr 7 t 0 rmp r 32 exp -3
t 0 rmp r 12
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 1.0 1.9)
    (tsmp zz zz (lambda () (cratewav db "gokpkqwqf%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (mul zz zz))
))

<<top>>=
(define (loop13-snare-alt cnd db)
  (let ((rep (gest:newscalar)))
    (gst:gexpr-words cnd (list (gst:wordentry "r"
(gst:mksetter rep))) "
beg 4 4
mr 3 t 0 rmp r 6 exp -3
t 0 rmp r 1
end
beg 4 4
mr 3 t 0 rmp r 8 exp -3
t 0 rmp r 1
end
beg 4 4
mr 3 t 0 rmp r 12 exp -3
t 0 rmp r 1
end
beg 12 8
mr 7 t 0 rmp r 64 exp 3
t 0 rmp r 12 exp -2
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 0.5 1.0)
    (tsmp zz zz (lambda () (cratewav db "gfseqwlqd%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (mul zz zz))
))

<<top>>=
(define (loop13-angrydrone cnd)
  (loop12-fmvoice cnd "
beg 4 4
mr 4 t 0 wt sineft
end
loop fin
"
"
beg 8 8
mr 8 nt C-1 wt sposc2 gl
end
beg 8 8
mr 4 nt C-3 wt imptri exp 1
mr 4 nt Eb1 wt sposc2 lin
end
loop fin
"
"
beg 8 8
mr 4 t 1 exp 2
mr 4 t 15
end
beg 8 8
mr 4 t 16 exp 2
mr 4 t 1
end
loop fin
"
))

Day 14: Life (WIP)

Life:

The state of being which begins with generation, birth, or germination, and ends with death; also, the time during which this state continues;

Initial Thoughts

I am behind a day. Do I rush this one, or wait a day and maintain my debt?

One structure I really like is one of an initial seed that grows (germinates, if you will) an entire sound bed. This could then shrivel up at the end (death, if you will).

Wavetables

gfpefpuef /aw_2010_wav32/fm_2varriableindex/fm2_c15/fm2_15_02_01.00.wav
gdsjjewkj /aw_2010_wav32/fm_2varriableindex/fm2_c11/fm2_11_14_16.00.wav
galwawqpj /aw_2010_wav32/fm_3/fm3_04_06_03.wav

Drums

ghelsoiql /vintage_drums/AlesisDM5/96/DM5Tom23_Lo.wav
gddfqflqu /vintage_drums/BossDR-550/DR550TomE.wav
gelasoiuj /vintage_drums/AlesisDM5/DM5Snare063.wav

Loop

<<top>>=
(define (loop14-init)
  (open-db-in-monolith)
  (loadsineft)
  (crateload "fm2_c15" "gfpefpuef")
  (crateload "fm2_c11" "gdsjjewkj")
  (crateload "fm3" "galwawqpj")
)

<<top>>=
(define (loop14)
  (let ((phs (newsig (gst:cndf 60) 0))
        (db (mkdb))
        (tk (newsig (lambda () (tick)) 0))
        (rev (mksend))
        )
     (fmpair2
       (mtof 66)
       (param 1)
       (param 1)
       (scale (tenvx (cabget tk) 0.001 0.005 0.01) 0 3)
       (param 0.3)
       (monftf "sineft")
       (monftf "fm2_c11"))

     (tenvx (cabget tk) 0.001 0.01 0.2)
     (mul zz zz)
     (att -3)
     (throw 0.5 (cabgetf rev))

     (cabget rev)
     (bdup)
     (revsc zz zz 0.97 10000)
     (add zz zz)
     (dcblock zz)
     (att -10)
     (add zz zz)
     (cabclr rev)
     (cabclr tk)
     (cabclr phs)
     (regclr db)
))

Day 15: Translate

Translate:

To remove to heaven without a natural death.

Wavetables

gerripsoe /aw_2010_wav32/spectral_spm_ilowfreq/spmi_low_e_0108.wav
gjlkljfap /aw_2010_wav32/spectral_spm_linb/spm_linb_064_04_004_16.wav

Drums

gfohawsjq /vintage_drums/AlesisDM5/96/DM5Snare074.wav
gdujfdpsd /vintage_drums/RolandDDR30/MaxV - DR 04.wav
ghkeewpjj /vintage_drums/AlesisDM5/DM5Perc078.wav

Loop

<<top>>=
(define (loop15-init)
  (open-db-in-monolith)
  (loadsineft)
  (crateload "ilowfreq" "gerripsoe")
  (crateload "linb" "gjlkljfap")
)

<<top>>=
(define loop15-base 58)

<<top>>=
(define (loop15)
  (let ((phs (newsig (gst:cndf 73) 0))
        (db (mkdb))
        (tk (newsig (lambda () (tick)) 0))
        (rev (mksend))
        )
     (loop15-bass (cabgetf phs))
     (att -15)
     (throw 0.3 (cabgetf rev))
     (att -3)
     (fmpair2
       (mtof (+ loop15-base 7))
       (param 2)
       (param 3)
       (begin
         (param 1)
         (param 3)
         (gst:gexpr (cabgetf phs) "
beg 16 16
mr 12 t 1 exp 3
mr 4 t 50 lin
end
loop fin
")
         (randh zz zz zz)
         (port zz 0.005))
       (randi 0.1 0.3 1)
       (monftf "sineft")
       (monftf "linb"))
     (att -15)
     (throw 0.5 (cabgetf rev))
     (att -10)

     (add zz zz)


     (att -3)

     (loop15-mel (cabgetf phs))

     (att -18)
     (throw 0.9 (cabgetf rev))
     (att -3)
     (add zz zz)

     (loop15-thoomp (cabgetf phs) (reggetf db))
     (att -2)
     (throw 0.9 (cabgetf rev))
     (add zz zz)
     (loop15-snare (cabgetf phs) (reggetf db))
     (att -3)
     (throw 0.8 (cabgetf rev))
     (add zz zz)
     (loop15-ping (cabgetf phs) (reggetf db))
     (att -8)
     (throw 1.9 (cabgetf rev))
     (att -10)
     (add zz zz)

     (cabget rev)
     (simple-delay zz 0 0.2)
     (bdup)
     (revsc zz zz 0.93 8000)
     (add zz zz)
     (dcblock zz)
     (att -10)
     (add zz zz)
     (cabclr rev)
     (cabclr tk)
     (cabclr phs)
     (regclr db)))

<<top>>=
(define (loop15-mel cnd)
  (let ((tk (gest:newscalar)))

    (gst:gexpr-words
     cnd
     (list (gst:wordentry "tk" (gst:mktick tk))) "
beg 4 4
mr 2 t 4 mg tk
t 5 mg
t 7 mg
end
beg 4 4
mr 2 t 8 mg
t 7 mg
pr 3
mr 2
t 5 mg
pr 2
t 7 mg
t 5 mg
end
beg 4 4
mr 2 t 4 gl
mr 2 t 0 mg
end

beg 4 4
mr 2 t 4 mg tk
t 5 mg
t 7 mg
end
beg 4 4
mr 2 t 8 mg
t 7 mg
pr 3
mr 2
t 5 mg
pr 2
t 7 mg
t 5 mg
end
beg 4 4
mr 2 t 4 gl
mr 2 t 0 mg
end

beg 4 4
mr 2 t 11 lin
mr 2 t 12 gl
end

beg 4 4
mr 2 t -2 lin
mr 2 t 0 gl
end

beg 4 4
t 0 lin
t 1 lin
mr 2 t 0 gl
end
loop fin
")
   (add zz loop15-base)
   (mtof zz)
  (fmpair2
   zz
   (param 1)
   (param 1.0)
   (gst:gexpr cnd "
beg 4 4
mr 2 t 1 exp 1
mr 2 t 3 mg
end
beg 4 4
mr 4 t 3 mg
end
beg 4 4
mr 4 t 1 mg
end
loop fin
")
   (param 0.9)
   (monftf "sineft")
   (monftf "ilowfreq"))
  ))

<<top>>=
(define (loop15-bass cnd)
  (gst:gexpr cnd "
beg 8 8
mr 4 t 0 mg
mr 4 t -7 mg
end
beg 8 8
mr 4 t 0 mg
mr 4 t -4 mg
end
beg 8 8
mr 4 t -7 mg
mr 4 t 0 mg
end
beg 8 8
mr 3 t 0 mg
t -2 lin
mr 3 t 0 mg
t -2 lin
end
beg 4 4
mr 4 t 0 mg
end
loop fin
")
  (add zz (+ loop15-base -24))
  (mtof zz)
  (fmpair2
   zz
   (param 1)
   (param 1)
   (param 8)
(gst:gexpr cnd "
beg 8 2
t 0.1 exp 1
t 0.7
end
loop fin
")
   (monftf "sineft")
   (monftf "ilowfreq"))
   (softclip zz 8)
   (butlp zz 800)
)

Drum Loops

<<top>>=
(define (loop15-thoomp cnd db)
  (let ((rep (gest:newscalar))
        (roll (gest:newscalar))
)
    (gst:gexpr-words
     cnd
     (list
      (gst:wordentry "r" (gst:mksetter rep))
      (gst:wordentry "unroll" (gst:mksetter roll))
) "
beg 4 4
t 0 rmp r 3 unroll 0.5
t 0 rmp r 2 unroll 0
t 0 rmp r 1 unroll 1
t 0 rmp r 1
end
beg 4 4
t 0 rmp r 3 unroll 0.5
t 0 rmp r 2 unroll 1
t 0 rmp r 1
t 0 rmp r 12 unroll 0
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 1.0 1.9)
    (tsmp zz zz (lambda () (cratewav db "gdujfdp%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (param 1)
    (crossfade zz zz (gest:scalar roll))
    (mul zz zz))
))

<<top>>=
(define (loop15-snare cnd db)
  (let ((rep (gest:newscalar))
        (roll (gest:newscalar)))
    (gst:gexpr-words
     cnd
     (list
      (gst:wordentry "r" (gst:mksetter rep))
      (gst:wordentry "unroll" (gst:mksetter roll))
) "
beg 4 4
mr 4 t 0 rmp r 16 unroll 0 exp 1
end
beg 4 4
mr 2 t 0 rmp r 3 unroll 0 lin
mr 2 t 0 rmp r 5 unroll 0 lin
end
beg 4 4
mr 2 t 0 rmp r 3 unroll 0 exp -1
mr 2 t 0 rmp r 12 unroll 0 exp 3
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 1.0 3)
    (tsmp zz zz (lambda () (cratewav db "gfohawsjq%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (param 1)
    (crossfade zz zz (gest:scalar roll))
    (mul zz zz))
))

<<top>>=
(define (loop15-ping cnd db)
  (let ((rep (gest:newscalar))
        (roll (gest:newscalar)))
    (gst:gexpr-words
     cnd
     (list
      (gst:wordentry "r" (gst:mksetter rep))
      (gst:wordentry "unroll" (gst:mksetter roll))
) "
beg 24 1
t 0 rmp r 64 unroll 0 exp 3
end
loop fin
")
  (bdup)
  (let ((tk (newsig (lambda () (phsclk zz (gest:scalar rep))) 0)))
    (cabget tk)
    (trand (cabget tk) 1.0 3)
    (tsmp zz zz (lambda () (cratewav db "ghkeewp%")))
    (trand (cabget tk) 0.9 1.0)
    (mul zz zz)
    (tgate (cabget tk) 0.11)
    (port zz 0.001)
    (mul zz zz)
    (bswap)
    (scale zz 0.1 1.0)
    (param 1)
    (crossfade zz zz (gest:scalar roll))
    (mul zz zz))
))

Day 16: Wooden

Wooden:

Clumsy; awkward; ungainly; stiff; spiritless.

Initial thoughts

Thinking of leaning on the "stiffness" aspects. Lots of quarter note and eigth note rhythic phrases that a Very Much On the beat. Maybe have a contrasting line that is a bit out of step.

Drum Samples

gddqjepiw /vintage_drums/Quasimidi309/QuasiC 035.wav
goadadaua /vintage_drums/YamahaRX-5/MaxV - RX5ITM2.wav
gpwafopfr /vintage_drums/FairlightIIx/MaxV - Clap.wav
gijqrqkia /vintage_drums/BossDR-660/DR-660Snare65.wav

Wavetables

gsjwrfdup /aw_2010_wav32/spectral_sposc_logr/sposc_log_3.000_016_004.wav                                                                     
goopqkhuk /aw_2010_wav32/spectral_spm_log/spm_log_04_07_04_01.wav

Loop

(define (loop16)
  (let ((phs (newsig (gst:cndf 89) 0))
        (db (mkdb)))
    (loop16-lo (cabgetf phs) (reggetf db))
    (att -6)
    (loop16-tom (cabgetf phs) (reggetf db))
    (att -6)
    (add zz zz)
    (loop16-darkclap (cabgetf phs) (reggetf db))
    (att -6)
    (add zz zz)
    (loop16-snare (cabgetf phs) (reggetf db))
    (att -6)
    (add zz zz)
    (loop16-bass (cabgetf phs) (reggetf db))
    (att -6)
    (add zz zz)
    (loop16-lead (cabgetf phs) (reggetf db))
    (att -6)
    (add zz zz)
    (cabclr phs)
  ))

<<top>>=
(define (loop16-lo cnd db)
  (let ((tk (gest:newscalar)))
    (gst:gexpr-words cnd
       (list
         (gst:wordentry "+" (gst:mkhit tk))
         (gst:wordentry "-" (gst:mkrest))
) "
beg 4 4
+ - - pr 2 - +
end
loop fin
")
    (bdrop)
    (gest:tick tk)
    (bdup)
    (tsmp zz (param 1.0) (lambda () (cratewav db "gddqjep%")))
    (bswap)
    (expon zz 1 0.8 0.001)
    (mul zz zz)
))

<<top>>=
(define (loop16-tom cnd db)
  (let ((tk (gest:newscalar)))
    (gst:gexpr-words cnd
       (list
         (gst:wordentry "+" (gst:mkhit tk))
         (gst:wordentry "-" (gst:mkrest))
) "
beg 4 4
- + - -
end
loop fin
")
    (bdrop)
    (gest:tick tk)
    (tsmp zz (param 1.0) (lambda () (cratewav db "goadadaua%")))
))

<<top>>=
(define (loop16-darkclap cnd db)
  (let ((tk (gest:newscalar)))
    (gst:gexpr-words cnd
       (list
         (gst:wordentry "+" (gst:mkhit tk))
         (gst:wordentry "-" (gst:mkrest))
) "
beg 4 4
- - + -
end
loop fin
")
    (bdrop)
    (gest:tick tk)
    (tsmp zz (param 1.0) (lambda () (cratewav db "gpwafop%")))
))

<<top>>=
(define (loop16-snare cnd db)
  (let ((tk (gest:newscalar)))
    (gst:gexpr-words cnd
       (list
         (gst:wordentry "+" (gst:mkhit tk))
         (gst:wordentry "-" (gst:mkrest))
) "
beg 4 4
- - - +
end
loop fin
")
    (bdrop)
    (gest:tick tk)
    (tsmp zz (param 1.0) (lambda () (cratewav db "gijqrqkia%")))
))

<<top>>=
(define (loop16-bass cnd db)
  (let ((tk (gest:newscalar)))
    (gst:gexpr-words cnd
       (list
         (gst:wordentry "tk" (gst:mktick tk))
         (gst:wordentry "nt" tok-nt)
         (gst:wordentry "-" (gst:mkrest))
) "
beg 4 4
mr 2 nt D-2 tk sg
nt A-2 tk sg
nt A-1 tk sg
end
loop fin
")
    (mtof zz)
    (fmpair2 zz 1 1 3 0
(lambda () (gen_sine (ftnew 2048))) (cratewavf db "goopqkhuk%"))
    (gest:tick tk)
    (tenvx zz 0.01 0.1 0.1)
    (mul zz zz)

    (att -10)))

<<top>>=
(define (loop16-lead cnd db)
  (let ((tk (gest:newscalar)))
    (gst:gexpr-words cnd
       (list
         (gst:wordentry "tk" (gst:mktick tk))
         (gst:wordentry "nt" tok-nt)
         (gst:wordentry "nt" tok-nt)
         (gst:wordentry "-" (gst:mkrest))
) "
beg 4 8
nt D-4 tk sg
nt F#4 tk sg
nt A-4 tk sg
nt D-4 tk sg
nt F#4 tk sg
nt A-4 tk sg
mr 2 nt D-4 tk sg
end

beg 4 8
nt D-4 tk sg
nt F#4 tk sg
nt B-4 tk sg
nt D-4 tk sg
nt F#4 tk sg
nt B-4 tk sg
mr 2 nt D-4 tk sg
end

beg 4 9
nt D-4 tk gl
nt F#4 tk gl
nt C#5 tk gl

nt D-4 tk gl
nt F#4 tk gl
nt C#5 tk gl

mr 3 pr 4
nt E-5 tk lin
nt D-5 tk gl
nt E-5 tk gl
nt F#5 tk gl
end

beg 4 8
nt D-4 tk sg
nt F#4 tk sg
nt B-4 tk sg
nt D-4 tk sg
nt F#4 tk sg
nt B-4 tk sg
mr 2 nt D-4 tk sg
end

loop fin
")
    (mtof zz)
    (fmpair2 zz 1 3 2 0
(lambda () (gen_sine (ftnew 2048))) (cratewavf db "gsjwrfdup%"))
    (gest:tick tk)
    (tenv zz 0.01 0.1 0.001)
    (expmap zz 3)
    (mul zz zz)

    (att -10)))

Day 17: Tuxedo (WIP)

Initial Thoughts

James Bond? At berklee we called it "line cliche".

ugh. thinking I might quit this. I'm tired.

Wavetables

gelfudope /aw_2010_wav32/add_binaddsine/binadd_sine_10111010.wav
glakpjhrr /aw_2010_wav32/add_binaddarth/binadd_arth_10110011.wav

Drum Samples

gphjiqepq /vintage_drums/DubstepDrumKit/Dubstep Hat 5.wav
gprjproal /vintage_drums/AlesisSr16/SR16Snare08.wav
ghefflkpr /vintage_drums/AlesisDM5/DM5Snare079.wav
grjsiapsa /vintage_drums/YamahaEX7Drums/MaxV - Glexd70.wav

home | index