noisybox.net blog | photos | computers | art | electronics | misc | to_do | links | resumé | email

weblogRSS feed

Viewing entries 279 to 285 [285 total entries to date]
author
Ghetto Drum demonstration video
Sunday, June 6th 2010 10:08pm
Tags: dorkbotpdx ghetto drum midi pd puredata avr atmel teensy

I need practice.

...but this video gives a brief demonstration of the Ghetto Drum System that I built several years ago, and I just recently added MIDI over USB.

The sounds you hear are from a pretty sizable collection of samples ripped from (mostly commodity) synthesizers and played horribly by me in real time.

The Ghetto Drum is triggering MIDI into Pure Data (Pd) in order to play the samples, and the Dickhole Keypiss controller sitting on top of it is used to do bank programming and selection. Audio is routed out of the cheap-o netbook and into an even cheaper guitar amplifier.

Ghetto Drum USB MIDI retrofit
Saturday, June 5th 2010 11:38pm
Tags: avr atmel dorkbot usb ghettodrum drum midi

So Paul hooked me up with a Teensy++ with a couple bad pins a few months ago and I ended up putting it to good use by retrofitting my Ghetto Drum system in order to support MIDI over USB. The project page has been updated and provides a few more details about the Frankenstein job.

ghetto drum 2.0

I pulled open the old SyQuest case and unmounted the existing circuit board. After hacking at it with the Dremel for some time, I was able to turn the board sideways to make room for the new Teensy board. I mounted this new Teensy in the upper back and made a ghetto faceplate that allows the mini USB connector to poke through.

I mounted the Teensy on a small piece of perfboard and made some super ghetto wooden standoffs. I wired 10 pins from the Teensy over to the existing PIC board with wire-wrap wire: 2 power lines and the 8 trigger points. On the legacy side, I decided to solder the connections right to the pins on the PIC chip itself. Whatever works!

This change allows the whole mess to be powered by USB when pluged in. The legacy PIC board maintains its old function of reading the triggers and converting the data to RS232, but more importantly, the PIC toggles the trigger LED whenever a pad is hit. :)

On the software side of things, I leveraged Dean Camera's LUFA to build some firmware that allows the Ghetto Drum to show up as a USB MIDI device. When plugged in, the device will show up with a clever name and show itself to the host computer as a USB audio/MIDI interface device. When the triggers are hit, the Teensy sends note on/off MIDI events on channel 1 (zero based).

In order to make some sounds, I built a fairly involved Pd patch that receives the MIDI events and can trigger drum samples from a gigantic library of synthesizers. I used the Dickhole Keypiss with Pd to program different patches and assign samples to trigger channels. After the integration was complete, I ended up demonstrating the whole shebang one Monday night at Dorkbot in Portland.

I hope to have a demonstration video up within a few days.

Robotic baby cacophony
Friday, April 9th 2010 11:48pm
Tags: cacophony robotic babies

Recorded in Bi-Mart in Portland, OR, 2010.

Infiltration Lab live set on KBOO FM
Wednesday, February 24th 2010 12:53am
Tags: infiltrationlab radio noise audio sound

Infiltration Lab played a live, hour-long drone/noise set on KBOO FM on February 1st, 2010.

infiltration lab

In the unfortunate event that KBOO loses funding or they change their url scheme or de-archives material or bombs hit Portland or whatever, I have also archived the show on archive.org. Hopefully this embedded player continues to work:

A few random tech details: I played the set on my audiopint computer that I built a couple years ago, running some Pd patches that I designed specifically for this show. As usual, the computer (as underpowered as it is!) had no problems keeping up. All sounds in the recording were rendered through Pd in realtime. Some audio material (for the granular synthesis) was taken from a(n unnamed) commercial recording, and the spoken sample material was mixed blind (previously unheard by me) from a psychological tape sourced at the Goodwill bins.

This piece is intended to be a contrast of sorts, a juxtaposition, and an overt psychological response to the reflection of time collapse. There really is no time. If your current self could revert to its earlier self in an instant, what would that event sound like?

Many thanks to Sean for having me. May radio live on!

Dear Belkin...
Saturday, January 16th 2010 11:27pm
Tags: belkin router consumeroutrage fail pathetic

Dear Belkin,

router1

It's your problem now.

router2

(Sending anonymously. Perhaps I should select the shipping insurance.)

New Years 2010 audio
Sunday, January 3rd 2010 10:17pm
Tags: newyears portland woodstock audio fieldrecording

On the transition from New Years Eve to New Years Day I made a recording of the sounds in my neighborhood, similar to the one I made last year.

Here's a link to the archive.org page for it in case you want to download it or read more:
http://www.archive.org/details/NewYears2010WoodstockPortlandOr.

It has reminded me just how much I enjoy the sound of binaural recording. I'm still tickled by the spacial placement of sounds in a 3D field. If you listen, you should ideally wear headphones and keep the volume very high (I didn't alter the signal and left a bunch of headroom).

Filtered keydown/up for Pd
Sunday, January 3rd 2010 9:41pm
Tags: pd puredata

Sometimes when I'm prototyping patches in Pd and working at a computer keyboard (without an external controller), I like to be able to quickly map keyboard keys to trigger events.

The vanilla key objects are fine ([key], [keyup], and [keyname]), but [keyname], in particular, likes to send redundant events when a key is held (due to key repeats). As a result, I created [keyonoff]:

keyonoff

This abstraction will take a given key (and an optional timeout duration) and will map a keypress onto a simple 1 or 0, while eliminating duplicates. In other words, when your desired key is pressed, it will output a 1 and will output a 0 iff a zero has been seen from [keyname] and no 1 has been seen within the filtering period. The default timeout period is 50ms, which is suitable for command-like actions, but will need tweaking for time-sensitive rhythmic work.

It's hosted with my other Pd objects, and you can simply download it directly here. Enjoy!

blog | photos | computers | art | electronics | misc | to_do | links | resumé | email
all content, text, images, sounds, software, code, ideas © 2009 jason plumb / noisybox / infiltration lab. email