Sound Design: FM with Modulations

Audio Example of Complex FM sound with modulations to indices

Complex FM (4 operator, what Chowning and Bristow calls Parallel Carrier,
Independent Modulator in “FM Theory and Applications”). The two operator stacks are using 4:2 and 1:1 C:M ratios. expseg envelopes are used to modulate the overall shape of indices and unipolar square lfo’s are used for an additional layer of modulation. I thought the 12 and 3 Hertz for the lfo’s gave some nice texture between the two layers.

I think it probably works best in the low end to middle of the frequency range. The result using pch of 5.00 reminded me of things heard in some progressive house tracks.

randcubic glissandi: random line with cubic interpolation

Audio example of randcubic used for glissandi

Custom Csound user-defined opcode randcubic to generate cubic interpolated lines. Example above uses randcubic for achieving time-varying glissandi with multiple voices.

Based on code from

Code for UDO is as follows:

opcode randcubic, a,kk
  kamp, kfreq xin
  ky0 init random:i(-1, 1)
  ky1 init random:i(-1, 1)
  ky2 init random:i(-1, 1)
  ky3 init random:i(-1, 1)  
  kcount init 0
  asig init 0
  kperiod = sr / kfreq
  kndx = 0
  while (kndx < ksmps) do
    ka0 = ky3 - ky2 - ky0 + ky1
   	ka1 = ky0 - ky1 - ka0
    ka2 = ky2 - ky0
    ka3 = ky1
    kmu = kcount / kperiod
    kmu2 = kmu * kmu
    asig[kndx] = ka0 * kmu * kmu2 + ka1 * kmu2 + ka2 * kmu + ka3
    kcount += 1
    if(kcount > kperiod) then
      ky0 = ky1
  	  ky1 = ky2 
  	  ky2 = ky3       
      ky3 = random:k(-1, 1)  
      kcount -= kperiod
    kndx += 1
  asig *= kamp
  xout asig

Excursions with Hydra

I’ve been practicing visuals with Olivia Jack‘s wonderful system Hydra the past couple of days and I have been enjoying it very, very much. It’s been a blast to have a higher-level abstraction layer to work with over coding GLSL shaders directly. I suppose a big factor in my joy is that I tend to spend a lot more time with JS than I do GLSL too. 😉

I think knowing some shader programming and practices certainly made learning Hydra a lot quicker than it would have been otherwise. Still, lots to learn and practice. 🙂

Hidden Laws

Completed: 2019.07.11
Duration: 7:55
Ensemble: Electronic (Blue, Csound)

MP3: Click Here
OGG: Click Here
FLAC: Click Here
Project Files – Click here (.blue, .csd)

A quiet meditation developed using four processes made up of bit-shifting and bit-masking operations. The rules, or “laws”, of each process are not complex on their own but together create an intricate texture and rhythm.