A tiny log of haps and thoughts on the web. A journal. A feed.
2023-02-17
I am still writing up, but I am also still sneaking in some sound and code practice.
- I started playing with feedback delay networks (FDN) to build a resonator and had fun but quickly realized how deep that hole goes. I experimented with putting the Resonator from Mads Skeldgaard’s Ported Plugins in a filtered feedback loop with Haptic Box and it was very active. Will definitely be exploring that.
- I’m slowly developing a more-or-less standalone quiet instrument with the modular synth and inscribe.
- inscribe saw a big update the other day that brings support for OSC in addition to monome crow as well as automatic device selection.
- turns continues to be a slow burn. I’m currently working on input to allow for things like adding stops to the sequencer, modulating oscillators, and manually updating the display (useful for displaying a buffer to navigate).
2023-01-24
Trying to write about reconfiguring a system by removing / reducing / changing its organizational principles and building different ones without invoking new beginnings, repeating, or returning to nothing / chaos.
2022-11-29
I went and saw some AI & feedback music at Café Oto on Sunday. The performances were great and it was wonderful to meet some new people. During a brief Q&A discussion afterward, the word “agency” was used quite a bit to describe the ability of some feature of the performers’ setups to have an effect on the outcome of the performance. In Feedback Cell, the distribution of feedback through the matrix of performers was the agential element; in Anna Xambó it was the neural net that co-curated sounds from Freesound during the performance; in Green & Tremblay’s duo it was an untrained AI which they performed with / against. In other critical composition & musical work, agency is ascribe to properties of material, especially instrumental. Scott McLaughlin, for instance, figures material indeterminacy through particular approaches to things like multiphonics as reflecting a degree of agency performed by (or relinquished to) the physicality of the instrument.
The use of “agency” seems to me like an honorific that carries shades of anthropocentrism. Something is singled out as agential if it has a notable effect on a process of interest, in which a human is generally involved (and usually has more agency), particularly if the effect is surprising or less predictable. Environments, however, always have agency. Sara Ahmed, N. Katherine Hayles, Annahid Kassabian, Karen Barad, and Donna Haraway have all written about different ways that environments and others in proximity shape our activities, thinking, and identities (in music-specific situations, see recent texts by Mariusz Kozak, Jonathon de Souza, Andrea Schiavio, and Annie Goh, among many others). If environments always co-compose processes, “agency” must signal something else, a particular set of properties of the effect aside from the familiar ways in which material participates in human realities. I suspect that those properties are ones that seem more human because they are similar to the interventions made by the musicians (in this case).
Naturally, I want to imagine the inverse: instead of drawing borders around parts of the environment which strike me as agential because they are more like me or more directly affect what I’m concerned with, I wonder how I diffuse my own borders and behave as an aspect of the environment, which of my features and behaviours are affordances or interruptions in processes which matter to others (human and otherwise).
2022-11-14
I seem to be doing a lot with this box lately. I’m giving a talk about it on Sunday for Piksel Festival (more info here). I’ve been posting more sound dust to debris lately because it’s #noisevember, and this week I’m working on finer tone control with feedback on the Haptic Box.
2022-11-02
I’m performing with the Haptic Box tomorrow at the University of Leeds, alongside sets by Cathy van Eck, and Scott McLaughlin and Kate Ledger. The event will apparently be livestreamed on YouTube here.
2022-10-13
We are happily in autumn weather here in Leeds, though I am in the form of purgatory called “writing up.” Trying to keep a balance is challenging and artistic practice of any kind seems so far away, but a deadline for solo violin has given me reason to be making some sketches. Acoustic instruments are so gratifying.
2022-08-29
It feels like fall here in Leeds even though it’s not yet September. The Guardian are calling it a “false autumn”.
2022-08-27
Had a fun performance with composer Mia Windsor on Thursday. Video documentation available soon – I’ll link to it from debris. First outing with the synth so I guess I’m a synthesist now (not a synthetist as I’d thought).
Flying back to Canada next week for a few weeks. I’m really excited to be with family and friends but can’t shake the climate guilt.
Heat-related events aren’t the only effects of climate collapse, but I’ve been meaning to tally the various iconic rivers that have been drying up this summer:
2022-08-12
Here’s a breakdown of the Eurorack synthesizer patch that led to this conglomeration of sound. I would like to further break down this breakdown into more generic terms but my forearms are starting to hurt from doing too much typing lately. I don’t generally like to mention each module by name as it just feels a bit object-fetishist in a capitalist kind of way, but it’s useful in situations like this where a) there’s someone else working in the same format who is interested and b) it will help me recreate the patch. (Also, it was fun to write it like the intro to a play.) As always, feel free to get in touch with comments or questions.
Dramatis Personae
The house of 3U:
RIPPLES, an oscillating filter
STEREO DIPOLE, a pair of dual filters, generally oscillating
FLD6, a wavefolder
FALISTRI (FALI), a dual envelope generator AND some other utilities
COLD MAC (CM), many-faced
TANGLE QUARTET, a quad mixing VCA
SPORT MODULATOR 2 (SM), a dual slew processor and sample-hold
OCHD, eight unrelated triangle LFOs
COMPARE 2 (CMP), a dual window comparator
CROW, acting as an ASR with internal feedback throughout
The house of 1U:
IN and OUT
QUADRATT, four mixing attenuators
DIFF-RECT, a difference rectifier
NOISE TOOLS, acting as a simple clock throughout
FLIP, a dual Bernoulli gate
Their Many Relationships
Mixing:
- CM performs basic stereo mixing: left in, right in, and center (both L&R equally)
- RIPPLES LP4 to CM left in
- DIPOLE AB (ie, all four filters) to CM right in
- TANGLE mixes down two other inputs into CM center: FLD6 and a PWM square wave from CMP via FALI (also AM’d by FALI) – covered later
Filters:
- RIPPLES LP2 to its own FM (attenu at 1PM – only slightly FMd)
- RIPPLES LP4 to DIPOLE A resonance (attenu fully open)
- DIPOLE A output (one pair of filters) to DIPOLE B resonance (attenu fully open)
- DIPOLE B output (the other pair) to RIPPLES resonance (dial fully cranked)
- V/8 for all three coming from CROW
Sporting:
- Both halves of SM are cycling and FMing the other half
- SM’s top half output is multed to CMP input (normalled to both its halves)
- SM’s bottom half output is multed to CMP’s left size input (changing the window size)
- CMP’s left out goes to FALI’s slew utility and from there to TANGLE (as mentioned above)
- The window as defined by the knobs (ie before CV) is from about -45% to about 0%
- This basically creates a grungy low-passed square wave with unstable PWM
To make that PWM wave more complicated,
- OCHD self-FMs from its second-fastest output (small amount, inverted)
- OCHD’s third- and fourth-fastest outputs go to CMP’s right comparator window’s size and shift (respectively)
- CMP’s right comparator input is normalled from its left
- CMP’s right comparator window as defined by the knobs is set to about -50% to -10%
- CMP’s AND and OR outputs go to SM’s hold inputs
Data:
- OCHD’s fastest and fifth-fastest (fourth-slowest) outputs go to both inputs of DIFF-RECT, which is attenuated via QUADRATT and sent to CROW’s (acting) ASR data input
- CROW’s ASR is clocked by a simple pluse coming from NOISE TOOLS and reduced probabilistically by FLIP (in what might be the boringest part of this patch)
- These outputs drive the V8 of the filters, as mentioned above
Manipulation:
- Both of FALI’s envelopes are set to audio rate. The top is cycling, the bottom is in transient (must be triggered)
- FALI’s top end-of-fall gate is triggering its bottom (similar to the formant oscillator idea)
- SM2’s top output is multed (again), passed through CM’s half-wave rectifier (“OR”), and sent to the V/8 input of FALI’s top half
- FALI’s top half AMs its bottom half via its onboard VCA, and that output is sent to AM CM’s PWM wave at TANGLE
Retribution:
- The entire OUT is sent to a delay (digital in the recording) and sent back to the IN
- The delayed signal is sent to both inputs of FLD6
- FALI’s top and bottom halves are independently attenuated (onboard) and sent to FLD6’s fold and shape inputs
- FLD6 is also set to be a little asymmetrical
- FLD6’s output is sent to be the other signal mixed in at TANGLE
2022-08-11
That drawing tablet zones thing from the other day is great. I’m going to eventually replace this post and that one with a bigger write up. Time is a thing.
2022-08-09
Here’s some basic math that might be useful in a certain context. The story is I’m trying to make my drawing tablet a more useful sound controller interface. The easiest thing to do is to map the X and Y directly to parameters, but that’s not very intuitive to interact with. This math allows me to define zones as points with a radius and spits out a linear measure for how close the pen / touch is to that zone (1 is exactly on it, 0 is at the radius or further). A benefit to this approach is that it allows for defining an arbitrary number of zones with arbitrary sizes and overlaps, which maps well to navigating a physical space – or at least I think it will, I’m not actually done plugging it in to the sound yet.
event: x y
zone: zx zy zr
dx = abs(x - zx)
dy = abs(y - zy)
dr = sqrt(dx^2 + dy^2)
zone_intensity = 1 - min(1, dr / zr)
2022-08-02
I’m giving a short online presentation on some recent thinking & work tomorrow at 09:00 UTC. Feel free to drop in. The text is online as well, though I really did intend for it to be taken in in time.
I’m thinking of starting a separate journal like this one for the sound experiments I occasionally post to sonomu.club. I think I want to keep them separate from this one.
I’m going to have make a meta page about this site. Something I just added today was support for the Aileron font, but only if it’s installed on your system.
2022-07-29
In my possibly-masochistic drive to use nvim for prose as well as code, I’ve been searching for a terminal emulator that supports variable-width characters. I finally stumbled on mlterm, a terminal aimed for use with non-western scripts. It works decently well for nvim + variable-width sans-serif font + prose, with expected caveats around anything that uses whitespace characters for positioning (no splits, nothing right-aligned, etc). After cleaning up the markdown aucmd in my nvim config to display nearly nothing other than the text (and that one c
from showcmd
I had forgotten), it looks like this:
It’s pretty good for notes, but there are a number of outstanding issues:
- mlterm is missing some configuration options like line height and margins, so it feels a bit cramped
- the block shaped cursor has variable width as well, which is annoying, and I haven’t figured out how to change it to a line
- all of the lines are the same height and all of the text is the same size (as it should be in a terminal), which impairs readability over longer documents (for me, anyway)
To get a sense for how this affects readability, here’s the same note in mlterm, kitty, and finally LibreOffice Writer:
All that to say: if you’re working on an nvim-powered prose editor, please don’t stop (and please don’t use electron!).
2022-07-20
Last night as the heat was breaking, I sat out in my flat’s back garden (what North Americans call a back yard, except in this case it’s a small patch of grass and a gravel pit between our shared row-house and the back alley) and browsed the boomkat catalog, finding some great music by dakim and Sams Gendel and Wilkes.
Today I started reading Maria Vishmidt’s Speculation as a Mode of Production. I probably won’t finish because it’s very dense, but it was useful to get the gears turning on relationships between artistic and financial speculation. Even from the short amount of reading I just did, I can tell that her point is incredibly nuanced and informed, which I certainly don’t have the brain for today, as I’m still pretty fried from the previous two days’ heat.
2022-07-18
Learning about now pages, also found some some neat tools for formatting it as an Atom feed. Gonna try it on.
Starting to use Fraidy Cat as a feed collector, which has been missing from my life for a while. Having left most of the major social medias I’ve been missing a ton of events and goings-on, so hopefully I’ll be able to use this to recoup some of that intonation.
Had a good time at Zero Parameters Festival this past weekend. Heard some cool performances, met some great people, even got a free zine. There were performers using Max, Supercollider, TidalCycles, and even Forester.
Just remembered wttr.in. What a neat thing. I get to see how hot it’s going to be here tomorrow in the terminal now! (Though it doesn’t deal with light shell themes very well.)
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Tue 19 Jul ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Sunny │ \ / Sunny │ \ / Sunny │ \ / Sunny │
│ .-. +31(29) °C │ .-. 41 °C │ .-. +33(32) °C │ .-. 26 °C │
│ ― ( ) ― ↖ 12-13 km/h │ ― ( ) ― ↑ 21-24 km/h │ ― ( ) ― → 16-19 km/h │ ― ( ) ― → 13-22 km/h │
│ `-’ 10 km │ `-’ 10 km │ `-’ 10 km │ `-’ 10 km │
│ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
Random code snippet: insert the ISO 8601 date in vim with :r !date -I
.