<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Andrew Benson</title>
	<atom:link href="http://pixlpa.com/feed" rel="self" type="application/rss+xml" />
	<link>http://pixlpa.com</link>
	<description></description>
	<lastBuildDate>Thu, 08 Dec 2011 22:31:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>New Video Tests</title>
		<link>http://pixlpa.com/blog/new-video-tests</link>
		<comments>http://pixlpa.com/blog/new-video-tests#comments</comments>
		<pubDate>Fri, 23 Apr 2010 17:58:04 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://pixlpa.com/?p=297</guid>
		<description><![CDATA[In June I'll be performing with Joshua Churchill at <a href="http://soex.org">Southern Exposure</a> for the Extended Play series.  In preparation for that I've carved out some time to rework my video performance system.

<object width="428" height="240"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11159849&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11159849&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="428" height="240"></embed></object>]]></description>
			<content:encoded><![CDATA[<p>In June I&#8217;ll be performing with Joshua Churchill at <a href="http://soex.org">Southern Exposure</a> for the Extended Play series.  In preparation for that I&#8217;ve carved out some time to rework my video performance system.  The underlying architecture is pretty much the same as all the stuff I&#8217;ve done in the last year (optical-flow distortion feedback), but I&#8217;ve improved some aspects of the signal processing chain that make it possible to do some really amazing things with it besides the &#8220;live datamoshing&#8221; thing that I put together.  The general idea for my performance is that I have a camera, a flashlight, and a controller, and I make video do different things by pointing it in my face and waving objects in front of it, moving the light around, while adjusting the controls of the processing system.  Here&#8217;s a couple of test videos:</p>
<p><object width="428" height="240"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11159849&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11159849&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="428" height="240"></embed></object>
<p>Another screen test, this time with 3D color LUT for realtime color-grading instead of the 1D LUT used before.</p>
<p><object width="428" height="240"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11121532&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11121532&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="428" height="240"></embed></object>
<p>More live video tests.  1D color lookup table on the output.</p>
<p><object width="428" height="240"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11072004&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11072004&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="428" height="240"></embed></object>
<p>More live video tests. Flash lights, knob-twisting, feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://pixlpa.com/blog/new-video-tests/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pushing Pixels</title>
		<link>http://pixlpa.com/blog/pushing-pixels</link>
		<comments>http://pixlpa.com/blog/pushing-pixels#comments</comments>
		<pubDate>Tue, 01 Dec 2009 05:26:51 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://pixlpa.com/?p=240</guid>
		<description><![CDATA[Back in March, 2009 I released some GLSL shaders for Jitter that allow you to perform distortions of an image based on Optical Flow.  I sort of came up with it on accident while trying to do something else, and getting distracted during my research. 
<h2><a href='http://pixlpa.com/dome/wp-content/uploads/2007/03/hsflow-distort.zip' onClick="javascript: pageTracker._trackPageview('/downloads/hsflow_patches'); ">Download It!</a></h2>
<object width="160" height="120"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3249112&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3249112&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object><object width="160" height="120"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4434876&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4434876&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object>]]></description>
			<content:encoded><![CDATA[<p>Back in March, 2009 I released some GLSL shaders for Jitter that allow you to perform distortions of an image based on Optical Flow.  I sort of came up with it on accident while trying to do something else, and getting distracted during my research. At the time I attached them to a forum thread on <a href="http://cycling74.com/forums/topic.php?id=19283">Cycling74.com</a> and a lot of people downloaded it, and then they were ported to work in Quartz Composer by <a href="http://002.vade.info/?page_id=28">Anton Marini</a>, and then people got them to work elsewhere.  Since then I have extensively altered the algorithms and tuned the feedback processes for my specific work, but I offer the original patches and shaders here in case it helps anyone else to make something cool.  If you do, drop me a line.<br />
<h2><a href='http://pixlpa.com/dome/wp-content/uploads/2007/03/hsflow-distort.zip' onClick="javascript: pageTracker._trackPageview('/downloads/hsflow_patches'); ">Download It!</a></h2>
<p><object width="160" height="120"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3249112&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3249112&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object><object width="160" height="120"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4434876&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4434876&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://pixlpa.com/blog/pushing-pixels/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Until Every Shape Has Found Its City</title>
		<link>http://pixlpa.com/blog/until-every-shape-has-found-its-city</link>
		<comments>http://pixlpa.com/blog/until-every-shape-has-found-its-city#comments</comments>
		<pubDate>Tue, 01 Dec 2009 01:01:17 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://pixlpa.com/?p=238</guid>
		<description><![CDATA[<object width="160" height="120" float="left" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7647164&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7647164&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object><object width="160" height="120" float="left" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7646778&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7646778&#38;server=vimeo.com&#38;show_title=1&#38;show_byline=0&#38;show_portrait=1&#38;color=ff0179&#38;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object>

]]></description>
			<content:encoded><![CDATA[<p>For the show &#8220;Disintegrations&#8221; at Johansson Projects (a two-person show with Sebastien Lapointe), I created &#8220;Until Every Shape Has Found Its City&#8221;, a 3-projector site-specific, interactive video installation based on my &#8220;slorp&#8221; video-processing software instrument.<br />
<object width="160" height="120" float="left" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7647164&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7647164&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object><object width="160" height="120" float="left" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7646778&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7646778&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="160" height="120"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://pixlpa.com/blog/until-every-shape-has-found-its-city/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino SensorBox Firmware</title>
		<link>http://pixlpa.com/blog/arduino-sensorbox-firmware</link>
		<comments>http://pixlpa.com/blog/arduino-sensorbox-firmware#comments</comments>
		<pubDate>Fri, 20 Nov 2009 22:31:13 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://pixlpa.com/?p=213</guid>
		<description><![CDATA[<img src="http://pixlpa.com/dome/wp-content/uploads/2009/11/Picture-6.png" alt="SensorBox" width="424" height="444" class="size-full wp-image-214" />
Download <a href='http://pixlpa.com/dome/wp-content/uploads/2009/11/SensorBoxes.zip' onClick="javascript: pageTracker._trackPageview('/downloads/sensorbox'); ">SensorBox</a> firmware and Max 5 patches.]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_214" class="wp-caption alignright" style="width: 434px"><img src="http://pixlpa.com/dome/wp-content/uploads/2009/11/Picture-6.png" alt="SensorBox" width="424" height="444" class="size-full wp-image-214" /><p class="wp-caption-text">SensorBox</p></div>While I&#8217;m a sort of reluctant Arduino user, I often use them for classes and workshops that I teach because they&#8217;re pretty easy to get started with and cheap. Lately, I&#8217;ve been a bit disillusioned though with the firmware examples available for using the Arduino with MaxMSP, and wanted to remedy that.  I found that most of my students just wanted an easy way to connect sensors and switches to an Arduino and have that show up in Max.  While the Firmata firmware is very well designed and offers a lot of features, I have been frustrated too many times by not being able to fix bugs in the code myself.  Also, the reliance on the &#8220;arduino&#8221; abstraction has led to all sorts of problems with students who haven&#8217;t learned about file dependencies and search paths in Max.<br />
My solution was to write a very simple and relatively efficient firmware called SensorBox that just gets the input from all the pins on the Arduino and sends it over serial to a Max patch.  The communication protocol is hardly innovative, but it should give a good example of ways to efficiently transmit data over serial.   The goal was to make everything simple and readable, and to avoid any voodoo, so that others can alter and fix the code as they please.<br />
Also, since many real-world projects require more than 6 analog inputs, I wrote an alternate version of the SensorBox firmware called SensorBoxMux that allows you to configure any analog pin(s) for multiplexed input with an inexpensive 4051 8&#215;1 IC.  This offers the potential for up to 96 analog inputs on Arduino!  </p>
<p>Download <a href='http://pixlpa.com/dome/wp-content/uploads/2009/11/SensorBoxes.zip' onClick="javascript: pageTracker._trackPageview('/downloads/sensorbox'); ">SensorBox</a> firmware and Max 5 patches.</p>
]]></content:encoded>
			<wfw:commentRss>http://pixlpa.com/blog/arduino-sensorbox-firmware/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>MIDget board</title>
		<link>http://pixlpa.com/blog/midget-board</link>
		<comments>http://pixlpa.com/blog/midget-board#comments</comments>
		<pubDate>Sat, 03 Mar 2007 16:45:05 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://pixlpa.com/dome/?p=5</guid>
		<description><![CDATA[MIDget is a simple, inexpensive sensor interface based on the AVR ATTiny26.  In its current incarnation, 8 of the 11 available ADC channels are used.  This means that you can connect up to eight sensors, knobs, or whatever to the board.  The MIDget sends the 10-bit ADC value as 2 separate MIDI CC messages (1 for LSB, and 1 for MSB).  This allows you to bypass the 7-bit resolution limitation inherent to MIDI CC messages for projects that require greater sensitivity.  These 2-byte messages can be put back together inside of MaxMSP.
<a href="http://pile.pixlpa.com/midget.zip">Download Source Code</a>(gcc).
]]></description>
			<content:encoded><![CDATA[<p>MIDget is a simple, inexpensive sensor interface based on the AVR ATTiny26.  In its current incarnation, 8 of the 11 available ADC channels are used.  This means that you can connect up to eight sensors, knobs, or whatever to the board.  The MIDget sends the 10-bit ADC value as 2 separate MIDI CC messages (1 for LSB, and 1 for MSB).  This allows you to bypass the 7-bit resolution limitation inherent to MIDI CC messages for projects that require greater sensitivity.  These 2-byte messages can be put back together inside of MaxMSP.</p>
<p>Since the ATTiny26 lacks a proper UART (just has USI), a software implementation based on the Atmel AVR307 application note was used.  Since this code was written for the IAR Compiler, I had to port it to work on AVR-GCC.  Once this was completed, it was fairly easy to get MIDI messages sending from the chip.</p>
<p>Getting the ADC code to work was a little more tricky.  I was originally using the Procyon &#8220;a2d&#8221; functions, but for some reason these were not working for me.  So, I spent a bit more time and worked out my own ADC functions that turned out to be much smaller and efficient code than Procyon.  It&#8217;s nice to actually understand how that stuff works instead of just taking advantage of a pre-made function library.</p>
<p>I&#8217;m still working a couple of bugs out of the circuit, but in the end the circuit itself should cost less than $10us to build.  <a href="http://pile.pixlpa.com/midget.zip">Download Source Code</a>(gcc).</p>
]]></content:encoded>
			<wfw:commentRss>http://pixlpa.com/blog/midget-board/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

