what's newwww!

So, this project has been on the back burner for a while (over a year since the last post!). I have been working a lot on music stuff, and making work, and doing art shows. Recently I have been re-considering what I am doing with music, especially performance. I have always used a specific set of tools both on recordings and in performance. I have been trying to create the same thing in both situations. This has been challenging, as at home I tend to exploit the opportunities that recording offers. Most "songs" i make evolve as a series of happy accidents, self-collaborations in the moment, and sounds I record, forget about, and make sense of months later. In order to accommodate for this in performances I've tried integrating pre-recorded over-dubs as a way of doing things that would be physically impossible as one person. It doesn't feel the same, as the pre-recorded things are static, and sometimes don't feel right in the given setting. For example, often in my recordings there are background sounds that end up being in the recording... the sound of cars going by, the kids playing next door, crazies shouting in the street, the church across the street, etc. In recorded form these sounds make sense to me, and it serves not only as a document of the music that I am making, but the sounds that inevitably influence me. When I play these pre-recorded things live, in the way that I had been using them, it feels sort of cheap. I'm not sure why. Maybe it's because I'm also playing a few instruments on top of it, and using overdubs makes me feel like i'm trying to fool the audience into thinking it's all live or something. Or maybe it's that I'm not devoting enough reverence to these captured sounds?

I've been thinking about ways to simplify what I am doing to the point where performances are little meditations on one simple idea. To focus very specifically on these collected sound artifacts, and give them more space to be appreciated. I decided to delve back into this computer project, as a computer is a tool which offers many possibilities for sound, performance, and interaction with it as an object. I started working on the computer this blog was devoted to, only to discover that it was broken.

I tried fixing it for a while, but faced with an impending performance I decided to figure out how I might use a laptop as a vehicle for performance. In performance situations I'm really not all that interested in laptop music, or "interactive" audio synthesis. I think that a lot of it never really gets past the medium, and down to really exploiting it, rather than letting it dominate what it is that you do. Certainly there are exceptions, Lucky Dragons being a shining example. Luke uses computers in a very thorough way that really exploits what they can do, yet a lucky dragons performance is an intensely human experience. The laptop is there, and yes audio gets chopped-up, and compressed over and over, but it still feels completely natural. This is due to a few things: the intimacy and excitement of strangers touching each other as a form of audio synthesis, but also the simple and open, child-like wisdom the music possesses opens people up and frames the interaction they are having with each other. Paul Slocum is another somewhat relevant example. He makes music with obsolete, vintage computers from the 80's & 90s that sounds incredibly lush, and not at all 8-bit and computery. But really Luke is the best example of what I'm talking about here. Human computing. Read Richard Brautigan's "All Watched Over By Machines of Loving Grace".

So I've been thinking about how to use a laptop as a tool in performance, without letting it become the focus of what's happening, and without falling into typical laptop defaults. I decided to use the reinvigorated 70's keyboard i have, and turn the laptop around to face the audience. I'm interested in opening things up and thinking about how I can be more engaging. Here is the first, and most recent performance I've done:

cool! I'm pretty excited about the possibilities, and I'm psyched to see where this goes! I'm playing a few shows coming up, they're listed here.

Now that I have this project where I have focused specifically on these pre-recorded artifacts, perhaps I will next try approaching the guitar in a similar manner. Focusing solely on  one thing, to allow it room to breathe. Someone who is doing just that with pop writing, and instrumentation is Lullatone. So many people! ahhaaaa :D


Computer Finished

Hooray! Wow, a lot has happened since my last post. When we last spoke I had finished installing the majority of the computer. Since then I've installed the LCD display and created the USB and power ports on the back of the case. First I'll explain the ports on the back.

The USB, firewire, ethernet and all other plugs and ports on the G4 Cube are all mounted on the logic board of the computer. The logic board is located somewhere in the center of the beige case. This created the need to make little extension cords for each port, which would then be mounted on the rear of the beige case. This wasn't such a challenge at first because you can buy such things as USB and firewire extension cables. The power connection on the other hand is a weird proprietary connection which I could not find an extension cable for.

So it's a 4 pin connector. I was poking around www.allelectronics.com looking at multi-pin connectors trying to find a suitable candidate and I ended up going for a 5 pin DIN connection, which is one more pin than I needed, but that fine.

So I wired up the chopped off power cord to a surface mount female DIN connection:

So the small end of that cord plugs into the guts of the computer, and the fat end is mounted on the rear of the beige case.

The next step was to alter the power supply so that it had a male DIN connecter that would plug into the new modification. This was a pretty similar process as the previous step.

I'm probably going to crochet a little white cozy for that bulge where I joined the cables.

The next step was to cut face plates for these new ports and install all of the extensions so that they looked pretty. I don't have any in-process photos of this, but I cut them out of plexiglass with a dremil. and painted them gray. They're mounted from inside of the enclosure with hot glue.

Clearly I have yet to install the firewire and ethernet extensions, but those are on the back burner for now as they aren't vital. The USB extension is simply a store bought male/female or A to B cable. For the audio in/out ports i'm using an iMic USB digital audio adapter simply because the Mac Cube never had on-board audio. Thus I am left with only one spare USB port, which is fine I just use a hub. If I was smart I would have mounted the USB hub inside of the computer so that it just appeared as if it had four ports, but I didn't think of that until it was too late. Maybe I'll do that some day...

Sadly I have not one in-process photo of installing the LCD. I bought it from www.millertech.com. I had tried to use LCDs from old crappy laptops, but I kept running into problems trying to find one that was the right screen size with small enough circuitry around the edges so that it would fit inside of the enclusure. This solution was kindof pricey, but I knew that it was a perfect fit as far as dimensions go, so I couldn't say no. Basicly I hot glued it into place for now, and I will be finishing it off with a more reliable epoxy or caulk. The actual screen size is slightly smaller than the hole left by the old screen, so I created a matte covering the edges.

So, you're probably wondering why the cursor is so big. No, it's not just because it looks awesome, this is actaully rooted in function. The computer isn't fast enough to process the visualization produced by my software in full screen mode, so instead I made the video window very small, and used the "zoom" feature built into Mac OS X to zoom in on the small window so that it apears to be full screen. Thus the awesome huge cursor.

So that's about it! Just a few loose ends to be tied up, but the computer is basicly finished. I say specificly that the computer is finished rather than saying the project is finished because I hope to improve and change the software eventually. Right now I don't have the means to do so because the MAX/MSP/Jitter programming environment is really expensive, but it'll happen eventually. I also want to go on tour at some point. In case you're wondering how I plan on actually using this computer in such a context, here's a video of me & my friend Ali performing at my BFA thesis exhibition last saturday:

I still need a lot of practice... it's hard to stay on the beat sometimes because there's lag time between hitting the key and the note being produced. I mean it's not a noticeable lag, it's just enough to cause me to phase out of synchronization with the drummer.

Here's another good treat, my teacher Andrew Deutsch's son Ben played with the computer for a little bit:

So that's all for now I guess! I'll post when I finish the ethernet and firewire ports. I'll also continue to post any recordings or videos of performances... thanks for reading!


Software Demonstration

I did a short little demonstration last night for my mid-semester critique. My double handed tapping chops aren't quite up to par... actually I'm kind of sloppy at this point. But I'm working on honing this so I can rock without screwing up like I do in the video. Also, note that the keyboard is being held up with a piece of yarn. That's just temporary untill I get a guitar strap for it, and mount some points for it to attach to.



hardware almost finished, software in beta

Ok just to forewarn you, this post is a biggie. If you don't read the whole thing at least skip to the end, there's some audio & video clips!

A few weeks ago I bought a Mac Cube G4 on ebay. It's guts are perfect for fitting inside of the enclosure of the old beige mac. It's pretty compact and modular. A Mac Mini would have been a sure fit and with more computing power, but I'm trying to do this on the cheap.

Thanks steve, I'll take it from here.

I should say right off the bat that this project would not be as far along as it is without the expert help of my friend Isaac. He knows way more about computers than I do and his skill has been a great asset.

Removing the computer from the clear plastic shell is a simple task. If you turn the Cube upside down you'll see a handle. If you push it in it pops out so that you can get a grip on it. Pull on the handle while holding down the clear plastic exterior and the computer will slide right out. Pretty neat design..

This is where you need to proceed with caution as the computer is now completely exposed. When you pull the computer out it looks like this.

I was kind of bad about taking pictures at every step this time, but it's pretty straight forward. The next step is to remove the structural elements so we are simply left with the mother board, the video card, the processor, and this huge heat sink. These components are all attached to one another. So basically start removing any screws you can find and it will start to make sense. Also, unplug the antenna for the wireless card and unplug the power cables and IDE cables from the optical drive and the hard drive.

Once you have all of the excess metal removed, you'll find this little guy attached to the side opposite the handle

it's the touch sensitive power button. We'll be mounting this in the front of the beige case where the keyboard port used to be. In order for this to fit correctly I had to chop about 1/2" off one end of the board. I only did this of course after realizing that there were not any components or circuit paths on this portion of the board. Then I simply hot glued the button and it's light diffuser into place.

This places the button significantly further from the computer than it's original position, which calls for an extension of the cable connecting it to the computer. The connection had four wires, so a phone cable worked perfectly for the job.

Here's the finished extension using the connectors that fit the switch and the port for it on the mother board:

By the time I had finished the extension cable Isaac had extracted the video card, mother board, processor and heat sink from the original enclosure and put them all back together. Note, that it actually has a video card as opposed to "on board" graphics which are more common these days in Macs (having a separate video card means it can be upgraded... I think the Mac Pro is the only one without on board graphics now). Also note the three slots for RAM. This baby can fit 500MB sticks of RAM which means I'll be able to get about 1.5GB of RAM, which is a very very good thing.

Next we had to start mounting the hardware inside the beige Mac. I had saved the original metal infrastructure, and inside of where the floppy drive used to be we mounted the hard drive and the slot loading cd/dvd drive (yep, you know what that means... CDs will be loaded into the floppy disk slot!). Here's a picture of Isaac cutting a huge chunk out of the floppy drive mounting hardware in order to fit the cd/dvd drive.

Here's the finished product (note: the hard drive is mounted upside down in order to assure proper air flow between the two drives)

And here it is mounted on the larger metal infrastructure

And from behind

At this point we decided to hook everything up to make sure it all still worked, and that we hadn't broken anything. (note the touch sensitive power button installed in the beige case)

This is where we hit our first major speed bump. When I brushed the power button with my finger it powered up, and then powered down a few seconds later. It continued doing this in an infinite loop. Crap. Isaac and I were both stumped. Then I thought, maybe the hole which the power button was sticking out of was too small, and it was tripping the switch. So I pulled the switch out of the beige case and powered it up with the switch just sitting on the work bench. This did not fix the problem. Then I thought maybe my wiring was faulty, and that there could be a short circuit in the extension cable for the switch. I unplugged the switch from the mother board, and the computer powered up no problem. We tested the extension cable and there wasn't a short. Deciding to set this aside for a moment, we began installing Tiger.

Installation went well, here's the computer's first successful boot of OS X

Later that night after we had called it quits I was doing some googling about the touch sensitive circuit and found out that the problem was that it needed to be grounded! Easy cheezy.

After grounding the switch the computer powered up effortlessly. Awesome.

The next time Isaac and I got together it was time to mount the computer. Since the heat sink already had holes drilled in it we decided to attach that side of the computer to the infrastructure. Here we have measured the holes to be drilled (this is the top of the casing in which the hard drive and cd/dvd drive are mounted.

Isaac had the genius idea to use these little spacers so that there would be space between the heat sink and the metal housing the drives. This will allow for more air flow and will prevent the heat from the CPU from being transfered to the drives. I fashioned the chunk of metal on the left from scrap left over from the Cube. It will support the left side of the computer.

And here it is! It's one big pile of computer.

This is what it looks like inside the beige case

So that's as far as we've gotten on the hardware end of things. The next steps are finding a 9.5" LCD display and hacking it to fit the VGA output of the computer, extending the USB, firewire, ethernet and power ports to the back of the case, and buying lots and lots of RAM.

In the meantime I've sat down with my friend Aaron and built a pretty sweet little piece of software for turning the big blue keyboard into a synthesizer.

Although I did want to use a free open source programing environment, we built it in Max/MSP/Jitter simply because Aaron is a wizard when it comes to this stuff and I don't have enough time right now to self-teach myself Processing or PD. But maybe in the future once school is over I'll have the time to focus on this and make some nifty stuff.

I'll do my best to dissect the software here, but I am no expert in Max/MSP/Jitter so if I'm totally wrong on something please say so.

Firstly we picked a bank of 12 keys ( a standard chromatic scale) on the keyboard and told the computer to produce specific MIDI notes when these keys are pressed.

These MIDI notes are sent to an audio synthesizer. Also being fed into the synthesizer is a patch that lets me use the + and - keys to jump between octaves (we gave it a 10 octave range).

The synthesizer is a combination of a sin wave a saw wave and a square wave. It also has a delay effect built into it. The vertical position of the mouse controls the amount of delay and the horizontal position of the mouse controls how long the note is sustained.

For now the synth is monophonic (meaning I can only play one note at a time), which was a bummer at first, but it's actually really great for double handed tapping and It sounds pretty rad.

Next audio signal is interpreted into a video signal or "visualization". The background color and the color of the wave form are both fully adjustable.

Here's some audio & video clips

I'm working on making a stand-alone version of the software so I can post it here for download but it's a bit unstable right now so that's forthcoming.

Also, I'm going to do a little demonstration for my mid semester critique on wednesday, I'll post some video of that later this week.



keyboard finished!

I finished "restoring" the keyboard yesterday:

here's how i did it:
1. I took apart a crappy PC keyboard that had a PS/2 connection

2. I discarded all but the circuit board the PS/2 cable was connected to

3. Soldered 12" lengths of wire to each contact on the edge of the PS/2 circuit board

4.arranged these wires on an X and Y axis (i grouped the two small groups of wires together) and labled each wire on the Y axis with a letter, and each wire on the X axis with a number.

5. I tested all possible connections between the wires and recorded my findings (different connections cause different "keys" to be pressed" for example, when wire "C" and wire "16" are connected it produces the letter "e", of course I had to have the PS/2 connected to a computer to see these results. I used a USB adaptor and hooked it up to a mac, so i could use this nifty little tool that shows you what keys are being pressed. This is useful for determining keys that don't produce characters (i.e. delete, return, caps lock, command, alt, control). here's how to find this tool:

in system preferences, click on "international"

click the "input menu" tab, and check off "keyboard viewier". also make sure to check off "show input menu in menu bar", it should check itself automatically though.

click on the flag up near the clock, and click "show keyboar viewer"

it may take a second or two to show up, but this cute little keyboard will show up, and as you can see in my screenshot the shift and command keys are depressed because i was pressing them to take a screenshot.

here's my notes from testing the connections

6. Next I had to remove all of the printed circuit paths on the board of the big blue keyboard, because these were totally irelevant to the circuit i was making and would interfere with my wiring. To do this i turned my soldering iron up to 32V and kinda just scratched at the paths untill they peeled off. totally professional.

7. For quick reference I mapped out all of the connections I needed for each key

8. Each key on the blue keyboard is quite literally a switch, soldered directly to the board. Using my map as a reference I made extensions on the wire matrix and soldered all of the necesary connections

that's it! I used this tutorial as a guide.

I'm in the process of buying a G4 Mac Cube to put inside the old beige enclosure. I'm also in the early stages of research & development for the software. I'll be using Pure Data for the audio synthesis (open source!) and possibly Jitter for the video synthesis... unless I can figure out a way to do it with GEM, which is the open source version of Jitter and part of the Pure Data family.



mouse finished

so i finished the mouse hack. well, sort of. it works great, but i broke a few things in the process and ended up having to hot glue the origional enclosure shut. also, i totally didn't document any of the process (which i want to be able to share). so it's sortof a working prototype, i'll probably make another one so it's cleaner, and so i can document the process.


progress on keyboard

I've begun restoring the keyboard. I took the guts of a modern keyboard, and tapped all of the contacts, laying out the matrix whose relationships create the keystrokes. I've wired up some of the keys on the Ohio Scientific keyboard, and they're a bit glitchy, but nothing that can't be worked around. I also gutted the Mac M0001 (thanks, David Webber for helping me not fry my brains).