Create chatter sounds example
Something that involves a thing that randomly interpolates between a set of DRM shapes and is clocked by a phasor.task id: create-chatter-sounds
2024-07-01 10:24: Chattering gibberish sounds are needed for critter #poke-demo #create-chatter-sounds #voxbox-shape-morphing
2024-07-02 08:37: chatter sounds are needed for poke #create-chatter-sounds #demo-poke
The most important thing for this demo is the vocal-like chattering. So this example will more or less aim to build the model. The new thing to try out will be morphing between DRM shapes. The critter here will be quite small, so the tract size wlil be quite small.
I will be thinking more about the design today.
2024-07-02 08:59: Making some initial tract states #create-chatter-sounds #timelog:00:35:23
Going to use my phone for this, as the touchscreen is the best interface I have right now.
2024-07-02 09:32: shape exploration is slow and tedious #create-chatter-sounds
I need to find a better way
2024-07-02 09:43: Getting intial boilerplate code setup #create-chatter-sounds #timelog:00:27:00
2024-07-02 10:10: initial boilerplate with shapes created #create-chatter-sounds
2024-07-02 10:11: Time to modulate the shapes linearly with a phasor #create-chatter-sounds #timelog:00:15:28
2024-07-02 15:37: I need to implement some kind of jitter #create-chatter-sounds
Thinking about something like randi, but phasor-driven. And a phasor that can have randomized periods.
2024-07-03 08:08: I want to build some jitter constructs today #create-chatter-sounds
The first will be a randi like module clocked with an external phasor. The second will be a phasor whose rate can be randomized every period. Together, they can build a pretty decent jitter signal.
I'll probably be extracting my LCG logic into an RNG module as well.
2024-07-03 09:35: Off to make a simple RNG module #create-chatter-sounds #timelog:00:07:07
2024-07-03 09:41: Implementing randi #create-chatter-sounds #timelog:00:17:31
2024-07-03 09:59: Testing random line on chatter example #create-chatter-sounds #timelog:00:08:54
2024-07-03 10:09: Working out jitter line #create-chatter-sounds
An ideal jitter line would be a random line segment clocked a phasor that some kind of variable fluctuation in timing. But how does that phasor's rate get controlled?
The best answer I can come up with is to have a specialized phasor whose rate can be smoothly randomized within a range. This, combined with the random line generator made previously, would build up the components for a jitter line generator.
As a test, this random phasor could be used on the chatter test to modulate how quickly the shapes are changing.
2024-07-03 10:18: Building out random phasor #create-chatter-sounds #timelog:00:21:22
Yes, I think I'm going to call it RandomPhasor. I'm going to copy and paste the phasor code for now, since there's not a lot of code. It just doesn't seem worth it to DRY it right now.
2024-07-03 10:53: Implementing Jitter, then that's enough of this for the day #create-chatter-sounds #timelog:00:19:03
This completes the idea I was thinking about
2024-07-03 11:50: Got roped into conversation, but clock is resumed #create-chatter-sounds
Unexpected Knowledge Acquisition: Learning about some of the old oil pipe constructions in the US, and their ecological/environmental implications. Apparently some of these pipes were transferred in carts in a way that the pipes would rub up against eachother. The friction would produce weak spots, which would turn the pipes into "swiss cheese". I just love that imagery.
Someone in summer 2 wants to work on boot sector games, and I am in full support of this.
2024-07-04 13:35: At this point, the base chatter sounds have been made #create-chatter-sounds #demo-poke
So I think this task can be considered completed. The rest of the sound design work will be polish for the poke demo.
2024-07-04 14:16: Fully encapsulated chatter into struct #create-chatter-sounds #demo-poke
This could also be a good pre-cursor to the shape morphing stuff, as all the code could be a bit more relaxed and inside some sample rust code.