Archive for the ‘hackpact_sept_09’ Category

balu, II

Thursday, October 1st, 2009

many people who have run into me at festivals are familiar with ‘balu,’ that lovable little handheld noise synth that reacts to light. for ages now, people have been asking me to make them their own similar synths. since i have a lot of trouble turning people down, the waitlist for these things is rather long. however, a few proud friends of mine already have received theirs for occasions such as boxing day and shark week. the above synth is for a friend of mine who lives in atlanta. behind me, as i do the demo, you’ll notice the original balu, sitting on my workbench. he needed a new switch, and now he’s good as new!

yay noise synth friends!!! ^.^

a tender palsy

Tuesday, September 29th, 2009

click here to listen to the aiff file.
click here to look at the code (messy, i’m warning you).

when i was livecoding in the park yesterday, i was experimenting with sets of impulses. as i have been interested in irrational rhythmic relationships recently, i was playing with an octave of 32-tone equal temperament, from 1 – 2 hz. i love the sound of filtered impulses, especially when i use convolution as the filter, but i’m often disappointed with windowed convolutions because they don’t provide ample time domain resolution in the response. while this is fairly trivial in certain contexts, the lack of resolution is very pronounced when attempting a convolution with something close to an ideal impulse, which is what i’m doing here. it occurred to me to use several layers of convolution, with different window sizes, to allow for more resolution. i had tried this a few years ago with somewhat unsatisfactory results, because i was using nested filters to cross-over between resolutions. this improvisation does no such thing. there are no cross-overs implemented here, so i imagine there’s a fair amount of combing.

the recording i have provided does not follow the standard rules for livecoding because it is a reconstruction of a livecoded event. my laptop had one of its rare freak-outs this morning just before i could save yesterday’s work. saving work is one of those areas where my process needs to develop. grrrr. anyways, reconstructing the code was a good exercise because i could then expand on the idea. i think i’ve found some interesting territory. i’ll definitely be refining this parallel convolution process, ideally with some kind of cross-over that doesn’t suck. now that i know a little more about what i’m doing, i think it’s possible.

the piece itself made me think of some of the sleep incidents i’ve had growing up. i suffer from sleep paralysis, a disorder also called ‘night terrors.’ they aren’t always bad, in fact sometimes they can be quite amorous, if you get my drift, but they always involve a large portion of my body being paralyzed, while i lie there completely alert. occasionally this is accompanied by the sensation of my head exploding. sometimes i’m able to move my head and talk, in which case i try to yell as loud as i can, in order to wake myself up. i remember, as a child, being able to predict one of these episodes coming on because i could hear it. the sound was a kind of whooshing noise, a bit like a off-balance drier, but more intense. this recording reminds me of that a little, hence the title ‘a tender palsy.’

ps – i decided not to embed or link to the mp3 because lossy compression artifacts are absolutely wretched on material like this.

barren neptune

Monday, September 28th, 2009

i made another distortion circuit. this one is very stable, and very loud. based on my limited understanding of the subject, this one works by overdriving the components inside the opamp, rather than using a diode to clip the peaks of the waveform. despite how primitive and brutal this circuit is, it doesn’t do much self-oscillating, and actually gates a lot of low-level signal, which is a good thing when dealing with amps and guitars.

actually, the gain is so high on the output that i believe it will need a third opamp to attenuate the signal, because otherwise any guitar player who uses it will most likely just destroy their amp.

to test this and future pedals i’ll be using an actual electric guitar, since the impedance isn’t quite the same coming from a contact-mic’ed kalimba. it’s an american strat– not mine– and i have almost no competence with the instrument anymore. regardless, i refuse to tune it, because i really like the sound of a well-detuned guitar.

this pedal currently has no knobs or switches; it can only be on or off. eventually, a volume control and wet / dry knob might make an appearance.

improvisation on hacked reverb unit.

Friday, September 25th, 2009

ah the yamaha r1000. possibly the worst digital reverb ever invented. it has four discrete settings which are labeled, cryptically, 1 through 4. it sounds nothing like reverb. it was a gift from my flatmate. i’ve been looking forward to hacking this thing for some time, and it has not disappointed me.

last night i almost killed it completely. i was messing with it manually and decided i wanted to use bare metal to bend the circuit instead of my hands. big mistake. everything got really cool for about fifteen seconds, and then all went dark and the sound got somewhat less cool. then it wouldn’t fully turn back on. i rued the day.

today i woke up and tested the four fuses in the non-power-oriented part of the circuit, and found that all of them had been blown out. on replacing them, the unit sprang back to life. sort of. more accurately, its zombified body sprang into soulless action. it no longer works as a reverb unit- which it sucked at anyway, let’s face it – and now only works as a hacked instrument. it’s probably my favorite instrument in my rig now, if only because it’s so massive and novel. i spent today isolating interesting regions on the circuit and getting some chops on the board. i practiced until my hands started bleeding and i had to stop. i still have a ways to go.

dictionary sex, part II

Friday, September 25th, 2009

more sample level markov chain work.

sources used for this briccolage are mostly contact mic recordings of things like single drops of water, screwdrivers scraping wood surfaces, and music box tines. a pitch constellation was achieved by limiting the possible chain depth to only a few different values.

i’m fond of the dynamic range of this recording. this patch seems to create some pretty compelling textures. i hope i eventually put them to good use. for now, i definitely think of these pieces as studies, in case you were getting concerned.

dictionary sex

Tuesday, September 22nd, 2009

i was a bit concerned about using the above title for this post, because obviously it opens me up as a target for the spam hordes. however, i trust my filters, and the title is just too apt.

i have been working on some python code that makes music using a statistical algorithm called a markov chain . with all the running around i have been doing of late, i have had little time to document the past few days’ work.

in addition to the problem of racing against time, i have to contend with the added issue of documenting partially working or completely non working code. this has been an issue with analog projects as well. i think my future strategy will be to document failures as well as successes, so other makers who read my blog (all two of you, one being my mom. hi mom!) have the opportunity to see me fail — er, learn from my mistakes.

“dictionary sex” is an appropriate title for what i’ve been trying to achieve with this application. i have not quite gotten there yet, but i’ve only really been debugging it for the past two days (today will be the third). the idea is simple: analyze a sound file, and generate a data file from it. take two of these data files and make a third by mashing them together. use the third file to generate a new sound file that has equal properties from both parents. cute, huh? now if only i could get this to work and not take a million years, that would be great.

i have been looking at ways in python of saving data into files for later applications to use. the pickle library seemed like a reasonable place to start, and soon i moved to cpickle because it operates so much faster, being implemented in c. however, despite being up to 1000x faster than pickle, it’s still a very long process to save such huge amounts of data into a file. depending on the type of analysis, these files can be much larger than the original wav file. this is a problem i’ll attend to later.

so i started this post three days ago, and as i finish, it’s no longer a sob-story. i have actually achieved dictionary sex. here is an example of what i’m talking about:

in this recording is a ménage à trois of transition spaces, each coming from different sound sources as well as different analysis parameters. from a single dictionary file, i can generate an arbitrarily long sound file. frankly, i don’t remember what the different parts were anymore. here’s the code: markovSamp_4.py and markovCat.py.

that the cessation of suffering is attainable

Monday, September 21st, 2009

otherwise known as the third Noble Truth, of four Truths the Shakyamuni Buddha brought to us after his experience under the Bodhi tree. in Pali, this concept is summed up by a single word: nirodha.
in addition to pointing to this salient idea, nirodha is also the name of one of my computers. it is part of a cluster of four computers, the other three of which are named after the other Noble Truths. the cluster as a unit is called the cattri, Pali for “the Four.” more information on my cluster can be found here. nirodha’s hard drive failed during an installation of Sanction of the Victim, a LAN composition that involves running processes that are directly at odds with one another. since all the computers in the cattri are more or less identical in hardware, and since i have a ton of identical spare parts and identical spare computers lying around, i decided to ghost dukkha (that there is suffering), over ethernet, into a new machine, renaming it nirodha.

to begin, i used a live cd for knoppix v5.1.1 because later versions apparently don’t come with sshd installed. since i still have no WAN connection for my cattri router, i needed to use a livecd that would be ready to go without using apt. plus i like knoppix.
while this version of knoppix came with sshd already installed, i needed to generate the host keys and start the daemon. i kept running into the following error: “could not load host keys.” finally, i just went through the gui and started sshd using their menu option, but not before generating the host keys.
running off the livecd, i used dd over netcat to ghost dukkha’s drive. the command pair i used was:
(target): nc –l –p 7000 | gzip –dfc | sudo dd of=[TARGET_HARD_DRIVE_NAME]
(source): sudo dd if=[SOURCE_HARD_DRIVE_NAME] | gzip -cf | nc [TARGET_IP] 7000 –q 10

i started the target code first, because it acts as a listener. there’s no visual output (!) while this process happens. my pair did it in 1742.15 seconds, at a rate of 11.4 MB/s.
after rebooting nirodha into the ghosted drive, the machine was an exact clone of dukkha. well, almost exact. the ethernet interface for some reason had gotten renamed from ‘eth0′ to ‘eth1.’ evidently this is common with ghosting and no one knows why. check out post #14 on this board. using ‘ ifconfig -a ‘ i found the device and renamed it in /etc/network/interfaces.
finally, to change the hostname from dukkha to nirodha, i ran the following (from this documentation):

hostname nirodha
sudo echo "nirodha" > /etc/hostname
sudo /etc/init.d/hostname.sh start

and now i have a new computer! ^.^

redundancy

Wednesday, September 16th, 2009

click here to look at the code.
cliick here to listen to the mp3.

i added a new feature to my monstrous sample level markov chain script. this one lets the user specify a number of repetitions per unit of the chain. the result sounds a bit like waveset stretching, but it’s different because it’s not based on zero crossings and because it generates new material rather that simply slowing down playback.

My source material comes from yesterday’s field recording. I think they’re shaping metal with some kind of pneumatic powertool.

Sorry this is so short but I am so very exhausted. More documentation will come tomorrow.

mornings sit on roofs

Tuesday, September 15th, 2009

every morning i spend in greenpoint, i climb onto the roof and sit for about an hour. i have been doing this since i moved into the place in july. my practice is nothing fancy, mostly just counting my breaths up to 21 – if i make it that far – and starting over. sometimes i repeat specific phrases.

the neighborhood is rather industrial. largely it consists of auto-body garages, construction shops, and the water treatment plant. the first thing i noticed about the area was the beautiful swirling hiss that the plant emits. on some days, the various metalworking machines pound polyrhythms, their origins confounded by their reverberations through the concrete.

the recording was made on a pair of binaural microphones. they can very closely simulate the experience of being there listening to the sounds they record. i recorded for just over an hour straight, and i left the recording completely unedited and unprocessed. it won’t stay that way, but i wanted to start by presenting the entire hour untouched. unfortunately, it was somewhat windy today and the wind-guards couldn’t keep everything out.

i truly enjoy these mornings. it was a pleasure bringing you along with me this time.

hubris, for tape

Tuesday, September 15th, 2009

i have been playing with this reel-to-reel, which i fixed for one of my clients, for the past few days. it has been an amazing experience working with tape. for the recording, i used only analogue equipment, most predominantly, an ancient and tortured fostex mixer that i used for “no input” mixing. additionally, i used a hacked small stone analogue phaser, some commercial distortion pedal, and two of my own pedals: a distorted bandpass kind of thing, and an arpeggiating octave divider. there is also some amplified spring in there. when i finished the improvisation, i digitized several versions of the tape, with slight variations in mix, tape speed, and additional slinky reverb. i arranged these different versions so they would line up at some points, creating a manual flange / delay effect. truly beautiful things happen to tape when you overdrive it. the tone is so dark and warm. i’m considering recording some computer music to tape and re-digitizing it, just for the saturation. i don’t want to give it back!

fostex_with_2025_and_small_stone

yeah -  that one pedal’s housing is from an old-school motion detector.  that’s the octave arpeggiator, otherwise known as the lunar lounge 2025.