<?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>matanuki &#187; max/msp</title>
	<atom:link href="http://matanuki.com/tag/maxmsp/feed/" rel="self" type="application/rss+xml" />
	<link>http://matanuki.com</link>
	<description></description>
	<lastBuildDate>Mon, 04 Oct 2010 12:01:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Genesound</title>
		<link>http://matanuki.com/2009/12/06/genesound/</link>
		<comments>http://matanuki.com/2009/12/06/genesound/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 22:22:09 +0000</pubDate>
		<dc:creator>Tyson</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[artd369]]></category>
		<category><![CDATA[artd410]]></category>
		<category><![CDATA[max/msp]]></category>
		<category><![CDATA[niu]]></category>
		<category><![CDATA[unity]]></category>

		<guid isPermaLink="false">http://matanuki.com/?p=209</guid>
		<description><![CDATA[This is a compound final project for an Audio Art course and an Advanced Interactivity course in the Time Arts program at Northern Illinois University. It explores the concept of evolving audio within a 3D interface, which also takes on a biological aesthetic, using the Unity3D development platform coupled with MAX/MSP/Jitter. The intention was to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://matanuki.com/wp-content/uploads/2009/12/genesound_01_full.jpg"><img src="http://matanuki.com/wp-content/uploads/2009/12/genesound_01.jpg" alt="" /></a></p>
<p>This is a compound final project for an Audio Art course and an Advanced Interactivity course in the Time Arts program at Northern Illinois University.  It explores the concept of evolving audio within a 3D interface, which also takes on a biological aesthetic, using the Unity3D development platform coupled with MAX/MSP/Jitter.  The intention was to create a space that acts as a semi-controllable environment populated with &#8220;beings&#8221; that each possess a unique tone and color.  The user acts a selector, allowing a sound to propagate and diversify.  It is a consideration of beautiful procedure; although the initial tone splits and collapses into new signals mathematically, the finished chords often possess an ethereal and pleasing sound.  In this basic simulation of a natural process, I mean to illustrate how a very simple premise can lead to a complex array of sounds and sensations, with each variation containing a distinct beauty.</p>
<p><img src="http://matanuki.com/wp-content/uploads/2009/12/genesound_02.jpg" alt="" /></p>
<p>The visual space is populated by floating spheres, each colored to represent a different frequency.  When the user click on one, it splits.  This is represented visually by a mitosis-like animation created in 3DS Max.  A preset algorithm determines the path of evolution, which is presented as varying frequency, modulation, and color.  The new frequencies and modulations are stored into a multidimensional array, which is parsed into slices (representing each stage of the evolution) and passed over TCP/IP to the MAX/MSP patch.  The sound algorithm is as follows:</p>
<ol>
<li>The initial tone F0 is randomly selected from a set range.  In the current design this range is between 60Hz and 330Hz.  An initial modulation frequency is set to 0Hz.</li>
<li>The tone is split into two frequencies, F1A and F1B.  The first is a random variation on F0, the second is the harmonic overtone of F1A.  The modulation frequency is randomly raised or lowered by 1Hz.</li>
<li>F1A and F1B are split into four tones, F2A-D.  These are random variations of the prior two tones and their harmonics.  The modulation frequency is varied again.</li>
<li>These four are split again into eight tones comprised of random variations and harmonics, F3A-H.  The modulation frequency is varied again.</li>
<li>The first variation and harmonic are averaged with the following four, collapsing into six tones F4A-F.  The modulation frequency is varied again.</li>
<li>These six tones are averaged together again, created three final tones F5A-C.  The final modulation frequency is varied once again.</li>
</ol>
<p><a href="http://matanuki.com/wp-content/uploads/2009/12/soundtree_actual_full.jpg"><img src="http://matanuki.com/wp-content/uploads/2009/12/soundtree_actual.jpg" alt="" /></a></p>
<p>I originally intended to split the frequency into six distinct trails (to mirror the visual animation), but simulations of this arrangement seemed to lose definition at their peak, which would have involved 108 combined signals.  Perhaps a future implementation of this project will attempt this level of complexity.</p>
<p><img src="http://matanuki.com/wp-content/uploads/2009/12/soundtree_planned.jpg" alt="" /></p>
<p>The simulation compiles the frequencies and modulations into a multidimensional array within Unity: six generations of sound, eight channels per generation, with a frequency and modulation frequency for each channel.  On every frame, the current generation of sounds is serialized into a string which is sent over TCP/IP to a designated port.  MAX/MSP, receiving on this port, routes the string and unpacks it into a tree of frequencies and modulations, which are turned into tones and fed into the DAC.  A gain slider allows for performance tweaking, as the signal usually contains heavy distortion at 100% volume.</p>
<p><a href="http://matanuki.com/wp-content/uploads/2009/12/genesound_max_full.jpg"><img src="http://matanuki.com/wp-content/uploads/2009/12/genesound_max.jpg" alt="" /></a></p>
<p>Unity communicates with MAX/MSP using a custom implementation of the <a href="http://disis.music.vt.edu/main/portfolio.html">Mu Max-Unity Interoperability Toolkit</a> developed by the DISIS Interactive Sound &#038; Intermedia Studio at the Virginia Tech Department of Music.  The system uses a set of C# scripts within Unity to broadcast on a local port.  MAX/MSP sends and receives packets using Tom Igoe&#8217;s <a href="http://www.akustische-kunst.org/maxmsp/">netsend/netreceive plug-in</a>.  Unfortunately, the bulk of my project was written in Javascript, causing errors due to the C# scripts compiling ahead of the JS files.  I ended up re-writing several of the C# files in order to make the project work.  This was preferable to the only existing workaround, which involved placing Javascript files into a Standard Assets folder that Unity compiles ahead of the base directory.  While this will allow a JS=>C# channel, it breaks any existing C#=>JS relationships.  In my project, a C# plug-in that allows easy conversion to/from HSB Color would be interrupted by this workaround.</p>
<p><img src="http://matanuki.com/wp-content/uploads/2009/12/genesound_03.jpg" alt="" /></p>
<p>The project is available for download below, but you will need <a href="http://cycling74.com/products/">Max 5</a> installed.  If you feel particularly adventurous, you can try the software on a trial basis free for 30 days.  In order to work this simulation, perform the following steps:</p>
<ol>
<li>Open the Unity binary (Windows or OSX).</li>
<li>Open the Max patch (genesound.matpat)</li>
<li>Click <strong>connect localhost</strong> in the patch, adjust the gain bar, and turn on the DAC.</li>
<li>In the Unity simulation, click on a sphere to begin!</li>
</ol>
<p><a href="http://studio.matanuki.com/genesound/Steele_369410_FINAL.zip"><strong>Download Project</strong></a></p>
<p>Notes:<br />
- Optimal gain seems to be no more than 55-60%<br />
- The simulation may not work in Windows without downloading the Win version of netsend~</p>
<p><img src="http://matanuki.com/wp-content/uploads/2009/12/genesound_04.jpg" alt="" /></p>
<p>A video of the thing in action coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://matanuki.com/2009/12/06/genesound/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

