Added interpolated color cycling. I like how it shimmers :)
"..what do you think is on the radio? Meat sounds. You know how when you slap or flap meat it makes a noise? They talk by flapping their meat at each other. They can even sing by squirting air through their meat."
meanwhile, my POS cheap-o retractable mouse with the dinkiest cable has been my main driver for nearly 2 years now. no issues.
More phase distortion experiments. Instead of the classic phase distortion adjustment of the midpoint, I used a bezier mapping with parametric control of the control point's XY coordinates.
By driving the y control coordinate to well out of bounds (ramp from 0 to 20), I managed to get some tones that almost sound like changing the modulation index of an FM oscillator. Modulating the x control coordinate with an LFO creates a really weird wet sound which I really dig.
The example I've made is just ONE oscillator without any filter or additional processing. And the wave table is just a sine. Very promising stuff.
8192 ftnew gen_sine 0 regset
58 24 - mtof 0 phasor
2 1 sine 0.3 0.8 biscale
tick 8 1 3 tenv 0 20 scale
8192 ftnew gen_sine oscfext
"bezier_test.wav" wavout bdrop
sr 15 * _compute rep
The really sick thing here is that the sounds I'm getting are just with a sine wave table. There is still plenty to explore with swapping that out with different wavetables. And of course, one could always drop in FM/AM modulation anywhere in the signal chain...
It's tempting to generalize phase distortion as a some subset of waveshaping distortion, and apply those techniques which are usually applied to audio signals.
Parabolic and bezier curves come to mind.
The phase warping transformation used above creates a very hard discontinuity, which I think could be causing some unwanted weirdness in the spectrum.
The phase warping reminds me a bit of how curves work in compression. They sometimes employ a soft knee at the "bend" to smooth things over. I wonder what such a transformation could do to the sound.
This patch does both hard sync AND phase distortion, which is possible thanks to one new feature I added which allows an external phasor to control it:
The phase distortion synthesis is done by putting the phasor through a special transformation which warps the phase: https://pbat.ch/sndkit/phasewarp/
This value is then scaled by some amount greater than 1. The oscillator will automatically perform wraparound which causes hard sync to occur. Rule of them I've found empirically is the more irrational a multiplier is, the crazier the sync will sound.
10 metro bhold 0 cabset
1 ftnew "0 4 7 11 12 11 7 4" gen_vals
37 add 0.001 port mtof
0.2 1 sine 0.1 0.9 biscale
0 cabget 1 10.5 trand 0.001 0.01 1 randh port mul
4000 ftnew gen_sine oscfext
0 cabget bunhold
"oscfext_test.wav" wavout bdrop
sr 20 * _compute rep
Sound, music, computers, etc.
Human being, being human.
Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.