<?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>Cycling 74</title>
	<atom:link href="http://cycling74.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cycling74.com</link>
	<description>Tools for Media</description>
	<lastBuildDate>Mon, 06 Feb 2012 23:39:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Gen Patch-a-day</title>
		<link>http://cycling74.com/2012/02/06/gen-patch-a-day/</link>
		<comments>http://cycling74.com/2012/02/06/gen-patch-a-day/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 21:24:32 +0000</pubDate>
		<dc:creator>Darwin Grosse</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[gen]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://cycling74.com/?p=16384</guid>
		<description><![CDATA[Get helpful and fun examples of Gen, the new Max add-on.]]></description>
			<content:encoded><![CDATA[<p>The <a href="/2011/11/11/november-patch-a-day/">MGraphics patch-a-day series</a> was very successful, so it&#8217;s time for a Gen patch-a-day! This time, though, a few things change. First of all, instead of doing these all myself, you will have a guest presenter each day. These presenters are the members of the Cycling team that develops educational content (internally called the Material Team), so you will get a variety of viewpoints, patching styles and levels of complexity. It is our desire to add some interesting and understandable Gen content to the mix.</p>
<p>
Also, we will only be posting on weekdays &#8211; it is skiing season, and I want everyone to be able to hit the slopes&#8230;
</p>
<p>
In other words, it uses my webcam to do creepy and flaming images of myself. I use pretty elementary techniques, so it should be pretty easy for everyone to follow. But I happen to really like feedback, and the results of this are pretty fun.&#8211; [ddg]
</p>
<ul>
<li><a href="http://cycling74.com/forums/topic.php?id=37876">Follow the Forum discussion thread</a> to hear about people&#8217;s experiences and share your own.</li>
</ul>
<h2>Day 1</h2>
<p>
I&#8217;m kicking this off with a very simple jit.pix patch that I use an awful lot: a patch that does threshold-based binary sampling, then provides offset and jittered feedback.
</p>
<ul>
<li><a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gen_patchaday/3291.GenPAD01.maxpat.zip">Download the Patch</a></li>
</ul>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gen_patchaday/day1.jpg" /></p>
<h2>Day 2</h2>
<p>The super-secret Cycling &#8217;74 algorithm has chosen me today, and I&#8217;m going to throw another Jitter patch into the mix (A note to gen~ fans: It&#8217;s just the luck of the draw that we started with two Jitter patches in a row. Don&#8217;t despair &#8211; there is plenty of audio fun on the way). Today&#8217;s jit.pix patch uses very simple means and makes extensive use of the fact that Jitter gen objects work with floating point data in the range of 0. &#8211; 1.0 when addressing the position of a pixel and sampling it. When combined with a few trig objects and the ability to sum, wrap, and fold data, there is room for all kinds of warpy fun. </p>
<p>To experiment with using 32-bit float precision in the jit.pix object, just add an attribute to the jit.pix object so that it reads [jit.pix @precision float32], and you&#8217;re good to go. Quite a lot of the adorable cruft that I found so fetching about the patch will be gone, but you may find the smooth results considerably more to your liking. In many cases, they *do* look more like a funhouse mirror. Please enjoy this patch responsibly. &#8212; <a href="http://cycling74.com/author/gtaylorrtqenet/">gregory</a></p>
<ul>
<li><a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gen_patchaday/3298.Jitgenfunhouse.zip">Download the Patch</a></li>
</ul>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gen_patchaday/day2.jpg" /></p>
<h2>Day 3</h2>
<p>
This patch does a kind of gritty Buffershuffler-esque reordering of the last bar of audio. I&#8217;ve hard coded it with crusty old drumLoop.aif to reduce clutter in the patch, but you&#8217;ll be able to pretty easily open it out to other files or live input.You&#8217;ll need both Overdrive and SIAI on so that the phasor~ @lock is steady. HAPPY PATCHING!!!!!!! &#8212; <a href="http://cycling74.com/author/apask/">Andrew</a>
</p>
<p>
Next steps to take in its evolution could be:
</p>
<ul>
<li>adding variation to the amount of history being collected</li>
<li>auto changing the number of steps</li>
<li>adding an envelope to each step</li>
<li>changing the direction of playback of a step</li>
<li>copying out parts of audio history into other buffers so that you build up a more diverse history of audio</li>
</ul>
<ul>
<li><a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gen_patchaday/3300.GenPAD03.maxpat.zip">Download the Patch</a></li>
</ul>
<h2>Day 4</h2>
<p>Here&#8217;s my bunt for all the noobs in the house. This patch is so simple, don&#8217;t even look inside! OK, you can look. You&#8217;ll see how some really useful things can be super easy in gen.</p>
<p>If you&#8217;re on the move with your camera, got your exposure set on your highlights, but the image is still too dark, here&#8217;s a quick way to &#8220;brighten things up&#8221; that&#8217;s safer than boosting brightness.</p>
<p>HP! < -- <a href="http://cycling74.com/author/lescycling74com/">Les</a></p>
<ul>
<li><a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gen_patchaday/3311.jit.pix.gamma.maxpat.zip">Download the Patch</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/2012/02/06/gen-patch-a-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search Results</title>
		<link>http://cycling74.com/search-results/</link>
		<comments>http://cycling74.com/search-results/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 19:29:04 +0000</pubDate>
		<dc:creator>ginger</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?page_id=16382</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/search-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Springs Period &#8211; Petal Ignited</title>
		<link>http://cycling74.com/project/springs-period-petal-ignited/</link>
		<comments>http://cycling74.com/project/springs-period-petal-ignited/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 17:54:55 +0000</pubDate>
		<dc:creator>greg reeves</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=16156</guid>
		<description><![CDATA[&#8220;Petal Ignited&#8221; is the first release by Springs Period. This is heavily improvised abstract electronic music with a free-jazz bent (Cecil Taylor was a big influence on it). The recordings are all live Max/MSP performances of the compositions, using a performance patch that includes modified &#8220;chuckers&#8221; and granulators to manipulate pre-recorded samples, generative midi players, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/300716622-springspetalfchires.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>&#8220;Petal Ignited&#8221; is the first release by Springs Period. This is heavily improvised abstract electronic music with a free-jazz bent (Cecil Taylor was a big influence on it). The recordings are all live Max/MSP performances of the compositions, using a performance patch that includes modified &#8220;chuckers&#8221; and granulators to manipulate pre-recorded samples, generative midi players, and synthesis within Max (thanks to the wonderful book by Maurizio Giri and Alessandro Cipriani for help with the synth-building).  The palette is minimal, with the idea of a small jazz combo in mind, but using the treated samples and synthesis within Max in place of the traditional instrumentation.</p>
<p>The track &#8220;Cadenza Antenna&#8221; is currently available for free download from the Bandcamp link provided.</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/springs-period-petal-ignited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gen Tutorial 2b: Adventures in Vectorland</title>
		<link>http://cycling74.com/2012/02/02/gen-tutorial-2b-adventures-in-vectorland/</link>
		<comments>http://cycling74.com/2012/02/02/gen-tutorial-2b-adventures-in-vectorland/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 18:00:52 +0000</pubDate>
		<dc:creator>Gregory Taylor</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[parameter]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://cycling74.com/?p=16198</guid>
		<description><![CDATA[The jit.pix-based patches we created in our last tutorial do cool things and use patching techniques that will probably be accessible to the average Max user, they&#8217;re not all that they could or should be as Jitter Gen patches. Don&#8217;t get me wrong &#8211; they make sense and introduce the idea of swizzling data from [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/gen2b_little.png" align="left" /></p>
<p>
The <strong>jit.pix</strong>-based patches we created in our last tutorial do cool things and use patching techniques that will probably be accessible to the average Max user, they&#8217;re not all that they could or should be as Jitter <strong>Gen</strong> patches.
</p>
<p>
Don&#8217;t get me wrong &#8211; they make sense and introduce the idea of swizzling data from a vector in the Jitter Gen world. And they work just fine as patches. But one of the things that&#8217;s really cool about working with Jitter Gen objects has to do with working with vectors as you patch.
</p>
<p>
In the Jitter Gen universe, the vector reigns supreme, and we&#8217;re going to take this tutorial to get you used to the idea of thinking in terms of vectors as collections of data (as opposed to the individual bits of data we worked with in the first of these two tutorials), and show you how to patch more fluently and efficiently.
</p>
<ul>
<li>
<a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/gen_tutorial2b_patches.zip">Download the patches used in this tutorial</a>.</li>
<li><a href="/2012/02/02/gen-tutorial-2a-the-joy-of-swiz">Read Part 2a: The Joy of Swiz</a></li>
</ul>
<p>
If you&#8217;re a beginner, thinking in terms of vectors involves developing some simple habits of thought about how to combine, split, and recombine data as you patch. To help you along, we&#8217;re going to take some of the patches we created in <a href="/2012/02/02/gen-tutorial-2a-the-joy-of-swiz">Gen Tutorial 2a</a> and rewrite them so that they make use of vectors and are more “gen-like” and efficient. In many cases, the resulting patches will be a good deal more compact.
</p>
<p>
One of the first things we mentioned in describing the Jitter family of Gen objects is that the <strong>jit.pix</strong> and <strong>jit.gl.pix</strong> objects both operate on matrices that represent 2d images.
</p>
<p>
As a result of their image orientation, these two objects allow us to do something interesting &#8211; when we work with vectors, we often don&#8217;t need to use the <strong>vec</strong> operator at all when patching. In some cases, we don’t even need to swiz out individual bits of data. If we operate on aggregate data, we can take example of some special features of the <strong>jit.pix</strong> and <strong>jit.gl.pix</strong> objects.
</p>
<h2>My First Vectorization</h2>
<p>
In the Gen Tutorial patch <em>colormap_3a</em>, we took a patch that originally operated on aggregate input data and swizzed out the individual color values (r, g, b, and a) in order to be able to set parameters for the red, green, and blue planes individually for greater variety. Here’s what’s inside of the <em>colormap_3a</em>  tutorial patch’s <strong>jit.pix</strong> object:
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/colormap_3a-insidesSM.png" /><br />
<a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/colormap_3a-insides.png" target="_blank"><h7>View the full-sized screen shot.</h7></a></p>
<p>
You’ll notice that the patch is composed of three sections, each of which has a <strong>swiz</strong> operator at the top. When a new matrix/vector arrives in the <strong>in 1</strong> input object, the red, green, and blue values are unpacked/swizzled.
</p>
<p>
Each of these values is a floating-point number in the range 0. – 1.0, and the three portions of the patch process each color value independently of the others using the same logic.
</p>
<p>
At the very bottom of the patch, you’ll see a <strong>vec</strong> operator, which we used to pack the individually manipulated parameter values back together into a vector for output.
</p>
<p>
When we did all this duplication, all we needed to do to accommodate the additional channel processing was to change the names of the <strong>param</strong> operators when we duplicated the functionality from our earlier tutorial patch.
</p>
<p>
That’s fine as far as it goes, but it doesn’t go far enough.
</p>
<p>
So far, I&#8217;ve talked about the <strong>swiz</strong>/<strong>vector</strong> pair as operators that work like the Max <strong>pack</strong> and <strong>unpack</strong> objects &#8211; they provide a way of taking a group of data and breaking it up into individual pieces that you can modify individually and then repack and send on their way. Introducing the process in terms that most Max users can quickly grasp may make experimenting in Gen seem a bit less scary, but it&#8217;s not the whole story. The patches in Tutorial 2a were correct and worked properly, but they didn’t take full advantage of the ability of working with vectors in Gen.
</p>
<p>
It’s been my experience to date that people encountering Jitter Gen objects for the first time initially find vectorization confusing, but it’s really not that difficult to get used to. The original patch is a perfectly legitimate way to do color mapping and it will work fine when used inside of a Gen patch. But look more closely &#8211; you&#8217;ll notice that there are three collections of Gen operators that are performing the same kinds of operations on the red, green, and blue portions of each pixel in the image.
</p>
<p>
Even though we might be working with different parameter values and settings for function and inversions for each of the three colors, the calculations we perform and send to the <strong>vec</strong> operator are the same in each case – only the parameter names are different.
</p>
<p>
When we work with vectors in Jitter Gen objects, we can combine the set of three similar calculations into one calculation where <em>all three color channels are processed in tandem by treating them as a vector</em> (you might want to think of the vector at this point as a list that contains three values). When we do that, each Gen operator down the line then performs a calculation on each of the color values contained in the vector. Once we regroup things in this way, each parameter in our our patch will take three three-item lists as inputs, where each list contains the parameter values associated with each of the three colors.
</p>
<p>
So how do we do that? First, we modify the <strong>param</strong> objects that provide the interface to the patch. In place of the three param objects for the modes we want to apply for each color, we create a single param object with three arguments (<strong>param mode 0. 0. 0. </strong>). This operator describes the vector we&#8217;re working with as having three items and also sets their default values. Similarly, we group the amp parameters that set the values we&#8217;ll feed to the sine or cosine operator (<strong>param amp 2. 2. 2. </strong>). Finally, we can replace the inversion parameters with a single param object with three args that will, by default, set our patch to pass its input in unaltered form (<strong>param invert 0. 0. 0.</strong>).
</p>
<p>
Tutorial patch <em>colormap_3b</em> shows what our vectorized patch looks like. It’s a lot simpler, once you understand how we can combine operations into vectors.
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/colormap_3b-insides.png" /></p>
<p>
In addition to our combining operations into vectors, you’ll notice that the vectorized patch no longer contains <strong>swiz</strong> or <strong>vec</strong> operators. You’re seeing a neat feature of the <strong>jit.pix</strong> and <strong>jit.gl.pix</strong> objects in action – since we’re swizzing out the red, green, and blue values as a single vector and operating on that vector, we don’t really need to unpack (<strong>swiz</strong>) or pack (<strong>vec</strong>) it up – we just pass the vector through the patch logic and output the result.
</p>
<p>
<em>The clever reader may be wondering why it is that there’s no reference to the image’s alpha channel in sight anywhere in the patch. That’s because the <strong>jit.pix</strong> object has a particularly useful feature &#8211; If you send a three-element RGB vector to the <strong>out 1</strong> operator, the <strong>jit.pix</strong> object will convert it to an RGBA value by automatically adding an alpha channel with a value of 1.0. Sure makes things easier, doesn’t it?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/2012/02/02/gen-tutorial-2b-adventures-in-vectorland/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gen Tutorial 2a: The Joy of Swiz</title>
		<link>http://cycling74.com/2012/02/02/gen-tutorial-2a-the-joy-of-swiz/</link>
		<comments>http://cycling74.com/2012/02/02/gen-tutorial-2a-the-joy-of-swiz/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 18:00:13 +0000</pubDate>
		<dc:creator>Gregory Taylor</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[calculations]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[gen]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[intro]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[quick]]></category>

		<guid isPermaLink="false">http://cycling74.com/?p=16190</guid>
		<description><![CDATA[A two-part introduction to Gen objects in Jitter]]></description>
			<content:encoded><![CDATA[<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/gen2a_little.png" align="left" /></p>
<p>
Welcome to the second in a series of “drive-by” tutorials – quick introductions to the world of Max <a href="/products/gen/">Gen objects</a>. While the Gen world is deep and subtle and you may eventually find yourself thinking about things like polar coordinate conversion, dot products, and other bits of arcana, you can still do some rewarding things armed with a few basic concepts and the will to play.
</p>
<ul>
<li>
<a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/gen_tutorial2a_patches.zip">Download the patches used in this tutorial</a>.
</li>
<li><a href="/2012/02/02/gen-tutorial-2b-adventures-in-vectorland">Read Part 2b: Adventures in Vectorland</a></li>
</ul>
<h2>Reading This Tutorial (And The Next One)</h2>
<p>
You’ll notice that this is Gen Tutorial <em>2a</em>, and that it showed up alongside its fraternal twin <a href="/2012/02/02/gen-tutorial-2b-adventures-in-vectorland">Gen Tutorial <em>2b</em></a> on the very same day. They’re closely related, but very different. In this first tutorial, we’re going to introduce some basic concepts about working in the Jitter <strong>Gen</strong> environment in ways that closely resemble your experience in the Max world.
</p>
<p>
Our suggestion is that you go through Tutorial 2a, learn about swizzling, play around with the patches and then dive right back into Tutorial 2b. The second part of the tutorial takes the concepts you learned and the patches we showed you and rewrites them with more efficiency by making use of the vector nature of the Jitter Gen environment.
</p>
<h2>The Lay of the Land</h2>
<p>
While the programming you do inside of any Gen object looks and feels like regular Max patching (connecting object boxes together with patch cords in ways that show you the flow of data), there are some important differences that are useful to know when you begin.
</p>
<p>
The Jitter Gen objects are no exception. They’re even a little different than the <strong>gen~</strong> object you use for audio processing, in fact.
</p>
<ol>
<li>
The things that happen inside of a Gen object are synchronous – there are no triggers and there’s no notion about the order in which things happen. In the Jitter world, the basic unit of data is a <em>vector</em>, which we’ll describe in greater detail in a minute. For now, think of this vector as a way to collectively describe a group of single pixels rather than a frame of video. Actually, it’s more correct to think of it as though you’re performing the same operation on <em>every single individual pixel</em> (unit of data) in the entire matrix at once.
</li>
<li>
To provide user input used for calculations and transformations inside a Jitter Gen object, we use the Gen <strong>param</strong> operator.
</li>
<li>
Most of the Jitter family of Gen objects only allow you to have a single outlet for your objects – you can have as many single matrix inputs as you’d like (each of which represents a single matrix), but only one output. The <strong>jit.gen</strong> object is the only exception to this rule.
</li>
<li>
There’s no way to retain the value of the pixel you’re working on from one operation to the next &#8211; if you’re familiar with the <strong>gen~</strong> object, there’s no such thing as a <strong>history</strong> operator for Jitter Gen objects that you’d use for interpolation or filtering or delays (Don’t worry – there are ways to do what you’d use a history object for, which we’ll talk about in another tutorial).
</li>
</ol>
<h2>Meet the family</h2>
</p>
<p>
The first thing you’ll notice about using Gen in the Jitter world is that there are three objects instead of one. Here’s how they differ:
</p>
<p>
The <strong>jit.pix</strong> and <strong>jit.gl.pix</strong> objects are made for standard Jitter 2d image processing. They work with input matrices with 1 to 4 planes, and treat incoming data like image data. The <strong>jit.gl.pix</strong> differs from the <strong>jit.pix</strong> object in that does all its work on the GPU (Graphics Processing Unit) instead of your CPU.
</p>
<p>
The <strong>jit.gen</strong> object is a general matrix processing object that works with any type of data that a matrix can contain (e.g. OpenGL).
</p>
<p>
In (both halves of) this tutorial, we’re going to be working with the <strong>jit.pix</strong> object.
</p>
<h2>Maps Make the Journey More Interesting</h2>
<p>
As we’ve said before, when you work with Jitter Gen objects, it’s easiest to think of it as performing the same operation on <em>every single individual pixel</em> (unit of data) in the entire matrix at once.
</p>
<p>
At a very low level, that’s how things like the <strong>jit.op</strong> or <strong>jit.expr</strong> objects work – a single operation is performed on each and every individual cell of the matrix or some part of the matrix, and the result of the calculations inside of your Jitter Gen object pops out the outlet of the object as a single matrix.
</p>
<p>
Let’s start with a really simple Jitter Gen patch. I’m a big fan of color mapping as a way to generate visual variety, so I&#8217;m going to start with a simple Gen patch that uses a cosine function to do some color remapping.
</p>
<p>
The inside of the <strong>jit.pix</strong> patch is much simpler than you might think from watching its output, but that’s because the relatively straightforward calculations on the inside of the patch are being applied to each and every pixel in the image (actually, the calculations are being performed on each and every pixel in the alpha, red, green, and blue planes).
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/colormap_1-insides.png" /></p>
<p>
<em>Note: If you’re accustomed to only working with color in Jitter as char data in the range of 0 – 255, you might be wondering where the color processing is. Jitter actually has an additional way of specifying and working with color values &#8211; floating point values in the range of 0 &#8211; 1.0. In genland, colors are always specified using floating-point numbers. </em>
</p>
<p>
Each input pixel is multiplied by an input value and then used as the input to a cosine function. Since we know that cosine functions output values in the range from -1.0 to 1.0, we’ll multiply the cosine function’s output by 0.5 and then add 0.5 to produce values in the 0. – 1.0 range that we expect for colors. The result is quick and easy color remapping &#8211; I particularly like the kind of results you get from using large values for the amp parameter.
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/colormap_1-patchSM.png" /></p>
<p>
Of course, we could replace the <strong>cos</strong> operator with any other kind of calculation we could think of (a <strong>sin</strong> operator would also work well, since its outputs fall into the same range as that of the <strong>cos</strong> operator), as long as we know in advance what the maximum and minimum values for the output range is so that we can coerce them into the 0. – 1.0 range.
</p>
<p>
In fact, the tutorial patch <em>colormap_2a</em> does precisely that. The patch not only adds the ability to pass the output unchanged, to select from either cosine or sine mappings, but also lets you choose to pass the data unchanged or invert its output for the passed or processed images. Here’s what the patch inside our <strong>jit.pix</strong> object looks like now:
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/gt_gen2/colormap_2-insides.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/2012/02/02/gen-tutorial-2a-the-joy-of-swiz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Latch Object</title>
		<link>http://cycling74.com/toolbox/latch-object/</link>
		<comments>http://cycling74.com/toolbox/latch-object/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 16:01:37 +0000</pubDate>
		<dc:creator>bennyfromtheblock</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=toolbox&#038;p=16251</guid>
		<description><![CDATA[An object for latching on to data streams once a specified number is reached. Useful for avoiding jumps in data such as in UI&#8217;s where a controller and a mouse might be in use for adjusting the same parameters&#8230;.. see the help file for a demonstration/better explanation. Please let me know what you think]]></description>
			<content:encoded><![CDATA[<p>An object for latching on to data streams once a specified number is reached. Useful for avoiding jumps in data such as in UI&#8217;s where a controller and a mouse might be in use for adjusting the same parameters&#8230;.. see the help file for a demonstration/better explanation. Please let me know what you think</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/toolbox/latch-object/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wave Exchange</title>
		<link>http://cycling74.com/project/wave-exchange/</link>
		<comments>http://cycling74.com/project/wave-exchange/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 17:18:44 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15963</guid>
		<description><![CDATA[Real-time waveform effects-chain processing &#160; :: features :: Drag-and-Drop audio files for rapid modification Manipulate audio playback &#8212; dynamic looping, playback speed modulation, frequency modulation, forwards/reverse, dynamic pitch control Loop-sync recording &#8212; automatically start and stop recording to a selected area &#8212; easily process loops and fragments Re-record audio with real-time effects and playback manipulation [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/771744361-waveexchange1cyc.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Real-time waveform effects-chain processing</p>
<p>&nbsp;</p>
<p><span style="font-size: medium">:: features ::</span></p>
<p>Drag-and-Drop audio files for rapid modification</p>
<p>Manipulate audio playback &#8212; dynamic looping, playback speed modulation, frequency modulation, forwards/reverse, dynamic pitch control</p>
<p>Loop-sync recording &#8212; automatically start and stop recording to a selected area &#8212; easily process loops and fragments</p>
<p>Re-record audio with real-time effects and playback manipulation (playback speed/direction, playback modulation and audio signal modulation)</p>
<p>Basic waveform editing &#8212; cropping, normalization</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>Recording &#8212; record as you play</p>
<p>Save/Load all effect settings</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/wave-exchange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio Plugin Player</title>
		<link>http://cycling74.com/project/audio-plugin-player/</link>
		<comments>http://cycling74.com/project/audio-plugin-player/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 17:16:42 +0000</pubDate>
		<dc:creator>Dan Nigrin</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=16147</guid>
		<description><![CDATA[Audio Plugin Player is a lightweight VST and AU instrument plugin host for Mac OS X, that allows you to play these instruments using either your mouse, computer keyboard, or MIDI device (both hardware and software MIDI devices supported).  It has a simple, one-screen interface, that will let you start making music with your favorite [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1386099789-AudioPluginPlayerSS.png" alt="This image has no alt text" style="max-width:358px;"></p><p>Audio Plugin Player is a lightweight VST and AU instrument plugin host for Mac OS X, that allows you to play these instruments using either your mouse, computer keyboard, or MIDI device (both hardware and software MIDI devices supported).  It has a simple, one-screen interface, that will let you start making music with your favorite audio instrument plugins in seconds – just choose your plugin, make your input and output choices, and you&#8217;re ready!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/audio-plugin-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harmonic Architect</title>
		<link>http://cycling74.com/project/harmonic-architect/</link>
		<comments>http://cycling74.com/project/harmonic-architect/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 00:07:04 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15960</guid>
		<description><![CDATA[Additive harmonic sound design :: features :: Create unique sounds from scratch Draw in a graph of up to 100 harmonics with graphic amplitude control for each Precise harmonic design via numeric input Resonator to dynamically apply pitch to sounds Easy MIDI mapping of controls and effects Full suite of effects &#8212; delay, reverb, distortion, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1939272388-harmonicarchitect1cyc.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Additive harmonic sound design<br />
<span style="font-size: medium">:: features ::<br />
</span><br />
Create unique sounds from scratch</p>
<p>Draw in a graph of up to 100 harmonics with graphic amplitude control for each</p>
<p>Precise harmonic design via numeric input</p>
<p>Resonator to dynamically apply pitch to sounds</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>Recording &#8212; record as you play</p></div>
<div>
Save/Load all instrument and effect settings</div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/harmonic-architect/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>helpers 1.0</title>
		<link>http://cycling74.com/toolbox/helpers-1-0/</link>
		<comments>http://cycling74.com/toolbox/helpers-1-0/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 20:09:21 +0000</pubDate>
		<dc:creator>wojciechmorawski</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=toolbox&#038;p=16164</guid>
		<description><![CDATA[Below you can download helpers_1.0 – my collection of max msp audio patches designed to speed up coding process. Feel free to use it and share it with others. Enjoy! Download]]></description>
			<content:encoded><![CDATA[<p>Below you can download helpers_1.0 – my collection of max msp audio patches designed to speed up coding process. Feel free to use it and share it with others. Enjoy!</p>
<p><a title="helpers_1.0" href="http://dl.dropbox.com/u/9078068/permanent/helpers_1.0.zip" target="_blank">Download</a></p>
<p><a href="http://wowojciechmorawski.files.wordpress.com/2012/01/zrzut-ekranu-2012-01-27-o-23-33-11.png"><img class="alignnone size-full wp-image-303" src="http://wowojciechmorawski.files.wordpress.com/2012/01/zrzut-ekranu-2012-01-27-o-23-33-11.png" alt="" width="500" height="629" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/toolbox/helpers-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noiseplug 1.8</title>
		<link>http://cycling74.com/project/noiseplug-1-8/</link>
		<comments>http://cycling74.com/project/noiseplug-1-8/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 17:27:31 +0000</pubDate>
		<dc:creator>smider</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=16145</guid>
		<description><![CDATA[free modular sound design suite for real-time performance]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1221856066-Schermata20120128a18.01.54.png" alt="This image has no alt text" style="max-width:358px;"></p><p>free modular sound design suite for real-time performance</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/noiseplug-1-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freq Mod</title>
		<link>http://cycling74.com/project/freq-mod/</link>
		<comments>http://cycling74.com/project/freq-mod/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 22:24:42 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15957</guid>
		<description><![CDATA[Flexible and in-depth frequency modulation synthesis &#160; :: features :: Frequency modulation synthesis Two frequency modulation structures that can be cross modulated Multiple modulation sources &#8212; static frequency, note frequency, Waveshaper, etc Note input via QWERTY Keys and MIDI Easy MIDI mapping of controls and effects Full suite of effects &#8212; delay, reverb, distortion, ring [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1434340248-freqmod1cyc.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Flexible and in-depth frequency modulation synthesis</p>
<p>&nbsp;</p>
<p><span style="font-size: medium">:: features ::</span></p>
<p>Frequency modulation synthesis</p>
<p>Two frequency modulation structures that can be cross modulated</p>
<p>Multiple modulation sources &#8212; static frequency, note frequency, Waveshaper, etc</p>
<p>Note input via QWERTY Keys and MIDI</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>Recording &#8212; record as you play</p>
<p>Save/Load all synth and effect settings</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/freq-mod/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Open Source EML-200 modular synthesizer with sequencer</title>
		<link>http://cycling74.com/project/eml-200-modular-synthesizer-with-sequencer/</link>
		<comments>http://cycling74.com/project/eml-200-modular-synthesizer-with-sequencer/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 17:17:24 +0000</pubDate>
		<dc:creator>Peter McCulloch</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=16034</guid>
		<description><![CDATA[This is a model of Vassar College&#8217;s Electrocomp EML-200 that I built for my students.  Vassar&#8217;s EML-200 has a couple of hot-rodded features that the original didn&#8217;t have, such as the tuning knob for VCOs 1 and 2, and extra outputs for VCO 1 and 2, so I included those.   The EML-200 is quite limited [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1862924434-Screenshot20120125at12.04.08PM.png" alt="This image has no alt text" style="max-width:358px;"></p><p>This is a model of Vassar College&#8217;s Electrocomp EML-200 that I built for my students.  Vassar&#8217;s EML-200 has a couple of hot-rodded features that the original didn&#8217;t have, such as the tuning knob for VCOs 1 and 2, and extra outputs for VCO 1 and 2, so I included those.   The EML-200 is quite limited in many respects: it has one AD envelope generator, its VCOs can only produce sawtooth waves, and it lacks a VCF.  Nevertheless, it can do quite a bit, particularly with creative routing (ring-mod = opportunity for envelope&#8230;), and I&#8217;ve included some presets.</p>
<p>Since we lacked a hardware sequencer, I built one based on the Moog 960.  It has almost of the features of the original&#8211;including the ability to be used as an oscillator itself&#8211;and I&#8217;ve added ways of randomizing/adjusting the values for the steps, and you can also use it as a full 24&#215;3 step sequencer instead of an 8X3 or 24X1 step sequencer.  Click the numbered button at the bottom of a column in the step sequencer to temporarily activate that step.  As in the original, Row C can control the duration.</p>
<p>It also can record its output.  Specify the prefix (i.e. the beginning of the filename), and the path, and it will create filenames with timestamps in them so you don&#8217;t have to keep choosing new filenames.</p>
<p><strong><a href="http://maxforlive.petermcculloch.com/projects/EML-200.zip">Download</a></strong></p>
<p><strong>LICENSE: </strong></p>
<div><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="" width="88" height="31" /></div>
<div>
<p><strong><a href="http://creativecommons.org/licenses/">Attribution-NonCommercial-NoDerivs</a></strong></p>
<p><strong>Changelog:</strong></p>
<p><span style="color: #999999"><strong>v. 1.0.1: </strong>replaced old Max5 anti-aliasing upsampling code, and fixed various error messages printing in Max window.</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/eml-200-modular-synthesizer-with-sequencer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Freq In Freq Out!</title>
		<link>http://cycling74.com/project/freq-in-freq-out/</link>
		<comments>http://cycling74.com/project/freq-in-freq-out/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:39:40 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15955</guid>
		<description><![CDATA[Realtime effects processor for recording and performance &#160; :: features :: Audio input effects and recording &#8212; mics, guitars, keyboards &#8212; apply effects chains and record with luminous fluidity! Audio input recording &#8212; in Windows, streaming audio recording is also possible Real-time effects tweaking Easy MIDI mapping of controls and effects Full suite of effects [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1686476280-freqinfreqout1cyc.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Realtime effects processor for recording and performance</p>
<p>&nbsp;</p>
<p><span style="font-size: medium">:: features ::</span></p>
<p>Audio input effects and recording &#8212; mics, guitars, keyboards &#8212; apply effects chains and record with luminous fluidity!</p>
<p>Audio input recording &#8212; in Windows, streaming audio recording is also possible</p>
<p>Real-time effects tweaking</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>Recording &#8212; record as you play</p>
<p>Save/Load all effect setting</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/freq-in-freq-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>grainstretch~</title>
		<link>http://cycling74.com/toolbox/grainstretch/</link>
		<comments>http://cycling74.com/toolbox/grainstretch/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 22:48:42 +0000</pubDate>
		<dc:creator>Timo Rozendal</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=toolbox&#038;p=16029</guid>
		<description><![CDATA[Flexible realtime timestretching and pitchshifting with a granular engine in Max/MSP. With this external you can expand your max toolkit for natural and experimental playback. It incorporates the algorithm used by Mattijs Kneppers in his granular stretcher patch and adds a load of extra options and features. It is available for both windows and mac, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1955961355-" alt="This image has no alt text" style="max-width:358px;"></p><p>Flexible realtime timestretching and pitchshifting with a granular engine in Max/MSP. </p>
<p>With this external you can expand your max toolkit for natural and experimental playback. It incorporates the algorithm used by Mattijs Kneppers in his <a href="http://cycling74.com/toolbox/kneppers-granular-stretcher/" target="_blank">granular stretcher patch</a> and adds a load of extra options and features.</p>
<p>It is available for both windows and mac, and works in max 5 (in 32bit) and max 6 (in 64 bit).</p>
<p>The video below gives you an impression of what you can do with it by giving you a walkthrough using the helpfile:</p>
<p><iframe width="400" height="233" src="http://www.youtube.com/embed/Padw-zysMVw" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/toolbox/grainstretch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fertile Grounds</title>
		<link>http://cycling74.com/project/fertile-grounds/</link>
		<comments>http://cycling74.com/project/fertile-grounds/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 23:53:07 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15953</guid>
		<description><![CDATA[Back to basics subtractive synthesizer :: features :: Polyphonic subtractive synthesizer Multiple signal types &#8212; tone and noise generators that can be individually mixed together &#8212; sine, square, triangle, saw, pink, white ADSR amplitude envelopes for each signal type Low pass resonant filter for each signal type Note input via QWERTY (alphabet) keyboard or external [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1183780374-fertilegrounds1cyc.jpg" alt="This image has no alt text" style="max-width:358px;"></p><div>Back to basics subtractive synthesizer</div>
<div></div>
<div><span style="font-size: medium">:: features ::</span></p>
<p>Polyphonic subtractive synthesizer</p>
<p>Multiple signal types &#8212; tone and noise generators that can be individually mixed together &#8212; sine, square, triangle, saw, pink, white</p>
<p>ADSR amplitude envelopes for each signal type</p>
<p>Low pass resonant filter for each signal type</p>
<p>Note input via QWERTY (alphabet) keyboard or external MIDI device</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>In-built Recording</p>
<p>Save/Load all synth and effect settings</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/fertile-grounds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sequencomat</title>
		<link>http://cycling74.com/project/sequencomat/</link>
		<comments>http://cycling74.com/project/sequencomat/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 15:36:17 +0000</pubDate>
		<dc:creator>mat</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15996</guid>
		<description><![CDATA[Sequencomat (V1-V3) is a series of stepsequencers I made in Max for the Lemur. I started in 2009 to create stepsequencer. First for the Jazzmutant Lemur, but now they also work with Liines Lemur App for iPad. Between max and the Lemur control surface is a bidirectional OSC communication. All processing and Midi sending is [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/956143742-v3litemain.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p></p><p>Sequencomat (V1-V3) is a series of stepsequencers I made in Max for the Lemur.</p>
<p>I started in 2009 to create stepsequencer. First for the <a href="http://www.jazzmutant.com/">Jazzmutant Lemur</a>, but now they also work with <a href="http://liine.net/en/products/lemur/">Liines Lemur App for iPad</a>.<br />
Between max and the Lemur control surface is a bidirectional OSC communication. All processing and Midi sending is done in max.</p>
<p>Sequencomat is based on classical stepsequencers with 8 track and 16 steps. As it is an ongoing development process, most features differ with the version: So while in V1 Midichannel, play direction, grid and steprange were global values (only changeable for all 8 tracks) in V3 these are trackvalues, independet for each track and saved within patterns. This allows e.g. polyrhytmic patterns and instrument jumping. And while V1 had only trackvalues for pitch, velocity and length in V3 these are stepvalues and also step propability, delay (to create a groove) and a ControlChange stepvalue was added. On full version you also got random switches for each stepvalue &#8211; making that special value variate within range.<br />
One feature I like very much is a range object for the output of the stepvalues. So if you want to control e.g. veloctiy from 35-87 instead of 0-127 you can shrink the range and the faders will only output 35-87 (you still got the whole fader room, but the output is limited). In combination with that random switches in V3.3 you have something like &#8220;controlled random&#8221; (controlled in position and amount) which gives life to electronic music. But also you can create very detailed and concrete patterns.  </p>
<p><a href="http://www.tonvibration.de/SequencomatV3.html">Sequencomat V3 manual (incl. many screenshots)</a><br />
Sequencomat <a href="http://liine.net/en/community/user-library/view/88/">V3_lite in the Liine User area</a><br />
Sequencomat <a href="http://www.jazzmutant.com/lemuruser_moduledetails.php?id=210">V3_lite in the Jazzmutant User area</a></p>
<p><a href="http://www.tonvibration.de/extra/SequencomatV2.html">Sequencomat V2 manual </a>(last edit mid 2010)<br />
<a href="http://www.jazzmutant.com/lemuruser_moduledetails.php?id=153"><br />
Sequencomat V1 in the Jazzmutant User Area</a> (last edit early 2010)</p>
<p>The tutorial which once get me into max, and on which Sequencomat was based &#8211; specially in V1 &#8211; are here:<br />
<a href="http://www.jazzmutant.com/workshop_tutorialslist.php?id=maxstepA">http://www.jazzmutant.com/workshop_tutorialslist.php?id=maxstepA</a><br />
<a href="http://www.jazzmutant.com/workshop_tutorialslist.php?id=maxstepB">http://www.jazzmutant.com/workshop_tutorialslist.php?id=maxstepB</a></p>
<p>Enjoy!<br />
mat</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/sequencomat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Square Bender</title>
		<link>http://cycling74.com/project/square-bender/</link>
		<comments>http://cycling74.com/project/square-bender/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 17:11:27 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15924</guid>
		<description><![CDATA[QWERTY trigger-pad sampler with fluid audio manipulation &#160; :: Features :: Trigger-pad sampling with the QWERTY (alphabet) keyboard Drag-and-Drop audio files for instant creativity Instant control of samples &#8212; QWERTY keys are pre-mapped, ready to go Trigger, gate and loop playback modes Fluid Pitch Control &#8212; Pitch control of samples with infinite range and MIDI [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/619857604-squarebendercyc1.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>QWERTY trigger-pad sampler with fluid audio manipulation</p>
<p>&nbsp;</p>
<p><span style="font-size: medium">:: Features ::</span></p>
<p>Trigger-pad sampling with the QWERTY (alphabet) keyboard</p>
<p>Drag-and-Drop audio files for instant creativity</p>
<p>Instant control of samples &#8212; QWERTY keys are pre-mapped, ready to go</p>
<p>Trigger, gate and loop playback modes</p>
<p>Fluid Pitch Control &#8212; Pitch control of samples with infinite range and MIDI mapping</p>
<p>Instant forwards/reverse playback toggle</p>
<p>Visual waveform control &#8212; precisely define loop positions</p>
<p>Multiple step sequencers</p>
<p>Unique node sequencers &#8212; control sample looping off-the-grid</p>
<p>Node-based volume control &#8212; visual mixing of up to 26 channels</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>in-Built Recording</p>
<p>Save/Load all interface and effect settings</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/square-bender/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crossroads</title>
		<link>http://cycling74.com/project/crossroads/</link>
		<comments>http://cycling74.com/project/crossroads/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 19:40:51 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15922</guid>
		<description><![CDATA[Four channel DJ Audio / Sound design performance with a 4-way crossfader &#160; :: features :: 4 channels of simultaneous audio playback and looping 2 varieties of 4-way crossfaders Separate effects for each audio track + master effects Easy MIDI mapping of controls and effects Full suite of effects &#8212; delay, reverb, distortion, ring mod, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1032576475-crossroads1.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Four channel DJ Audio / Sound design performance with a 4-way crossfader</p>
<p>&nbsp;</p>
<div><span style="font-size: medium">:: features ::</span></p>
<p>4 channels of simultaneous audio playback and looping</p>
<p>2 varieties of 4-way crossfaders</p></div>
<div></div>
<div>Separate effects for each audio track + master effects</div>
<div></div>
<div>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>In-built Recording</p>
<p>Save/Load all module and effect settings</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/crossroads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Party Van</title>
		<link>http://cycling74.com/project/the-party-van/</link>
		<comments>http://cycling74.com/project/the-party-van/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 17:12:02 +0000</pubDate>
		<dc:creator>Rodrigo</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15946</guid>
		<description><![CDATA[The Party Van is an &#8216;all-in-one&#8217; performance patch built primarily around live sampling and improvisation. It is built to be controlled by a Monome64, but everything functions with or without a Monome. &#160; Features: 2 sample/loopers with overdub, halfspeed, and reverse functionality. Each with a sample slicer/dicer, granulator, pattern recorder, and MLR (monome app)  style [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/474196655-ThePartyVan.png" alt="This image has no alt text" style="max-width:358px;"></p><p><object width="358" height="290"><param name="movie" value="http://www.youtube.com/v/NEbjfWEjOoc&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NEbjfWEjOoc&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="358" height="290"></embed></object></p><p>The Party Van is an &#8216;all-in-one&#8217; performance patch built primarily around live sampling and improvisation.</p>
<p>It is built to be controlled by a Monome64, but everything functions with or without a Monome.</p>
<p>&nbsp;</p>
<p>Features:</p>
<p>2 sample/loopers with overdub, halfspeed, and reverse functionality. Each with a sample slicer/dicer, granulator, pattern recorder, and MLR (monome app)  style buttons/display. Each looper can be put into ‘lofi’ mode to simulate the Where&#8217;s The Party At 8-bit sampler that inspired each module.</p>
<p>A series of realtime effects (stutter, pitch shift, lofi, filter, buffer shuffler, dirt, reverb, and chopper).</p>
<p>There is also a “reminder” row that circularly records all incoming audio and lets you play back any of it up to 10minutes in the past. (Great for real time sampling when you missed something awesome). (monome only)</p>
<p>There is no quantization. And all the modules play really nicely together. You can start recording a loop while in slicing mode, or switch between grain/normal and start where you left off, or record every knob wiggle in the pattern recorder, or reverse while creating your original loop etc…</p>
<p>As of V2 there is buffer analysis (using Alex Harker externals) that generates dynamic presets for the slice/grain modules based on what is recorded into the first two buffers. Each &#8220;brain&#8221; can be individually turned on/off, and you can morph between the current setting and the previous one.</p>
<p>The patch is an ongoing project/development with upcoming additions being real-time audio analysis to input/output effect parameter manipulation, real-time concatenative synthesis, a virtual &#8216;media&#8217; player including glitchy/skipping CD, dusty/grungy record, wobbly/hissy tape, etc&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/the-party-van/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hive of Drones</title>
		<link>http://cycling74.com/project/hive-of-drones/</link>
		<comments>http://cycling74.com/project/hive-of-drones/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 01:53:43 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15917</guid>
		<description><![CDATA[Create and perform textured beds of sound with rich layers of drone :: features ::&#160; Create drone modules &#8212; up to 32 separate modules with individual wave-type, mixing, and frequency control Sine, triangle, saw and rectangle waveforms Rectangular waveform is editable &#8212; manual or modulating control of duty cycle QWERTY pitch control of individual modules [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/1327007144-hivedrones1.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Create and perform textured beds of sound with rich layers of drone</p>
<div><span style="font-size: medium">:: features ::</span>&nbsp;</p>
<p>Create drone modules &#8212; up to 32 separate modules with individual wave-type, mixing, and frequency control</p>
<p>Sine, triangle, saw and rectangle waveforms</p>
<p>Rectangular waveform is editable &#8212; manual or modulating control of duty cycle</p>
<p>QWERTY pitch control of individual modules</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>In-built Recording</p>
<p>Save/Load all module and effect settings</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/hive-of-drones/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Drums Electric</title>
		<link>http://cycling74.com/project/the-drums-electric/</link>
		<comments>http://cycling74.com/project/the-drums-electric/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 19:19:36 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15914</guid>
		<description><![CDATA[Electronic Drum Synthesizer &#160; :: features :: Modular drum synthesis &#8212; 4 different varieties to combine Multiple signal types &#8212; tone and noise generators that can be individually mixed together &#8212; pink, white, sine tones Pitch envelope for sine tone ADSR amplitude envelopes for each signal type Low pass resonant filter for each signal type [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/787118935-drumselectric1.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Electronic Drum Synthesizer</p>
<p>&nbsp;</p>
<div><span style="font-size: medium">:: features ::</span></p>
<p>Modular drum synthesis &#8212; 4 different varieties to combine</p>
<p>Multiple signal types &#8212; tone and noise generators that can be individually mixed together &#8212; pink, white, sine tones</p></div>
<div></div>
<div>Pitch envelope for sine tone</div>
<div></div>
<div>ADSR amplitude envelopes for each signal type</p>
<p>Low pass resonant filter for each signal type</p>
<p>Drum  modules can be created and assigned to up to ten QWERTY keyboard keys  &#8212; can assign multiple sounds to the same key to layer sounds</p>
<p>Real-time performance with QWERTY triggering</p>
<p>Step sequencer and metronome triggering</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>In-built Recording</p>
<p>Save/Load all module and effect settings</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/the-drums-electric/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Binaural Beats</title>
		<link>http://cycling74.com/project/binaural-beats/</link>
		<comments>http://cycling74.com/project/binaural-beats/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 17:35:05 +0000</pubDate>
		<dc:creator>Al Thumm</dc:creator>
		
		<guid isPermaLink="false">http://cycling74.com/?post_type=project&#038;p=15912</guid>
		<description><![CDATA[Dynamically generate binaural tones &#160; :: features :: 10 binaural tone modules with individual frequency and mixing controls Multiple frequency offset controls &#8212; various ways to create beat frequencies QWERTY note input with optional detune Easy MIDI mapping of controls and effects Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more In-built [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://1CYJKNYDDCX62AGYB002-c74projects.s3.amazonaws.com/208466931-binauralbeats1.jpg" alt="This image has no alt text" style="max-width:358px;"></p><p>Dynamically generate binaural tones</p>
<p>&nbsp;</p>
<div><span style="font-size: medium">:: features ::</span></p>
<p>10 binaural tone modules with individual frequency and mixing controls</p>
<p>Multiple frequency offset controls &#8212; various ways to create beat frequencies</p>
<p>QWERTY note input with optional detune</p>
<p>Easy MIDI mapping of controls and effects</p>
<p>Full suite of effects &#8212; delay, reverb, distortion, ring mod, and more</p>
<p>In-built Recording</p>
<p>Save/Load all module and effect settings</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/project/binaural-beats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with Hardware: Livid&#8217;s Code (Part Two)</title>
		<link>http://cycling74.com/2012/01/17/working-with-hardware-livids-code-part-two/</link>
		<comments>http://cycling74.com/2012/01/17/working-with-hardware-livids-code-part-two/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 21:14:43 +0000</pubDate>
		<dc:creator>Peter Nyboer</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[sequencer]]></category>

		<guid isPermaLink="false">http://cycling74.com/?p=15852</guid>
		<description><![CDATA[Introduction In part 1, Darwin showed us all the fundamentals behind step sequencing in Max, and extended that from the computer to the controller. With hands-on, real-time, improvisatory control over a sequence, he articulated the technical know-how to experience the joy of Max. In this article, I&#8217;ll explore a step sequencer that accesses multiple sequences [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>
<a href="/2012/01/04/working-with-hardware-livid-instruments%E2%80%99-code/">In part 1</a>, Darwin showed us all the fundamentals behind step sequencing in Max, and extended that from the computer to the controller. With hands-on, real-time, improvisatory control over a sequence, he articulated the technical know-how to experience the joy of Max.</p>
<p>
In this article, I&#8217;ll explore a step sequencer that accesses multiple sequences on different pages, geared towards drum programming, and provides a foundation for growth and room for curiosity. </p>
<p>When Darwin asked if I&#8217;d add to his series, I was already in the ecstatic throes of creating a <a href="/products/maxforlive/">Max for Live</a> step sequencer (for a different Livid MIDI box, <a href="http://lividinstruments.com/hardware_cntrlr.php" target="_blank">the CNTL:R</a>), so it was a natural transition to adapt that device to work directly in Max and with the <a href="http://lividinstruments.com/hardware_code.php" target="_blank">Code controller</a>.  I&#8217;ve been looking at the Code as a nice platform for a step sequencer ever since it came out, and this article was a good kick in my butt to get this project going.</p>
<ul>
<li><a href="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/pn_workingwithhardware2/pn_workwithhardware2_max.zip">Download the Patches and Other Helpful Info</a></li>
<li><a href="http://cycling74.com/2012/01/04/working-with-hardware-livid-instruments%E2%80%99-code/">Read Part One: Livid&#8217;s Code</a></li>
</ul>
<p>
Before I go into my motivations, technical details, and name-dropping of Max objects, let&#8217;s have some fun and see what this sequencer can do:
</p>
<p><iframe src="http://player.vimeo.com/video/33551394?title=0&amp;byline=0&amp;portrait=0" width="500" height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>
In the video, I take you through using the controller to access the four different sequences using the left-side buttons, controlling the sequences using the top 2 rows of encoders (and their buttons), and explaining how the bottom row of encoders work, each of which can act as a different control, depending on the toggle setting of the encoder&#8217;s button. The patch assumes you have the free and <a href="http://kunz.corrupt.ch/products/tal-noisemaker" target="_blank">open-source TAL Noisemaker plugin</a> (available for Windows and Mac).
</p>
<p>
Stick around to the end of the article where there&#8217;s another video featuring some different sounds from <a href="http://madronalabs.com/aalto" target="_blank">the Aalto plugin</a>, demonstrates some of the other features, and suggests how to get more avant-garde results from the simplicity of a step sequencer.
</p>
<p>
This is a fairly ambitious patch, and you may experience some pain-on-the-brain. However, I&#8217;ve made a lot of comments and documentation available throughout the patch to help you understand the principles at work. I&#8217;ve also worked hard to avoid presentation mode in the Main patch, forcing it to be neat and explorable. Hopefully, if you read through this article, and maybe try altering some of the assignments to see what happens, you&#8217;ll become comfortable with making this instrument your own.
</p>
<h2>Considerations for Controllers with LEDs</h2>
<p>
It&#8217;s easy to get carried away with &#8220;possibility&#8221; and &#8220;potential&#8221; with all these buttons and knobs on the Code. Before I start hooking up MIDI to my patch, I need to wrangle all these options into sensible, meaningful ways that don&#8217;t require a lot of patching.
</p>
<p>
As a Max user, you&#8217;ve probably noticed from the sheer array of button options (textbutton, live.button, button, live.toggle, toggle, pictctl, matrixctl, radiogroup, tab,…did I miss any?), so the term &#8220;button&#8221; is a loaded one.
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/pn_workingwithhardware2/buttons.png" width="314" height="72" /></p>
<p>
There&#8217;s several modes for this button thing: momentary, toggle, and radio, and they all require their own considerations when patching. The Code itself is a pretty &#8220;dumb&#8221; controller &#8211; it&#8217;s designed to work with a computer, so it leaves all the hard decisions to the host software, rather than trying to accommodate several different types of button logics in its internal firmware and limited onboard memory. That means when programming in Max, we have some work to do!
</p>
<p>
Similarly, the encoders add a bit of a kink to what might seem a simple task of sending some MIDI cc&#8217;s and hooking them up to a UI object. Because we now have four sequences to work with, we want the encoders LED rings to update their displays so they relate to the data in the sequence we just chose. This means when you select a sequence, you want to have all the current values handy to send to the controller instantly so you can keep making music.
</p>
<p>
For the more casual user of Max, this type of stuff can be a bit overwhelming. Max lends itself to rapid programming, and quickly realizing ideas that come from the thing you just built. This is what makes it fun, but when it comes to &#8220;clerical work,&#8221; like making sure your controller is updated with all the right values, you can sometimes patch yourself into a knot.
</p>
<p>
Because I deal with a lot of different controllers (I see seven in front of me right now!), I&#8217;ve had to constantly refine my practices to accommodate new controllers, not only from Livid, but from other manufacturers as well. As such, I want to make things flexible enough to take different, arbitrary midi messages in, scale the 0-127 in to whatever I need, control my patch, and take UI data from my patch and be able to translate it back to MIDI so I can send it to update the controller. I also want to be able to redefine these assignments on the fly. The current state of this art is mostly encapsulated in the <strong>js midi2mess.js</strong>.
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/pn_workingwithhardware2/midi2mess.png" width="394" height="131" /></p>
<p>
As a result of all this work and a centralized communication system, people who have other controllers not named Livid Code (but, hopefully with the word &#8220;Livid&#8221; on it!) can adapt this patch to their own controllers without ever having to touch a patch cord.
</p>
<h2>The Big Picture: MIDI in, Message out. Message in, MIDI out.</h2>
<p>
If I press a button on the Code, this button might need to go to somewhere in the main patch, in a subpatch, or even in a subpatch-in-the-subpatch.<br />
And when I press it, I want the UI on the screen to update.
</p>
<p>
Similarly, when I press a button the screen (which might live in the main patch, or in a subpatch, I want to know that it happened, and tell my controller that this button has changed.
</p>
<p>
Many patches often handle this type of inter-patch communication with the <strong>send</strong> and <strong>receive</strong> objects. However, <strong>pattrstorage</strong> provides a much neater, consistent, flexible, and elegant way to deal with all of this data.
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/pn_workingwithhardware2/pattrstorage.png" width="378" height="119" /></p>
<p>
As a result, I tend to avoid <strong>send</strong> and <strong>receive</strong> as much as possible, and use <strong>pattr</strong> to provide hooks to <strong>pattrstorage</strong>. My relationship with <strong>send</strong> and <strong>receive</strong> is not unlike my relationship with pets: I have lived with pets, and enjoyed them, however, now that I do not live with a pet, I do not miss cleaning up after them, and I like having an untorn sofa! Take a look in the patch &#8220;About pattrstorage&#8221; to read more about how I use <strong>pattrstorage</strong> to communicate in my patch.
</p>
<p>
I use javascript (midi2mess.js) to handle the MIDI data. While this may have some cost in speed, it creates a very flexible system that integrates in a nice cycle of life with <strong>pattrstorage</strong>.
</p>
<p>
Metaphorically, it&#8217;s like the rain and the earth: <strong>pattrstorage</strong> rains data on the land of my javascript. The data evaporates on the javascript and floats back up to the <strong>pattrstorage</strong>, where it rains again. Except it all happens instantly and precisely, no flooding occurs, the streets are still safe to drive on, leaving writers safe and dry to stretch their metaphors to unpoetic lengths.
</p>
<p><img src="http://1cyjknyddcx62agyb002-web-assets.s3.amazonaws.com/pn_workingwithhardware2/metaphor.png" width="434" height="300" /></p>
<p>
If this system is confusing to you, or you want a &#8220;safer&#8221; place to wrap your head around it, <a href="http://cycling74.com/toolbox/livid-controllers-and-max/">take a look at this patch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/2012/01/17/working-with-hardware-livids-code-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 52: Audio Settings</title>
		<link>http://cycling74.com/2012/01/17/week-52-audio-settings/</link>
		<comments>http://cycling74.com/2012/01/17/week-52-audio-settings/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 20:00:48 +0000</pubDate>
		<dc:creator>c74</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[Did You Know?]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[clicks]]></category>
		<category><![CDATA[editing]]></category>
		<category><![CDATA[settings]]></category>

		<guid isPermaLink="false">http://cycling74.com/?p=15936</guid>
		<description><![CDATA[Use multi-core processors and eliminate clicks while editing.]]></description>
			<content:encoded><![CDATA[<h3>Did you know you can set your audio to use multi-core processors and eliminate clicks while editing?</h3>
<p><iframe width="550" height="309" src="http://www.youtube.com/embed/dykLr_CjwWs?rel=0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://cycling74.com/2012/01/17/week-52-audio-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

