Series: alt.ctrl activities
Made by Tess Buckley with Adrian Freed, at the Stochastic Labs residency. A wig with three strands, each carrying a sound: alone, a strand is one note; woven together, the strands become a chord, here A minor. Braiding takes another pair of hands, so the instrument is played between two people.
… This summer at Stochastic Labs residency I focused on SONIFYING the us, making the collective visible, memorable & musical.
This piece takes the form of a wig with three strands, each carrying a sound. Alone, a strand is one note. Woven together, the strands become chords (in this case A minor), the tonalities that make music, that make life. We become more when entangled & in contact. To braid is to make a new sound and meaning, something that didn't & couldn't exist in any single strand.
Braiding is one of the oldest rituals of care we have. It takes another pair of hands, someone trusted enough to hold your head and pull the strands taut. That dependency is the point. Braiding is grooming turned into intimacy, a repeated tending that says: I will handle you gently, and you can let me.
A braid is a small, literal diagram of how identity actually forms: not sealed inside one body, but worked out between bodies, strand over strand, each one legible only in relation to the others. A single strand held alone has no pattern. It becomes part of something only once it meets another. That is as true of my three sisters and mom's hair, pictured behind the piece, as it is of a self.
[…]
A knot, a chord, a person: none of it means anything as one strand alone. All of it, entangled and in relation, means more.
Made with Adrian Freed
| Item | Amazon | Seeed Studio | Mouser |
|---|---|---|---|
| A wig with three strands | |||
| Resistive thread, knotted down each strand of the braid | |||
| A Seeed Studio XIAO SAMD21 (sold earlier as the Seeeduino XIAO): the braid's sensing was developed on it, and its SAMD21 chip has a touch controller. Three of its pads read the three strands | 102010328 | 713-102010328 | |
| A USB-C cable, from the board to the computer | |||
| A computer with Chrome or Edge, to run the sound page that reads the board over Web Serial and plays the notes |
A prompt to give a coding assistant, to start the code for this activity. Copy the box, answer its questions about your board and pins, and test what comes back on the bench before you rely on it.
I am building "Hair-Braid Sound Controller", the activity at https://adrianfreed.com/hair-braid-sound-controller.html.
Write a program for a Seeed Studio XIAO SAMD21 (or another SAMD21 board) in a wig with three braided strands. Each strand has resistive thread knotted down its length, wired at its near end to its own pad, one that the SAMD21's touch controller can sense on its own (on the XIAO: D0, D1, D6, D7, D8, D9 or D10, not D2 or D3).
Sense three things on the same pads. First, a touch on each strand, with the touch controller: at start-up, with hands off, measure each strand's resting level, and let it follow slow drift only while nothing touches the strand. Second, which strands the braid has brought into contact: float one strand, drive another, and see whether the first follows, in both polarities, driving only one strand at a time so that a braid short never sets two outputs against each other. Third, for strands in contact, the resistance across the join, read with the ADC, which rises the further from the board they meet; turn the touch controller off and clear its pad enables before each such read, because left running it spoiled those readings when this was built. A strand's touch reading collapses while it touches another strand, so do not let its resting level learn from it then.
Send each change to the computer over USB serial as it happens, and a full report at least every quarter of a second, in a form a web page can parse. On the computer, a web page reads the port with Web Serial and plays the sound: each joined pair holds an A minor triad in its own register for as long as the join lasts (left and middle A2 C3 E3, left and right A3 C4 E4, right and middle A4 C5 E5), and a touched strand rings a chime, one pitch per strand from a C major chord (left C5, middle E5, right G5). Keep a join's voice through a dropout shorter than 450 ms, and let a strand chime again only after 285 ms off touch: both were set between the gaps measured in the recorded sessions of this build (join dropouts at 119 to 398 ms and then from 474 ms up; touch gaps up to 270 ms, separate touches 300 ms or more apart), timed by the frames' own clock. Ask me before changing the notes.
Libraries to explore:
Before writing anything, ask me what I am using: the board and its pins, or the software (such as Max, Pd or Python), and check its documentation for what this needs. Put the pin numbers, ranges and other settings in one block at the top, each with a comment. Say which of the libraries above you use, and why. Start with a test that shows the raw readings, so that I can check the wiring and the ranges before the rest.
This activity by Adrian Freed and Tess Buckley is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0): you may share and adapt it with attribution, for non-commercial purposes such as personal projects and teaching, and you must share adaptations under the same licence. Product names and links belong to their suppliers.