Pinned post

I've decided to publish a version of my rejected PhD project proposal on my wiki, and place it under the CC BY-SA 4.0 license. Enjoy!

pbat.ch/wiki/CATFMAS/

Pinned post

Okay. It's live. introducing: the candy crystal rainbow codex: pbat.ch/codex/

And the code: git.sr.ht/~pbatch/codex

more transmissions to come.

Pinned post

Okay so

Hello. I'm @paul. I'm a musical hacker and sound designer interested in teaching computers how to sing. I spend most of my time working on software projects related to the field of computer music.

Some topics that amuse me:

















?
?

My website: pbat.ch
My mirror website (hosted on GH): paulbatchelor.github.io

After months of delay, here's a tutorial on building programs for the monome grid in C using libmonome:

pbat.ch/wiki/grid_tutorial/

The tutorial works incrementally, with the final program looking like this:

youtube.com/watch?v=1Fkgf5fTMp

Still a WIP, but the overall structure is there.

patchlore boosted

fuck it, I'm releasing my databending drum machine TONIGHT

make drum loops with percussive samples procedurally generated from opus codec glitches!~ 🥁💥💻

https://suricrasia.online/opus-databending-drumkit/

Fun fact: it is indeed possible to build a musical instrument on Android using only C and Makefiles: github.com/paulbatchelor/vocsh

patchlore boosted

Ended the evening turning two FM oscillators into 2-part melodic isorhythmic counterpoint. Humming the beginnings of a third voice which I'll add on top of everything else tomorrow. Very satisfying stuff.

Gesture Sequencer Updates 

I quickly ran into a clock drift problem trying to run multiple gestures at once with Gest. So today was the day I implemented the measures to prevent clock drift over long periods of time. AKA the thing that would separate this effort from all my other previous efforts at line generators and complex rhythm sequencers. Very make-or-break moment.

The two ways I've thought about preventing clock drift were localizing any drift to phrases and doing a hard reset at the start of a new phrase, and then doing gradual "course corrections" every time a new beat occurs.

While very initial, it seems that drift localization doesn't have any perceptual effect on gesture production, and course correction does seem to improve accuracy somewhat (based on my ad-hoc testing with printf at least).

Shader/SDF question 

Something I've wanted to do with SDFs (2d in particular, if it matters) is to be able to interpolate between SDF-defined geometries in time.

Like, for example, some kind of square that morphs to a circle. Or a triangle that morphs into a 5-point star. Etc. Etc.

I'd be very surprised if there was a generalized method for approaching this. But maybe there are hints for how one could think about this?

I made a little notation language for making gestures in Gest:

"beg 3 3 t 60 sg pr 2 t 63 sg t 60 gl
pr 3 t 62 sg t 60 sg t 59 gl end loop fin"

produces the gesture used to control pitch below.

It's only a small abstraction above the low-level commands used to populate gestures, but it sure will save some keystrokes!

Took a peak at the Tidal Cycles documentation (as one does occasionally), and it turns out that the notion of a "cycle" in Tidal is very similar to what I guess would be referred to as a "phrase monoramp" in Gest.

tidalcycles.org/docs/reference

Much debugging today, and what do I have to show for it? A sequenced melody that's a rip-off of the rite of spring being performed quite poorly on an FM oscillator. Baby steps in the right direction.

attempting to printf my way out of this mess

patchlore boosted

Anyone knows of a good collection of Reverb IR files that are CC-0/public-domain licensed?

patchlore boosted

Do you do #Android dev.? Do you have any idea why a network call would fail under API 24 while working under API 22, 23, and then 25 and up? Issue seems to be totally isolated to API 24, Android 7.

patchlore boosted

On this subject, lately I've become obsessed with personal libraries and archives, both physical and digital. I don't have a grand thesis yet, but there's something to the role an individual's practice of collecting and curating can lead to a distributed system of stored knowledge, particularly in arenas traditional institutions miss, but even just as a caretaking mentality, library as practice

Show thread

I couldn't resist. Gest now has exponential and bezier behavior. With Gest capable of drawing step, linear, exponential, and bezier line segments, it now officially has equivalent functionality to my old libline library, but better:

pbat.ch/wiki/gest/
pbat.ch/proj/libline/

Gest also uses proportional rhythms similar to an even older project of mine called Prop (a rhythmic notation system). I've got a ways to go before I can do some of the stuff found in there, but it is very very close:

pbat.ch/proj/prop.html

both prop and libline failed for the same reasons (clock drift), which Gest addresses (and fixes) via using a phasor as an external clock signal.

I'm really excited to begin exploring melodic counterpoint again, only this time wielding gesture!

Show thread

I felt the need to add some glissando behaviors to my gesture sequencer because of all the pitch sequencing I was doing.

I've added two kinds of glissando behavior. A regular gliss that performs glissando in the last half of the note, and a small more subtle gliss that only does glissando in the last 10% of the note. Both use cubic slope.

The demo below showcases both glissando behaviors.

Show more
post.lurk.org

Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.