<?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>Luke Loeffler &#187; puredata</title>
	<atom:link href="http://lukeloeffler.com/tag/puredata/feed/" rel="self" type="application/rss+xml" />
	<link>http://lukeloeffler.com</link>
	<description></description>
	<lastBuildDate>Thu, 29 Apr 2010 20:07:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Visualizations for new Display</title>
		<link>http://lukeloeffler.com/2010/fiberoptic-visualizations/</link>
		<comments>http://lukeloeffler.com/2010/fiberoptic-visualizations/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 21:22:38 +0000</pubDate>
		<dc:creator>luke</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[puredata]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://lukeloeffler.com/?p=604</guid>
		<description><![CDATA[Over the last couple months I&#8217;ve had the chance to develop a series of &#8220;paintings&#8221; for the fiberoptic tapestry, a new display system developed by artists Ligorano/Reese. It is essentially a hand-woven canvas of optic fibers, each illuminated by an electronically-controlled LED. The result is incredibly beautiful and expressive, producing a painterly effect. I was [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/IMG_1463.JPG"><img class="alignleft size-medium wp-image-608" style="padding-right: .5em" title="IMG_1463" src="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/IMG_1463-360x249.jpg" alt="IMG_1463" width="360" height="249" /></a>Over the last couple months I&#8217;ve had the chance to develop a series of &#8220;paintings&#8221; for the <em>fiberoptic tapestry</em>, a new display system developed by artists <a href="http://ligoranoreese.net">Ligorano/Reese</a>. It is essentially a hand-woven canvas of optic fibers, each illuminated by an electronically-controlled LED. The result is incredibly beautiful and expressive, producing a painterly effect. I was mesmerized by the gently-glowing canvases the first time I saw them and was very excited to get the chance to create content for them.</p>
<p>My work has been developing visualizations that utilize the new physical display in different ways. The first visualizes air traffic over four major airports in the US, drawing moving lines to indicate aircraft taking off and landing. The second, entitled <em>Order/Disorder</em>, displayed below aggregates a number of sources for natural disaster information and draws the disasters as &#8220;tears in the fabric&#8221; of the world. Lastly, I am working to create software that reacts to the environment and responds by flashing a series of animations developed by Marshall Reese.</p>
<p>A program in Processing communicates with the hardware and serves as a hub accepting drawing commands from other software via OSC. A number of scripts in Python perform data aggregation, scraping, parsing and animation for the flight tracker. A patch in Pd performs sound analysis and drives the canvases through OSC.</p>
<p><object classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" width="640" height="480" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"><param name="autoplay" value="false" /><param name="src" value="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/order_disorder.mov" /><embed type="video/quicktime" width="640" height="480" src="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/order_disorder.mov" autoplay="false"></embed></object></p>
<p><em>&#8220;Order/Disorder</em> is a software visualization of destructive and restorative forces in the world. The software runs on an electronically-controlled tapestry of woven fiberoptic threads created by New York-based artists Ligorano/Reese. Two computer programs, named order and disorder, modify the tapestry throughout the day in response to natural and man-caused events such as earthquakes, biohazards, and aircraft accidents. Order seeks to weave a rainbow-gradated pattern representing peace and wholeness while Disorder seeks to destroy and unravel the tapestry by &#8220;tearing&#8221; the fabric and weaving in aberrant threads.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://lukeloeffler.com/2010/fiberoptic-visualizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/order_disorder.mov" length="6832221" type="video/quicktime" />
		</item>
		<item>
		<title>Reverse Engineering the Speaking Piano</title>
		<link>http://lukeloeffler.com/2010/speaking-piano/</link>
		<comments>http://lukeloeffler.com/2010/speaking-piano/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 23:18:33 +0000</pubDate>
		<dc:creator>luke</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[puredata]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://lukeloeffler.com/?p=648</guid>
		<description><![CDATA[How Puredata can be used to translate sound to a restricted sequence of discrete notes.]]></description>
			<content:encoded><![CDATA[<p>I was really intrigued by Peter Ablinger&#8217;s <a href="http://createdigitalmusic.com/2009/10/06/the-speaking-piano-and-transforming-audio-to-midi/">Speaking Piano</a> (officially titled <a href="http://ablinger.mur.at/docu11.html">Quadraturen</a>, auf Deutsch)–a system that takes human speech and translates it to a sequence of notes to be played on a piano by a bunch of solenoids, or &#8220;mechanical fingers.&#8221;</p>
<p>Since I&#8217;ve been learning Puredata, I thought it would be a fun exercise to attempt to recreate the software Ablinger wrote to translate speech to midi notes. The secondary purpose was to turn my oft-idle digital piano into an interactive sound piece, translating sound from another part of the house into music downstairs. The result isn&#8217;t perfect, but I think it still achieves the same ambiguous result where you are able to hear the voice once you see the transcript. The biggest difference is obviously that I&#8217;m using a digital piano, not a mechanically-actuated analog piano. However, the Roland has a fairly sophisticated physical model with things like dampening and string resonance, so it&#8217;s better than nothing.</p>
<p>Below are the two components to the software. Clicking the image will link to the pd file if you&#8217;d like to experiment yourself. You can either load in a pre-recorded wave file and play it back, or set the gain to the adc~ to 1 and use a microphone to drive it in real time (although I set up a delay of about 3 seconds so I could evaluate the results without hearing my own voice).  <em>delread~ </em>passes the data into <em>fiddle~</em> which does all the hard work of Fourier analysis. A metronome set to 15 ms samples the outputs of the individual sine components and creates midi notes.  The blocks that create the actual notes are <em>partial_key</em>.  The highest key on the piano is midi 108, which corresponds to 4186 Hz, so I added a low pass filter to remove frequencies that couldn&#8217;t be reproduced.</p>
<p><a href="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/talking_piano.pd"><img class=" size-large wp-image-649" title="talking_piano.pd" src="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/talking_piano.pd-681x800.jpg" alt="talking_piano.pd" width="681" height="800" /></a></p>
<p>partial_key.pd creates the midi notes which are sent to the piano. The signal makenote_b is received from the metronome, which causes the note to be made. Additionally, no note is sent if the midi key number is higher than 108, the limit of my piano, or if the amplitude is too small (&lt; 0.01).</p>
<p><a href="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/partial_key.pd"><img class=" size-full wp-image-653" title="partial_key.pd" src="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/partial_key.pd1.jpg" alt="partial_key.pd" width="377" height="378" /></a></p>
<p>Here is <a href="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/talkingpiano01.mp3">a sample of the result</a>, speaking the following: &#8220;these are very profound words, which is why they are being spoken by a piano. I hope you are forever moved by these profound words.&#8221;</p>
<p>I&#8217;d love any feedback from Puredata or DSP gurus on how the software could be improved. I&#8217;m not quite sure what sorts of additional analysis and synthesis steps are being taken in the Quadraturen software as it is not available.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukeloeffler.com/2010/speaking-piano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://lukeloeffler.com/wordpress/wp-content/uploads/2010/01/talkingpiano01.mp3" length="215863" type="audio/mpeg" />
		</item>
		<item>
		<title>Wind Carol</title>
		<link>http://lukeloeffler.com/2009/wind-carol/</link>
		<comments>http://lukeloeffler.com/2009/wind-carol/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 02:20:04 +0000</pubDate>
		<dc:creator>luke</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[puredata]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://lukeloeffler.com/?p=620</guid>
		<description><![CDATA[It&#8217;s that time of year again. Christmas is coming, snow is falling outside my window, and the wind is whistling.  Maybe it&#8217;s late, or my mind is playing tricks on me, but the wind seems a bit more coherent than usual&#8230; Musical, even. Creepy.

This is how I&#8217;d like to imagine the first Christmas–even the wind [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time of year again. Christmas is coming, snow is falling outside my window, and the wind is whistling.  Maybe it&#8217;s late, or my mind is playing tricks on me, but the wind seems a bit more coherent than usual&#8230; Musical, even. Creepy.</p>
<p><object classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" width="400" height="100" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"><param name="src" value="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/windsong.mp3" /><embed type="video/quicktime" width="400" height="100" src="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/windsong.mp3"></embed></object></p>
<p>This is how I&#8217;d like to imagine the first Christmas–even the wind crying out. And doing so subtly, not unlike the whispering symbolic language of babies and cattle stalls.</p>
<p>The idea came about from the desire to manipulate various parts of the built environment to create music as the wind is blowing. Maybe change the orientation of a sheet of metal, the size of some opening, etc. With a feedback loop, the system could progress through a melody once it detected that the desired notes of the sequence had been played. Although a composer could control the content, the weather would determine the tempo. A listener may have to wait weeks or months for the piece to complete without sufficient wind.</p>
<p>In the meantime, I created the above synthetic version of what I imagine it could sound like (though the song above would probably have to be recorded somewhere in Antarctica). The synthesized version uses a custom patch written in Pure Data to shape the frequency of white noise to follow a midi file of choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukeloeffler.com/2009/wind-carol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/windsong.mp3" length="3048050" type="audio/mpeg" />
		</item>
		<item>
		<title>Pure Data: The Swiss Army Knife of Audio</title>
		<link>http://lukeloeffler.com/2009/pure-data/</link>
		<comments>http://lukeloeffler.com/2009/pure-data/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 06:30:16 +0000</pubDate>
		<dc:creator>luke</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[puredata]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://lukeloeffler.com/?p=597</guid>
		<description><![CDATA[After a weekend workshop (thanks to Hans-Christoph Steiner and Eyebeam) on Pure Data, I&#8217;ve been tinkering with it quite a bit lately and geeking out on old signal processing stuff I haven&#8217;t touched since college.
Over the years I&#8217;ve played with a number of tools for audio processing: Matlab, jMusic, a Java library for algorithmic composition, Nyquist, a [...]]]></description>
			<content:encoded><![CDATA[<p>After a weekend workshop (thanks to Hans-Christoph Steiner and Eyebeam) on <a href="http://puredata.info">Pure Data</a>, I&#8217;ve been tinkering with it quite a bit lately and geeking out on old signal processing stuff I haven&#8217;t touched since college.</p>
<p>Over the years I&#8217;ve played with a number of tools for audio processing: Matlab, <a href="http://jmusic.ci.qut.edu.au/">jMusic</a>, a Java library for algorithmic composition, <a href="http://www.cs.cmu.edu/~music/nyquist/">Nyquist</a>, a Lisp-based synthesis/analysis environment, <a href="http://beadsproject.net">Beads</a>, another Java library for synthesis and analysis, and <a href="http://www.audiosynth.com/">Supercollider</a>, another synth/analysis environment with smalltalk-like syntax. All of these are powerful tools, but aren&#8217;t as engaging in terms of interactivity. Having been forced to use LabVIEW in the past, another dataflow language, I was initially reluctant to pick up another, but for audio work, it&#8217;s been great. It is so easy to try new ideas without any need to recompile. It&#8217;s a lot like playing with a running circuit.</p>
<p>So far I&#8217;ve used to to analyze sound and control some lighting panels to create a reactive environment, synthesize tones for my invisible chimes project, and do some other synth experiments. This brief <a href="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/pd-subtractive-synth-test.mp3">subtractive synth</a> test uses filters to shape pink noise into hazy tones forming a chord. <a href="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/Mac-Audio_recording-7.mp3">synth2</a> tinkers with sample playback and ring modulation. Next up, granular synthesis to build some instrumental Christmas music?</p>
<h3>Other Useful Audio Software</h3>
<p><a href="http://www.jackosx.com/">Jack</a> is a great tool for routing inputs and outputs on your system. It has made it really simple, for example, to send the output of iTunes to Pure Data, which allows me to sample chunks, process them, and mix it back into songs playing. I made a small program that samples chunks of the last song and then injects them into the new song when it detects beats. It also supports plugins, so you could use Pure Data as a signal processor for other programs like Logic.</p>
<p><a href="http://www.ambrosiasw.com/utilities/wiretap/">Wiretap Studio</a> is really useful for capturing any sound source on your system, doing basic waveform editing, fades, effects, and exporting to any other sound file format.</p>
<p><a href="http://rjdj.me/">RjDj</a> for the iPhone is a program that lets you download (and create, using Pd) &#8220;scenes&#8221; that generate music or process environmental sound and play it through the headphones. For example, one might identify that fan humming along at 300 Hz and re-inject overtones to change its timbre.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukeloeffler.com/2009/pure-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/pd-subtractive-synth-test.mp3" length="659490" type="audio/mpeg" />
<enclosure url="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/Mac-Audio_recording-7.mp3" length="1274076" type="audio/mpeg" />
		</item>
		<item>
		<title>Invisible Chimes</title>
		<link>http://lukeloeffler.com/2009/intangible-invisible-interactions/</link>
		<comments>http://lukeloeffler.com/2009/intangible-invisible-interactions/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 05:15:29 +0000</pubDate>
		<dc:creator>luke</dc:creator>
				<category><![CDATA[Completed Work]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[puredata]]></category>

		<guid isPermaLink="false">http://lukeloeffler.com/?p=572</guid>
		<description><![CDATA[How would we experience interaction with objects that provide no visual or tactile feedback?]]></description>
			<content:encoded><![CDATA[<p>Lately I have been exploring the idea of invisible, intangible interactive systems and how they would be experienced. So much of everyday interaction deals with sight and touch.  We rely on visual and tactile feedback to manipulate and understand physical systems. How difficult is it to understand and know a system when these two components are removed leaving only sound? Everyone has had the experience of stumbling through a dark house at night to get a glass of water, but relied primarily on the sense of touch to get by. What happens when Newton&#8217;s 3rd law no longer guides us and the glass we grasp doesn&#8217;t press back on our hand? The closest experience I can think of is the theremin, although the underlying system is limited in potential complexity.</p>
<p>The first piece I have made to explore this concept features invisible wind chimes.  When a person walks through the space occupied by the virtual chimes, they begin to ring.  Should the actor stop to explore the source of the sound, he will uncover a fine-grained, predictable, knowable system. Using computer vision techniques to detect movement in a space, real, physical objects are able to interact with virtual, &#8220;physical&#8221; ones. Although not concrete, they are still physical because a physics simulation ensures the individual chimes still hang behave in ways we know and expect.  They hang from the ceiling by strings, collide with each other (causing them to ring), swing and respond to gravity by eventually settling back to rest, and respond to touch by a soft body (muting any ringing).</p>
<p><object classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" width="640" height="480" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"><param name="autoplay" value="false" /><param name="src" value="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/invisible_chimes.mov" /><param name="align" value="left" /><embed type="video/quicktime" width="640" height="480" src="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/invisible_chimes.mov" align="left" autoplay="false"></embed></object></p>
<p><em>Invisible Chimes</em> is an intangible, interactive system that prompts us to consider how we acquire knowledge of complex systems from limited experiential data. The chimes, though installed in a space, cannot be seen, and while they can be touched, they cannot be felt. The only indication of their presence is the sound they make. Nevertheless, the system is still very much a &#8220;physical&#8221; one, in that the chimes are governed by the laws of physics. Although they can be appreciated by simply walking through them, further interaction reveals that the individual chimes can be separated, muted, and lifted, and that they behave in a predictable, understandable way. The inset video reveals the physical model the custom software uses to create the interactive system.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukeloeffler.com/2009/intangible-invisible-interactions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://lukeloeffler.com/wordpress/wp-content/uploads/2009/12/invisible_chimes.mov" length="12001511" type="video/quicktime" />
		</item>
	</channel>
</rss>
