Sunday April 4, 2010

Aftermath

This has been written about a week later, it's been a busy time here, not just BCT, but also because I'm moving house.

Monday

The week started with our Introduction to Creative Technologies lecture, and we covered  what technology has meant and it's role over the centuries. It was a bit of a dry one really.

Back in the studio, our group discussed the video production so I pulled out my USB key with a mostly completed edit. It was lacking music and could have done with some better images of the results. The group liked it and decided on music to add, as the music in the footage was predictably muffled. It took a while for the music choices to be made and I was thankful we had the video finished. I took images and music home and added them along with titles. I also had to write a reflective statement for the project which proved to be a bit difficult. Usually I'm full of things to say, as probably evidenced here, but I was ready to move on from this project and I'd put so much time into the video that the reflective statement became somewhat of an afterthought. I did manage to put some ideas to paper though. I authored the movie into a DVD image with encore, bought some blank DVDs and created the DVD.

Tuesday

Our group had to hand in all materials by 1. Our class was at 2pm instead of the usual 10am, and we gathered into the computer lab and were introduced to the next project, one that would be individual-based.  I found this rather pleasing. We were also introduced to a program called Animata, an open-source application that you can attach bones and joints to images such as jpg and png, that you import. You can then move the bones and joints and distort the image. Before 10am the next day we were to have an image of ourselves moving in some contorted way.

Also, a group of us were introduced to the 3D labs, that is, the rooms in one of AUT's buildings use for construction of woodwork, metalwork and plasters as well as spray booths and ovens and vacuum molding among other things. Rather exciting. Aside from the cost of raw materials, we now have the tools at our disposal to make whatever we can think of from those materials. This combined with the 3D printer and laser cutter is nice to be aware of.

Wednesday

In the morning we presented our homework, which involved opening it up on a lab computer or our laptops and walking around to see what everyone else has made. I was slightly stung by a difference between the Mac version and PC version of Animata, my photo was high resolution, on the PC you could zoom out. On the Mac, you can apparently zoom out, but not using the same methods. There is no documentation with this program.So it was a bit too close up to see what I'd attempted to do. Animata is kind of neat in what it can do (though there are other programs that can do these things) but it's really not very polished. Not surprising though, it's 004 release which I assume means .04 or something... or at least not near a 1.0 release.

We then started our first introduction to Max MSP, which is a visual programming environment. Behind the graphics is real code in C++ (A low level language, meaning it's powerful - most real software is created in C but very hard to understand for a beginner), but the interface is simply icons that one links up into a process. Despite the simplicity there were a few concepts one had to get familiar with or it would be hard going. One of the main concepts is in order to make a command start working it needed to be banged. - Basically sending an event "do whatever you do now" to an icon. So a Max MSP program looks sort of like a chain reaction. Max MSP is apparently used by communities of people in audio visual presentations, such as VJs and music performers, and it's easy to see why. It's simple interface is easy to program once you get used to it, it's pretty powerful and it can easily control other programs and devices, such as Ableton Live (a brilliant music creation program that has found it's way amongst big players such as Cubase, Logic and Pro Tools), and... Animata. Our homework was to use some existing examples of code that we had been given to control our Animata file with an apple remote.

Thursday

In the morning we presented our work and we'd also been told to bring in an old keyboard to pull apart. The afternoon consisted of pulling the keyboard to bits and tracking the connections to certain keys back to the circuit board in the keyboard.This was so that we could re-purpose the keyboard to be whatever on/off device we wanted. In the afternoon we were shown the engineering lab with soldering facilities and how to solder. Er, well I was busy in the computer lab and missed it, but luckily I'm rather familiar with soldering and electronics in general.

Friday

There was more keyboard work, and we were given a task for the following Tuesday. Our task was to create an Animata file (or use our existing one) and control it with our keyboard hack.

Also on Friday my new MacBook Pro turned up. The last few weeks has proven to me how much of a disadvantage it is to not have a laptop on this course and I was glad that it had turned up. You can get by, but presentations become more unpredictable as you move your working files from one computer to another, you are limited to the size of your USB stick (and 8gb was too small for the video work I was doing earlier in the week), and you are stuck in the computer lab while others are in the studio. One is more likely to go home to do stuff on the home desktop, but then you can't suddenly have a good idea and run it by a tutor because you are at home.

On the weekend I studied Max MSP, as my idea was a bit complicated. I found the keyboard hack rather easy, but I wanted to animate myself from side on walking. This was quite complex as first I had to work out the steps involved in walking, then work out how to program that in Max MSP which was out of the scope of any tutorials we had received.

Mucking around in Animata, the file I'd made of me side-on consisted of several layers, one for each limb that was animated. The process for making multiple layers in Animata is a bit convoluted, and the result isn't always what you expect (you probably can get predictable results with experimentation but the program is so clunky, one doesn't really want to bother experimenting). You cannot rearrange layers in a file once they are imported. So if you don't get it right, you have to start again. Animata has no undo either.

However, the file preview I noticed doesn't show a picture, but what looks like XML. XML is a mark up language that looks very similar to HTML but is customisable to whatever application it's made for -ie there aren't really any commands or markup, you make them up for the program you are using. The object of XML is to be both human and machine readable. Although "readable" might be a slightly rose-coloured description. This was great, all I had to do was change the file extension to .xml and load it into Dreamweaver (or any other text editor, but Dreamweaver has a collapsable code function making it easier to navigate long documents) and I could quickly work out the structure of an Animata document and take out mistake layers and reorder other layers. I did that and it worked. I had a clean file. But I was concerned that what I was doing was overly complicated and straying away from the brief for Tuesday. Plus half my weekend was taken up with checking out a new place to live...


    Thursday April 8, 2010

Human Interfaces

I'll keep this short so I can catch up with blog entries, I've had a bit of a busy/difficult time, moved out of my own HQ and in temp accommodation, very glad I have this laptop, but desk space would also be nice.

Monday Introduction to Creative Technologies, we listened to a producer and saw his show reel. I guess what I got from it was how the democratisation of video production technology hasn't just enabled average people to produce below average videos (ala YouTube) but also enabled professionals and highly creative individuals to produce great results too. I worked in the studio on the keyboard hacks and decided to abandon my complex animation as it I could do something much simpler that would demonstrate that I understood all that we had been taught so far. All we were required to do was build some sort of switch from the keyboard that controlled an animation on the computer in some way. I had a mildly amusing idea and amusing is always a good start I think.

Tuesday we demonstrated our keyboard hacks. Mine was a stress ball, when you squeezed it, thanks to a microswitch inside, a picture of a llama on screen blew up (and accompanying explosion sound). This seemed popular enough so that was nice. Something had to blow up, I chose a llama because it seemed a little bit random, a little bit funny like the first time I watched Bad Taste with the sheep blown up by a badly aimed bazooka, and finally because llamas seem to hold some odd place in internet memes.

We were then given our project, due 3 weeks from this date (The first Monday after a 2-week holiday that starts next week... well, it's already started as I'm writing retrospectively). Pretty full-on, it's to create a piece of clothing that in some way controls what is on screen. Interactive clothing. We then had a class teaching the fundamentals of MaxMSP again in more detail as some students were finding it hard going, and then we moved on to Jitter.

Jitter is a component of Max that handles video and 3D processing. It seems rather powerful, in a relatively short time we were getting it to open video and vision-mix it with our web cameras with a slider. We then controlled some chroma keying with footage that had a blue screen background.

On Wednesday we were to learn some of the 3D controls of Jitter. Unfortunately I was not able to be there as that was moving house day. I didn't move my items to a new place though, I moved them to storage so I have to do all of this again soon. But it's complicated and not what the blog is about. It's also frustrating because it's a massive distraction. My tutor was satisfied that I am capable of learning the lessons on my own though, I've always been self-taught anyway. But I'd like to have been there all the same.

Thursday, students were able to present their ideas for approval to tutors hanging around, which I wasn't able to attend due to the move and all things related, but I had a chat to a tutor later on. I did attend an induction to the textiles department in AUT and once again was impressed with the facilities (and expertise of course) at our disposal. AUT owns a machine that can essentially thread a whole garment together in 3D, eliminating the need to stitch pieces of material together as in most conventional clothing. Also owned is a machine that can print directly on to fabrics.

Friday was a public holiday.


    Tuesday April 13, 2010

Holidays! ... Er.. Holidays?

So I've had my first week off from my course, it stared with Easter, but when everyone else went back to work I remained off. Wow, being a student rocks! Well, it wasn't a complete break, we have a project and lots of study to do. This particular break is very difficult for me personally as I don't have my usual space or my desk, my desktop computer (with a mouse...) and half of my stuff is in a garage 50km away. Fortunately I have a place lined up, unfortunately it's not ready to move into for another 2 weeks. Do you know how hard it is to do a project when your not really living somewhere surrounded by all your belongings? Very very hard.

So my first week off consisted of studying. I've been reading tutorials on Jitter, pdfs on wearable technology (some of it a bit laughable tbh), and various links included in the original brief and slowly formulating ideas for this project.

I've had a few different ideas, but one challenge for me was to create something with an actual purpose, as well as demonstrating my understanding of the subject. It's all very well creating a garment that changes hues of a video when you move your arm, but why on earth would you want to do that? I had one idea of creating a jacket that sensed various gestures, perhaps you could make a squeeze motion and the video would compress, rotate motion and it rotate on a z axis. Okay not entirely useful either at first glance but it has practical applications, but more importantly it would be cool and impressive. But this demonstrates the second challenge. How on earth does one turn a keyboard hack into gestures? A keyboard is on/off, a gesture is variable. I had two possible ideas, one was to have multiple switches for one gesture to indicate the degree of movement. So it wouldn't be smooth, but there would a couple of degrees at least. Another was to create sensors that could detect variable movement fed into some sort of circuit that would then output steps depending on the amount of resistance the sensors were outputting. I'm not sure if either idea is very good or not but I can see potential headaches in the execution, particularly if one lacks a workspace. Oh btw, I'm also currently living 50km away from AUT... Joy.

Another idea was given to me by a good friend of mine with a sense of humour.  Zaphod Beeblebrox sunglasses. Zaphod Beeblebrox was a character in The Hitchhikers Guide to the Galaxy, and his sunglasses could would go black if confronted with anything scary so that he would maintain his cool composure that was so important. This was kind of a neat idea mainly for it's humour and it could possibly have been built upon but there were a few obstacles, one being I didn't come up with the idea which always disturbs me. The other is the need to make electro-chromatic sunglasses. Electro-chromatic glass (which took me a while to find out what it's name was) might in the future be available at every corner drugstore, but in 2010, it's a little hard to come by (spot the reference). But I did learn a bit out the glass, there are a few different technologies available and you can by the stuff for your home (although I imagine it's expensive). I only knew it existed because I remember watching Beyond 2000 as a kid and some story featured glass that had a layer of liquid crystal in the middle, passing current through it made it opaque.

Musical Pants

So on Sunday after skimming through the last of the Jitter tutorials, I had a look at a website called Instructibles and browsed the various tutorials in the tech section. Instructibles by the way is a website dedicated to showing you how to build or do certain things. Users make something cool document it and put up their own how-to. After looking a various fabric switches and sensors I saw a picture to the side of the page of someone tapping on his legs. Something I've been prone to do when listening to music. It suddenly occurred to me that I could add sensors to jeans and shoes and have them make actual drum kit sounds. Clicking on the picture took me to a tutorial when someone had done something similar which was a bit annoying, but fortunately his design wasn't as complex as the idea I have, I want to incorporate 6 - 8 different drums, his has 2. Also mine incorporates an optional shoe attachment. What would be pretty good here is Microsoft's experimental pressure-sensitive keyboard to alter the volume of the drum pieces, although I have no idea how it works and how easy it would be to hack. Then there is the getting working drivers for a mac. Yeah...

I could create sensors that have a dual response, doubling the number of keys used in the keyboard hack part, but my aim is to keep this thing fairly simple due to having limited time and limited workspace (AAARGH!!).


    Sunday April 18, 2010

In the face of adversity

I just don't believe how this project has gone. Well I sort of do. I knew it was going to be difficult while living out of a suitcase, but just how difficult it's become is unbelievable.

The second week I knuckled down on the project now that I knew what I was doing. I did a bit more research on Monday and had decided to head into AUT that week. Living more than 50km away, that could be a bit expensive with petrol and then there is parking and just the time it takes to get there and back. I know people who live in the city so I can crash somewhere, although parking costs are completely unbelievable. It can cost $22 a day in the city. On Tuesday I tried to see what I could do at home still, procrastinating the costs of getting and staying in the city. I then discovered that I could actually get a lift into the city, the only caveat being I'd be leaving home at 6am.

So why am I telling you all of this? Because all of this life admin has been has been an overriding theme this holiday and I'm really annoyed.

On Wednesday I came into AUT, I was able to get a lift later in the day through alternative means, first heading to a garage where most of my belongings are to get a few things I'd need later in the week. At AUT in the afternoon, I mucked around with MaxMSP working out how to load sounds into memory for later playback. This took quite a while. I knew how to load sounds straight from disk as needed, but with 8 sounds, I didn't want any lag. So I had to work out with the help of the documentation how this was done. Things don't always work the way you expect them. I also needed some decent drum sounds and first trawled this mac's harddisk as it has some music and audio software installed, but that was mildly fruitless, I didn't really like what I found. I went home and searched the internet. It's a little bit annoying, I'm pretty sure I have a decent drum kit or 2 on my desktop computer. The one that is packed away.

Thursday and Friday were both the 5:30am starts, getting into AUT at 7. I was able to put a lot of time into the code, but really, I'm a bit annoyed at how long it took just to get a program that played a sound when you hit a certain key. It's really simple, but I just had a raft of newbie issues. Friday afternoon I bought a soldering iron, a stand and some solder. I'd quite have liked to get some extra flux as I'd be soldering to a sanded circuit board and the copper would probably oxidise straight away making it hard to solder to, but couldn't find that. I also bought 50m of black wire for $6. Multiple colours would have been handy, but I could get by just tagging the wires as I went. But I felt mostly prepared to build the jeans. Sort of. I'd be improvising with some house hold materials to make sensors, but I thought it would probably work.

Saturday was the big day of making the jeans with sensors, I found and old pair of jeans and started making the sensors. They were made from polystyrene foam sandwiched between 2 layers of tinfoil. Wires were taped to the foil and it was all taped together with masking tape. Low budget but as long as they worked. These sensors were then wrapped around a piece of chucks cloth which was then sewed to the jeans. Wires were to be routed down the seams. Oh it all sounds so easy. It kind of would have been too, but first my multimeter stopped working. Well, more annoying, it was no longer a reliable continuity tester, it seemed one of it's leads was broken.

When I went to sew in the sensors, the sewing machine started to jam, and after a couple of hours of mucking around trying to work out just why it was jamming, decided to hand sew the rest. Now I was starting to get behind schedule so I opted to get some fabric tape to tape up the wires on the inside. Nearest service station, 8km. Living in the wops was getting on my nerves. I had a birthday dinner to go to, so that was it for Saturday.

Sunday, I taped up the wiring and started soldering the keyboard hack up. I'd opted to connect a parallel printer cable to the keyboard circuit board as, and make a connector at the jeans. This would allow me to unplug them and not get tangled up when demonstrating the project. It was all going okay except a few joints at the printer connector end did not want to solder, and a couple of wires at the keyboard end. Wishing I had the flux... Eventually I did manage to get everything except 2 wires at the keyboard end soldered, tested it, and everything worked. But those 2 wires then went on to cost me a lot of time. One in particular would not solder. To cut a long story short, my constant attempts to solder it, the heat must have spread to the integrated circuit and fried the hack. It stopped working. There was another old keyboard lying around so I started pulling that to bits, and went through the entire process of determining the keyboard mapping again. Except this time I had to make sure it fit the jeans that were already wired. Once again I had trouble soldering. Now, I'm not totally inexperienced with soldering, I've done quite a bit. But this would not work.

When I went to test it, nothing happened. At this point I was about to throw in the towel. Very frustrated at my lack of workspace, the fact that half my stuff is 50km and I can't find anything. It's all made this project that would otherwise have been fairly simple, into a complete nightmare.

However, I realised that I was testing it with my MaxMSP program that is only looking for certain keys, and my key mappings have changed. I tested it in a text editor and it did work after all. So I persevered and finished, set up the shoe part and then moved to other parts of the project... Like... The video demonstration. Ah yes,  I have my video camera but my Firewire cable in in a box in Auckland. So is the tripod. I have a digital camera though, it takes video, so I used that. It sat on a bench at a crap angle. Videos look like they are 15fps.

I made the vide, did a bibliography, made a reflective statement and.. came here. I've been up all night. It's due at 12. Everything except the visualisation is done, which I thought I'd have been able to do on Thursday. No Friday. No, Sunday... Oh and on that, part of the original visualisation was to have video footage in the background (under splotches of colour that blobbed in time to the music), but the internet got wound down to 56kbps so youtube was unusable. I'd tried to change the plan a few days before it happened but... nevermind.

Very annoyed, but I move into a new place next week. But I suppose then I'll be back to working in groups.

Update: I've been able to at least make a mockup of the visualisation in Premiere Pro.

Once I'm moved, I'll decorate this blog with pictures and video.