<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://cycling74.com/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;feed=atom&amp;action=history</id>
		<title>MSP Polyphony Tutorial 4: Audio-Rate Control Data - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;action=history"/>
		<updated>2013-05-24T16:26:01Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=923&amp;oldid=prev</id>
		<title>Gtaylor@rtqe.net at 16:17, 6 July 2012</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=923&amp;oldid=prev"/>
				<updated>2012-07-06T16:17:01Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:17, 6 July 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here to open the tutorial &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;patches&lt;/del&gt;: [[Media:04hAudioRate.zip]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here to open the tutorial &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;patch and files&lt;/ins&gt;: [[Media:04hAudioRate.zip]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Low-frequency oscillators===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Low-frequency oscillators===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gtaylor@rtqe.net</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=898&amp;oldid=prev</id>
		<title>Gtaylor@rtqe.net at 23:07, 5 July 2012</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=898&amp;oldid=prev"/>
				<updated>2012-07-05T23:07:25Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:07, 5 July 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Take a look at the tutorial patcher. Turn on the {{maxword|name=dac~}} (on the right) and the {{maxword|name=metro}} (on the left) using the {{maxword|name=toggle}} objects. You should see a line being drawn in the {{maxword|name=lcd}} object on the right of the patcher. At any point, you can hit the space bar to &amp;lt;code&amp;gt;clear&amp;lt;/code&amp;gt; the drawing. * In the {{maxword|name=number}} boxes labeled &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;, type &amp;lt;code&amp;gt;1.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1.3&amp;lt;/code&amp;gt;, respectively. Look at the curve drawn in the {{maxword|name=lcd}}. Clear the {{maxword|name=lcd}} with the space bar and change the values to &amp;lt;code&amp;gt;1.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;4.&amp;lt;/code&amp;gt;. Notice that when the values are in an integer ratio the pattern begins redrawing itself after a while. Try your own numbers, or changing them as they go. Using cosine waves of different frequencies as the X and Y inputs of a drawing surface (such as an oscilloscope) creates something called ''lissajous'' curves. These patterns visually describe complex harmonic motion, so that X and Y patterns in simple ratios will create pre-determined repeating shapes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Take a look at the tutorial patcher. Turn on the {{maxword|name=dac~}} (on the right) and the {{maxword|name=metro}} (on the left) using the {{maxword|name=toggle}} objects. You should see a line being drawn in the {{maxword|name=lcd}} object on the right of the patcher. At any point, you can hit the space bar to &amp;lt;code&amp;gt;clear&amp;lt;/code&amp;gt; the drawing. * In the {{maxword|name=number}} boxes labeled &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;, type &amp;lt;code&amp;gt;1.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1.3&amp;lt;/code&amp;gt;, respectively. Look at the curve drawn in the {{maxword|name=lcd}}. Clear the {{maxword|name=lcd}} with the space bar and change the values to &amp;lt;code&amp;gt;1.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;4.&amp;lt;/code&amp;gt;. Notice that when the values are in an integer ratio the pattern begins redrawing itself after a while. Try your own numbers, or changing them as they go. Using cosine waves of different frequencies as the X and Y inputs of a drawing surface (such as an oscilloscope) creates something called ''lissajous'' curves. These patterns visually describe complex harmonic motion, so that X and Y patterns in simple ratios will create pre-determined repeating shapes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Using &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{{maxword|name=&lt;/del&gt;snapshot~&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Using snapshot~===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Double-click one of the {{maxword|name=poly~}} objects to see inside the &amp;lt;code&amp;gt;polylfo1~&amp;lt;/code&amp;gt; abstraction. Notice how simple our abstraction seems, with an {{maxword|name=in}} object allowing use to set the frequency of a {{maxword|name=cycle~}} object. A second {{maxword|name=in}} object provides &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt; messages to a {{maxword|name=snapshot~}}. The {{maxword|name=snapshot~}} object allows us to capture single values of MSP signals as floating-point numbers generated as Max events. Whenever a {{maxword|name=snapshot~}} receives a &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt;, it ''samples'' the current MSP signal at its inlet and outputs that one sample as a floating-point value. In our tutorial, this value then goes to an {{maxword|name=out}} object, and back into our main patcher.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Double-click one of the {{maxword|name=poly~}} objects to see inside the &amp;lt;code&amp;gt;polylfo1~&amp;lt;/code&amp;gt; abstraction. Notice how simple our abstraction seems, with an {{maxword|name=in}} object allowing use to set the frequency of a {{maxword|name=cycle~}} object. A second {{maxword|name=in}} object provides &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt; messages to a {{maxword|name=snapshot~}}. The {{maxword|name=snapshot~}} object allows us to capture single values of MSP signals as floating-point numbers generated as Max events. Whenever a {{maxword|name=snapshot~}} receives a &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt;, it ''samples'' the current MSP signal at its inlet and outputs that one sample as a floating-point value. In our tutorial, this value then goes to an {{maxword|name=out}} object, and back into our main patcher.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gtaylor@rtqe.net</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=896&amp;oldid=prev</id>
		<title>Gtaylor@rtqe.net at 23:05, 5 July 2012</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=896&amp;oldid=prev"/>
				<updated>2012-07-05T23:05:52Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:05, 5 July 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here to open the tutorial &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;patch&lt;/del&gt;: [[Media:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;04hAudioRateControl&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;maxpat&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here to open the tutorial &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;patches&lt;/ins&gt;: [[Media:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;04hAudioRate&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zip&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Low-frequency oscillators===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Low-frequency oscillators===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gtaylor@rtqe.net</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=834&amp;oldid=prev</id>
		<title>Gtaylor@rtqe.net at 15:34, 28 June 2012</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=834&amp;oldid=prev"/>
				<updated>2012-06-28T15:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:34, 28 June 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here to open the tutorial patch: [[04hAudioRateControl.maxpat]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Click here to open the tutorial patch: [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Media:&lt;/ins&gt;04hAudioRateControl.maxpat]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Low-frequency oscillators===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Low-frequency oscillators===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gtaylor@rtqe.net</name></author>	</entry>

	<entry>
		<id>http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=733&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;Click here to open the tutorial patch: 04hAudioRateControl.maxpat  ===Low-frequency oscillators===  This tutorial looks at using the {{maxword|name=poly~}} object to gener...&quot;</title>
		<link rel="alternate" type="text/html" href="http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_4:_Audio-Rate_Control_Data&amp;diff=733&amp;oldid=prev"/>
				<updated>2012-06-24T23:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Click here to open the tutorial patch: &lt;a href=&quot;/wiki/index.php?title=04hAudioRateControl.maxpat&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;04hAudioRateControl.maxpat (page does not exist)&quot;&gt;04hAudioRateControl.maxpat&lt;/a&gt;  ===Low-frequency oscillators===  This tutorial looks at using the {{maxword|name=poly~}} object to gener...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Click here to open the tutorial patch: [[04hAudioRateControl.maxpat]]&lt;br /&gt;
&lt;br /&gt;
===Low-frequency oscillators===&lt;br /&gt;
&lt;br /&gt;
This tutorial looks at using the {{maxword|name=poly~}} object to generate low-frequency oscillators (LFOs) to generate control-rate data for Max objects. There are many tasks in Max (such as graphics) that don't require control updates at audio rate (44,100 per second, or higher), and simply need to receive new values regularly at a lower speed. For example, a video processing patcher running at 30 frames per second would only need new information for all of its parameters every 33 milliseconds. At the same time, MSP signal generators make excellent choices for designing periodic sources of control information. The {{maxword|name=poly~}} object has a simple way to ''downsample'' the audio processing in an abstraction, so that it can be used to create control-rate data in Max without the CPU overhead of working at audio rate.&lt;br /&gt;
&lt;br /&gt;
* Take a look at the tutorial patcher. Turn on the {{maxword|name=dac~}} (on the right) and the {{maxword|name=metro}} (on the left) using the {{maxword|name=toggle}} objects. You should see a line being drawn in the {{maxword|name=lcd}} object on the right of the patcher. At any point, you can hit the space bar to &amp;lt;code&amp;gt;clear&amp;lt;/code&amp;gt; the drawing. * In the {{maxword|name=number}} boxes labeled &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;, type &amp;lt;code&amp;gt;1.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1.3&amp;lt;/code&amp;gt;, respectively. Look at the curve drawn in the {{maxword|name=lcd}}. Clear the {{maxword|name=lcd}} with the space bar and change the values to &amp;lt;code&amp;gt;1.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;4.&amp;lt;/code&amp;gt;. Notice that when the values are in an integer ratio the pattern begins redrawing itself after a while. Try your own numbers, or changing them as they go. Using cosine waves of different frequencies as the X and Y inputs of a drawing surface (such as an oscilloscope) creates something called ''lissajous'' curves. These patterns visually describe complex harmonic motion, so that X and Y patterns in simple ratios will create pre-determined repeating shapes.&lt;br /&gt;
&lt;br /&gt;
===Using {{maxword|name=snapshot~}}===&lt;br /&gt;
&lt;br /&gt;
* Double-click one of the {{maxword|name=poly~}} objects to see inside the &amp;lt;code&amp;gt;polylfo1~&amp;lt;/code&amp;gt; abstraction. Notice how simple our abstraction seems, with an {{maxword|name=in}} object allowing use to set the frequency of a {{maxword|name=cycle~}} object. A second {{maxword|name=in}} object provides &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt; messages to a {{maxword|name=snapshot~}}. The {{maxword|name=snapshot~}} object allows us to capture single values of MSP signals as floating-point numbers generated as Max events. Whenever a {{maxword|name=snapshot~}} receives a &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt;, it ''samples'' the current MSP signal at its inlet and outputs that one sample as a floating-point value. In our tutorial, this value then goes to an {{maxword|name=out}} object, and back into our main patcher.&lt;br /&gt;
&lt;br /&gt;
===Changing abstractions===&lt;br /&gt;
&lt;br /&gt;
* Close the abstraction &amp;lt;code&amp;gt;polylfo1~&amp;lt;/code&amp;gt; and return to the main tutorial patcher. Click on the {{maxword|name=message}} boxes in the middle that begin with the message &amp;lt;code&amp;gt;patchername&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;patchername&amp;lt;/code&amp;gt; message ''reloads'' a {{maxword|name=poly~}} object with a new abstraction. Notice the effect on the drawing, depending on which you select and whether it applies to the X or Y {{maxword|name=poly~}} object. Select &amp;lt;code&amp;gt;polylfo2~&amp;lt;/code&amp;gt; and double-click the {{maxword|name=poly~}} object to see it. The &amp;lt;code&amp;gt;polylfo2~&amp;lt;/code&amp;gt; abstraction does the same as &amp;lt;code&amp;gt;polylfo1~&amp;lt;/code&amp;gt;, but generates its output as a sawtooth wave rather than a cosine wave. The {{maxword|name=phasor~}} object generates ramps from &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, so we scale the output to go between &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; with the {{maxword|name=*~}} and {{maxword|name=-~}} objects before we sample it with the {{maxword|name=snapshot~}}&lt;br /&gt;
&lt;br /&gt;
* Switch one of the {{maxword|name=poly~}} objects to &amp;lt;code&amp;gt;polylfo3~&amp;lt;/code&amp;gt; and look inside. The &amp;lt;code&amp;gt;polylfo3~&amp;lt;/code&amp;gt; object generats a triangular output by using a {{maxword|name=triangle~}} object. The {{maxword|name=triangle~}} object wraps a {{maxword|name=phasor~}} around a midpoint, essentially translating it into a triangular waveform. This object outputs values between &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, so it doesn't require any scaling.&lt;br /&gt;
&lt;br /&gt;
===Resampling arguments===&lt;br /&gt;
&lt;br /&gt;
* Close any open abstractions and return to the main patcher. Look at the arguments to the {{maxword|name=poly~}} objects. When working with an abstraction inside of a {{maxword|name=poly~}} object, you can decide to work at a lower or higher ''sampling rate'' than your main MSP patcher. This rate is not specified directly, but as a divisor or multiplier of the main rate. The arguments &amp;lt;code&amp;gt;up 2&amp;lt;/code&amp;gt; will make the {{maxword|name=poly~}} run at twice the sampling rate of the main patcher. The arguments &amp;lt;code&amp;gt;down 8&amp;lt;/code&amp;gt;, as shown here, run the audio within the {{maxword|name=poly~}} objects at one ''eighth'' the normal speed (i.e. 5.5125kHz if the main patcher runs at 44.1kHz). Since we're only sampling our oscillator values once every frame of the drawing (set by the {{maxword|name=metro}} speed at 50Hz or every 20ms), this is more than enough resolution for our control data.&lt;br /&gt;
&lt;br /&gt;
* Mix and match different LFO curves by choosing different {{maxword|name=poly~}} abstractions run at different frequencies. Notice how the Lissajous curves behave with the different waveforms.&lt;br /&gt;
&lt;br /&gt;
===Summary===&lt;br /&gt;
&lt;br /&gt;
The {{maxword|name=poly~}} object can work at a different sampling rate than its host MSP patcher. The &amp;lt;code&amp;gt;up&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;down&amp;lt;/code&amp;gt; arguments allow you to specify a multiplier or divisor for the main sampling rate. When designing LFOs (low frequency oscillators), it's often useful to use massively downsampled MSP patchers inside of {{maxword|name=poly~}} objects to generate the curves efficiently. the {{maxword|name=snapshot~}} object allows you to sample a single value from an MSP signal in response to a &amp;lt;code&amp;gt;bang&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===See Also===&lt;br /&gt;
&lt;br /&gt;
{{maxword|name=snapshot~}} - Convert signal values to numbers&lt;br /&gt;
&lt;br /&gt;
[[Category:Teaching Material]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>