<?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"

			>

	<channel>
		<title>Cycling 74  &#187;  Topic: efficient way to generate step sequence from phasor</title>
		<atom:link href="http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/feed</link>
		<description></description>
		<pubDate>Tue, 18 Jun 2013 17:21:56 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-41986</guid>
					<title><![CDATA[efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-41986</link>
					<pubDate>Wed, 28 Jan 2009 23:38:37 +0000</pubDate>
					<dc:creator>monohusche</dc:creator>

					<description>
						<![CDATA[
						<p>Hi all,</p>
<p>what&#8217;s the most efficient way to get from a signal in the msp domain to discrete steps ?</p>
<p>My approach: </p>
<p>signal (0..1) &#8211;> [snapshot~ 1] &#8211;> [* 16] &#8211;> [change], but I would think taking such frequent snapshots isn&#8217;t efficient.</p>
<p>thx</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149948</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149948</link>
					<pubDate>Thu, 29 Jan 2009 00:26:23 +0000</pubDate>
					<dc:creator>X37V</dc:creator>

					<description>
						<![CDATA[
						<p>Perhaps something like this?</p>
<p>
<div><span id="toggle149948-0" class="patchtoggle" onmousedown="toggleMaxPatch('post149948-0', 'er149948-0');">&#8211; Pasted Max <span id="maxversion149948-0"></span> Patch, click to <span id="er149948-0">expand</span>. &#8211;</span> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  width="110" height="14" class="clippy" ><param name="allowScriptAccess" value="always" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param NAME="FlashVars" value="copied=copied!&#038;copyto=copy to clipboard"/><param name="bgcolor" value="#FFFFFF"/><param name="wmode" value="opaque"/><embed src="/wp-content/plugins/bbpress-copy-compressed/clippy.swf"  width="110" height="14"   name="clippy"  quality="high"  allowScriptAccess="always"  type="application/x-shockwave-flash"  pluginspage="http://www.macromedia.com/go/getflashplayer"  FlashVars="text=----------begin_max5_patcher----------%0A1221.3oc2b00iSBDE841eEDdzTIy2.lnI96vXLzVbWLsPSKabUi6ucgAFsZ1%0ABmtrdyx7RaFXV3bOmam4v81t%2BX4hv0U2meJL3MAeHXwherbwB6gZOvh9wKB2%0Amc%2BlcYmrSKr7t8qyO9P3ptycHqdysEk27oi4ap6tNbtIhsJfqSaeSaGHXQrf%0AO1%2B2Tr0dkpV%2BkWaDtKzmqJqKy1maO06OVjsycll6XQ4t7Z68Wzev8UayOeby%0Ajptq9emU6E8Tw2syjKZ.R2g6lY82Nj2g3vSE2T1dCCB%2B7tprl3vA0lSzNkFz%0A2N9mKW19xJPpZ8c00UkCvTIIVxQlJbbz.LE6Q4C9iF%2B7KEnqyJaBnO9DBlx7%0Au1.CGFpyu2FCg4auI%2BAfPTqaeSoFLD4WYx.%2BYQ7sbxpovMiKzRIrPqSlmBce%0AHhHz5TeUniSX3BsYVJztPDRni8VgVDiKzp4oP2GhPBs1WEZSrBWnEyRg1EhP%0ABszaEZAGWnmmlwbgHjP6slwzlDXgVMOMi4BQDgV4slwzbMtPOOMi4BQHg1aM%0AioLBbgddZFyEhPBs2ZFSwRwE54oYLWHBIzdqYLoFuxXp4oYLWHBIzdqYLICu%0AxXx4oYLWHhHzRu0LlPiWYL47zLlKDgDZu0LFOEuxXx4oYLWHBIzdqYLtBuxX%0AxmhYrCGyOkWVmUWTUd98UmzQ6ViRr9W98c8EP5gBudZRRrvMBSxYWASt5%2B.i%0A9129Pvq4QC0dotmyka07Nk%2BRTpv7D6o7imEdk8P9%2BTCDwqjgPNO6eHdgLDyU%0A2vWfZ1bayUDfbDI1x2piGjbXOKjCkY%2B4eea1lAMVEaietwF%2BJs60GK94oWwm%0AwYOeh36ZVBiqiF%2BqBgSEECoh7jY2ZXCwKpnw%2BlCfwKwdEuHiFuQ6X7hwq3EQ%0Az38kFiWzdEuLnEo91353E9f7hxq3EVz3c8DKeQ5S7RZz38HrmV51T8hzhvmn%0Akjnw6nFFsv8IZINZ79OgQKLehVLQi2sFHZI0mXkAc512ZCHVwqL5NnO299..%0AwJdkM2Ac41WzbHVwqL4NnG29JLCwJ9kE2nwKrJDq3MFbeUCoXFuzn7TK2nFz%0Adq2Xi6vsYmpN9P.KRONyz4%2BOdvZJ9xwImEcg6JJ%2B2eWV1.r83%2BMccp5tiabW%0Av9PI3Ow317S0Ek1J%2Be1bZ%2BcWc1jtsX61b64cPcew1CUEk08X3BZGLjRPvDmV%0ALECfo1eoJThICBlhoESZDLooESJDLIoESRDLQbNt..SJhywQVeRQbNNCASzl%0Aimh.IZSwQVEWQaFNxh3RZSvQVCWRa9sAxS.iTLoQRv0IzhIHOAFZwDz9uJZw%0ADzdcz5wTijiqoMGWAsHNs43JjbbEs43JjbbEs43JjbbEs43JHuSzliKQxwkz%0AliKgrEP753HPhVKlRHLQ7G6PfDs1dkHqDHock.AxSrHnMCWf37UP6yGf7.vh%0AqbAyTUjdUfn6eyQmMXpPEYwcg7EG8wSdRzmw1gijT8uGQAVimBVUBRwpYBXM%0ANIkTrpmBVkFRwpZBX0jHIEqxofUIiTrJl.V0wwjhU9TvpPQJVYS.qpXNkXMc%0AJPkmPITmxtVRCo6ZMkMsjbR2zZJ6YIzjtm0T1xRvHcKqoriEW%2BrsiEjA0I3O%0AsYvOW9KPs3oTJ%0A-----------end_max5_patcher-----------&#038;copied=copied!&#038;;copyto=copy to clipboard"  bgcolor="#ffffff"  wmode="opaque" /> </object></div>
<div id="post149948-0" style="display:none;visibility:hidden;" >
<div class="patchtoggleInfo"><small>Copy <b>all</b> of the following text.Then, in Max, select <em>New From Clipboard</em>.</small></div>
<div class="patchtogglediv">
<pre><code id="pastedcode149948-0">----------begin_max5_patcher----------
1221.3oc2b00iSBDE841eEDdzTIy2.lnI96vXLzVbWLsPSKabUi6ucgAFsZ1
Bmtrdyx7RaFXV3bOmam4v81t+X4hv0U2meJL3MAeHXwherbwB6gZOvh9wKB2
mc+lcYmrSKr7t8qyO9P3ptycHqdysEk27oi4ap6tNbtIhsJfqSaeSaGHXQrf
O1+2Tr0dkpV+kWaDtKzmqJqKy1maO06OVjsycll6XQ4t7Z68Wzev8UayOeby
jptq9emU6E8Tw2syjKZ.R2g6lY82Nj2g3vSE2T1dCCB+7tprl3vA0lSzNkFz
2N9mKW19xJPpZ8c00UkCvTIIVxQlJbbz.LE6Q4C9iF+7KEnqyJaBnO9DBlx7
u1.CGFpyu2FCg4auI+AfPTqaeSoFLD4WYx.+YQ7sbxpovMiKzRIrPqSlmBce
HhHz5TeUniSX3BsYVJztPDRni8VgVDiKzp4oP2GhPBs1WEZSrBWnEyRg1EhP
BszaEZAGWnmmlwbgHjP6slwzlDXgVMOMi4BQDgV4slwzbMtPOOMi4BQHg1aM
ioLBbgddZFyEhPBs2ZFSwRwE54oYLWHBIzdqYLoFuxXp4oYLWHBIzdqYLICu
xXx4oYLWHhHzRu0LlPiWYL47zLlKDgDZu0LFOEuxXx4oYLWHBIzdqYLtBuxX
xmhYrCGyOkWVmUWTUd98UmzQ6ViRr9W98c8EP5gBudZRRrvMBSxYWASt5+.i
9129Pvq4QC0dotmyka07Nk+RTpv7D6o7imEdk8P9+TCDwqjgPNO6eHdgLDyU
2vWfZ1bayUDfbDI1x2piGjbXOKjCkY+4eea1lAMVEaietwF+Js60GK94oWwm
wYOeh36ZVBiqiF+qBgSEECoh7jY2ZXCwKpnw+lCfwKwdEuHiFuQ6X7hwq3EQ
z38kFiWzdEuLnEo91353E9f7hxq3EVz3c8DKeQ5S7RZz38HrmV51T8hzhvmn
kjnw6nFFsv8IZINZ79OgQKLehVLQi2sFHZI0mXkAc512ZCHVwqL5NnO299..
wJdkM2Ac41WzbHVwqL4NnG29JLCwJ9kE2nwKrJDq3MFbeUCoXFuzn7TK2nFz
dq2Xi6vsYmpN9P.KRONyz4+OdvZJ9xwImEcg6JJ+2eWV1.r83+Mccp5tiabW
v9PI3Ow317S0Ek1J+e1bZ+cWc1jtsX61b64cPcew1CUEk08X3BZGLjRPvDmV
LECfo1eoJThICBlhoESZDLooESJDLIoESRDLQbNt..SJhywQVeRQbNNCASzl
imh.IZSwQVEWQaFNxh3RZSvQVCWRa9sAxS.iTLoQRv0IzhIHOAFZwDz9uJZw
Dzdcz5wTijiqoMGWAsHNs43JjbbEs43JjbbEs43JjbbEs43JHuSzliKQxwkz
liKgrEP753HPhVKlRHLQ7G6PfDs1dkHqDHock.AxSrHnMCWf37UP6yGf7.vh
qbAyTUjdUfn6eyQmMXpPEYwcg7EG8wSdRzmw1gijT8uGQAVimBVUBRwpYBXM
NIkTrpmBVkFRwpZBX0jHIEqxofUIiTrJl.V0wwjhU9TvpPQJVYS.qpXNkXMc
JPkmPITmxtVRCo6ZMkMsjbR2zZJ6YIzjtm0T1xRvHcKqoriEW+rsiEjA0I3O
sYvOW9KPs3oTJ
-----------end_max5_patcher-----------</code></pre></div>
</div>
</p>						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149949</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149949</link>
					<pubDate>Thu, 29 Jan 2009 01:24:03 +0000</pubDate>
					<dc:creator>mzed</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: monohusche wrote on Wed, 28 January 2009 15:38<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> Hi all,<br />
> <br />
> what&#8217;s the most efficient way to get from a signal in the msp domain to discrete steps ?<br />
> <br />
> My approach: <br />
> <br />
> signal (0..1) &#8211;> [snapshot~ 1] &#8211;> [* 16] &#8211;> [change], but I would think taking such frequent snapshots isn&#8217;t efficient.<br />
> <br />
> thx<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>I&#8217;d be happier with a bunch of >~&#8217;s and edge~, too, as per X37V.</p>
<p>I wrote a thing called Stepmetro that&#8217;s a modular implementations of this approach. It&#8217;s in the CNMAT MMJ Depot:</p>
<p><a href="http://cnmat.berkeley.edu/downloads/" rel="nofollow">http://cnmat.berkeley.edu/downloads/</a></p>
<p>cheers,</p>
<p>mz</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149950</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149950</link>
					<pubDate>Thu, 29 Jan 2009 03:40:17 +0000</pubDate>
					<dc:creator>Andrew Benson</dc:creator>

					<description>
						<![CDATA[
						<p>Not sure what you have planned for the triggers, but if you wish to stay entirely in the signal world, you might enjoy the MSP externals I posted on my share page:</p>
<p><a href="http://www.cycling74.com/twiki/bin/view/Share/AndrewBenson" rel="nofollow">http://www.cycling74.com/twiki/bin/view/Share/AndrewBenson</a></p>
<p>Best,<br />
Andrew B.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149951</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149951</link>
					<pubDate>Thu, 29 Jan 2009 12:40:27 +0000</pubDate>
					<dc:creator>j.y.bernier</dc:creator>

					<description>
						<![CDATA[
						<p>If you need audio-accurate sampling times, you may sample the signal on an audio clock with sah~, using the accumulated clock pulse as an index to poke~ a buffer. Then dump the buffer as Max events with uzi/peek~. Using a stereo buffer and a flip-flop logic, you can dump channel 1 while channel 2 is written.</p>
<p>If event sampling rate equals audio sampling rate/2**n, you may also use poke~/peek~ inside a downsampled poly~ and dump every sample.</p>
<p>Hope this helps.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149952</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149952</link>
					<pubDate>Thu, 29 Jan 2009 16:21:20 +0000</pubDate>
					<dc:creator>i.te</dc:creator>

					<description>
						<![CDATA[
						<p>hi j.y.bernie,<br />
this sound very interesting. I haven&#8217;t seen this way before. Can you post an example, please?</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149953</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149953</link>
					<pubDate>Thu, 29 Jan 2009 19:55:47 +0000</pubDate>
					<dc:creator>mattyo</dc:creator>

					<description>
						<![CDATA[
						<p>you couls also use a seq~ with the folLowing cue in it:</p>
<p>0, id sixteenths;<br />
1, 0. 1;<br />
2, 0.0625 2;<br />
3, 0.125 3;<br />
4, 0.1875 4;<br />
5, 0.25 5;<br />
6, 0.3125 6;<br />
7, 0.375 7;<br />
8, 0.4375 8;<br />
9, 0.5 9;<br />
10, 0.5625 10;<br />
11, 0.625 11;<br />
12, 0.6875 12;<br />
13, 0.75 13;<br />
14, 0.8125 14;<br />
15, 0.875 15;<br />
16, 0.9375 16;</p>
<p>M</p>
<p>On Jan 28, 2009, at 18:38, Nick Laqua wrote:</p>
<p>><br />
> Hi all,<br />
><br />
> what&#8217;s the most efficient way to get from a signal in the msp domain  <br />
> to discrete steps ?<br />
><br />
> My approach:<br />
><br />
> signal (0..1) &#8211;> [snapshot~ 1] &#8211;> [* 16] &#8211;> [change], but I would  <br />
> think taking such frequent snapshots isn&#8217;t efficient.<br />
><br />
> thx</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149954</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149954</link>
					<pubDate>Thu, 29 Jan 2009 23:39:34 +0000</pubDate>
					<dc:creator>jvkr</dc:creator>

					<description>
						<![CDATA[
						<p>This solution requires cambio~ from cnmat (<a href="http://www.cnmat.berkeley.edu/MAX" rel="nofollow">http://www.cnmat.berkeley.edu/MAX</a>).</p>
<p>_<br />
johan</p>
<p>
<div><span id="toggle149954-0" class="patchtoggle" onmousedown="toggleMaxPatch('post149954-0', 'er149954-0');">&#8211; Pasted Max <span id="maxversion149954-0"></span> Patch, click to <span id="er149954-0">expand</span>. &#8211;</span> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  width="110" height="14" class="clippy" ><param name="allowScriptAccess" value="always" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param NAME="FlashVars" value="copied=copied!&#038;copyto=copy to clipboard"/><param name="bgcolor" value="#FFFFFF"/><param name="wmode" value="opaque"/><embed src="/wp-content/plugins/bbpress-copy-compressed/clippy.swf"  width="110" height="14"   name="clippy"  quality="high"  allowScriptAccess="always"  type="application/x-shockwave-flash"  pluginspage="http://www.macromedia.com/go/getflashplayer"  FlashVars="text=----------begin_max5_patcher----------%0A391.3ocyUF0aBBCDG%2B4xmhl93ByPKHx1Gj8xhYo.UsKPKANxbyne1GTf3zEi%0A.RL9Ruz6Zt6%2B8qMW2YgHg5shBB9U76XDZmEBYbU6.0tGQR4aiR3EliQBKAPq%0AH1MgTkoRUh.LwnsNy3PzFoZ8G4hHnI2Lp%2BLGaLiEXLNcq3kGSjtDNOSxXSM0%0Age9bPWIaNF7clnI0jPtZMAurN5dKq5E6d1KUEMTj2k3UZETH%2BwjVJsRgiqEc%0A7pMyuVKx9eK5%2BWkn3oFkPdSjGyU7K19REPruIJH9pp5c4GDaglKZInyOfcvz%0Ag.H1UADctw3uX3uA7FEfJjqU7jIkMOc.S8mXr3xpMddCGKtOJXIaCuv7lYFa%0AhgiiYtwhWFNbXOJvIhmFJ0Gl1oMz.ybl4i.LzQAlUIZNbJWLkjjHUm%2BQhQ10%0A9OEVE5x7nt70N2CeT3whBPp3fr5WlimI3jyrQFGKLg63VpLNSWMJrUBW3hqu%0AJh1CE4eWUjWOTD8tpH2dnHu6phX8PQt2fhp1r25WtqBHoC%0A-----------end_max5_patcher-----------&#038;copied=copied!&#038;;copyto=copy to clipboard"  bgcolor="#ffffff"  wmode="opaque" /> </object></div>
<div id="post149954-0" style="display:none;visibility:hidden;" >
<div class="patchtoggleInfo"><small>Copy <b>all</b> of the following text.Then, in Max, select <em>New From Clipboard</em>.</small></div>
<div class="patchtogglediv">
<pre><code id="pastedcode149954-0">----------begin_max5_patcher----------
391.3ocyUF0aBBCDG+4xmhl93ByPKHx1Gj8xhYo.UsKPKANxbyne1GTf3zEi
.RL9Ruz6Zt6+8qMW2YgHg5shBB9U76XDZmEBYbU6.0tGQR4aiR3EliQBKAPq
H1MgTkoRUh.LwnsNy3PzFoZ8G4hHnI2Lp+LGaLiEXLNcq3kGSjtDNOSxXSM0
ge9bPWIaNF7clnI0jPtZMAurN5dKq5E6d1KUEMTj2k3UZETH+wjVJsRgiqEc
7pMyuVKx9eK5+Wkn3oFkPdSjGyU7K19REPruIJH9pp5c4GDaglKZInyOfcvz
g.H1UADctw3uX3uA7FEfJjqU7jIkMOc.S8mXr3xpMddCGKtOJXIaCuv7lYFa
hgiiYtwhWFNbXOJvIhmFJ0Gl1oMz.ybl4i.LzQAlUIZNbJWLkjjHUm+QhQ10
9OEVE5x7nt70N2CeT3whBPp3fr5WlimI3jyrQFGKLg63VpLNSWMJrUBW3hqu
Jh1CE4eWUjWOTD8tpH2dnHu6phX8PQt2fhp1r25WtqBHoC
-----------end_max5_patcher-----------</code></pre></div>
</div>
</p>						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149955</guid>
					<title><![CDATA[Re: efficient way to generate step sequence from phasor]]></title>
					<link>http://cycling74.com/forums/topic/efficient-way-to-generate-step-sequence-from-phasor/#post-149955</link>
					<pubDate>Fri, 30 Jan 2009 14:37:55 +0000</pubDate>
					<dc:creator>j.y.bernier</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: i.te wrote on Thu, 29 January 2009 09:21<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> I haven&#8217;t seen this way before. Can you post an example, please?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>I know no simple way to pass from the signal domain to the events domain with enough time-accuracy, since both schedulers are distinct. Sampling with a Max clock (snapshot~) will not produce evenly spaced audio samples, unless Max Scheduler in Overdrive is on AND Scheduler in Audio Interrupt is on AND Signal Vector Size is low enough.</p>
<p>You may try this: sample a LFO with snapshot~ 1. Use the output to FM modulate a cycle in the audible range. The tone &#8220;copies&#8221; the LFO only when above DSP conditions are met.</p>
<p>cambio~ does not depend on Overdrive/Interrupt. From what i can see (and hear), it outputs 3 evenly spaced audio samples per signal vector. So, you are required to set Signal Vector Size = 3*(Sampling Frequency)/(events/sec you want).</p>
<p>It all depends on your application, how much events/sec you want, and how much time accuracy relatively to the audio clock you need.</p>
<p>There are two steps involved: downsampling and converting audio samples to events. As I needed both high timing accuracy and precise event rates down to millisecond to convert digital modulations to bits, I&#8217;ve tried using poke~/peek~ for the second step. Downsampling may be accomplished with sah~ (arbitrary sampling rate) or with poly~ (audio sampling rate / 2**n).</p>
<p>None is really satisfying since we need, at some point, to call Max&#8217;s scheduler (edge~). Again, there is a dependency on vector size, Overdrive and/or Interrupt. However, that was enough for me to get proper bit stream decoding (ever tried to program an UART in audio?). Here is the poly~ example. Wrap in a poly~ and send the message &#8216;down N&#8217;:</p>
<p>
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P window linecount 1;<br />
#N in~ 1;<br />
#X comment (Signal) Input;<br />
#P newobj 30 53 33 196617 in~ 1;<br />
#P newex 254 153 32 196617 sel 1;<br />
#P window linecount 2;<br />
#P message 254 176 111 196617 ERROR downsample: signal vector too small;<br />
#P window linecount 1;<br />
#P newex 254 208 32 196617 print;<br />
#P newex 254 131 27 196617 < 2;<br />
#N out 2;<br />
#X comment Sampling Rate;<br />
#P newobj 379 275 33 196617 out 2;<br />
#P newex 30 275 112 196617 buffer~ $0-DECIM 10;<br />
#B color 5;<br />
#P comment 221 71 61 196617 vector size;<br />
#P number 216 86 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P newex 169 204 57 196617 uzi 1 0;<br />
#P newex 215 255 107 196617 peek~ $0-DECIM;<br />
#B color 5;<br />
#N out 1;<br />
#X comment (Float) Downsampled signal;<br />
#P newobj 215 275 33 196617 out 1;<br />
#P newex 169 172 36 196617 edge~;<br />
#P newex 30 255 112 196617 poke~ $0-DECIM;<br />
#B color 5;<br />
#P newex 81 127 82 196617 count~ 0 16 1 1;<br />
#P flonum 379 86 57 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P newex 188 39 54 196617 dspstate~;<br />
#P comment 385 71 60 196617 samplerate;<br />
#P connect 17 0 4 0;<br />
#P connect 3 0 4 1;<br />
#P fasten 9 0 3 1 221 118 158 118;<br />
#P lcolor 15;<br />
#P fasten 3 0 5 0 86 153 174 153;<br />
#P connect 5 0 8 0;<br />
#P connect 8 2 7 0;<br />
#P connect 7 0 6 0;<br />
#P connect 1 2 9 0;<br />
#P connect 9 0 8 1;<br />
#P lcolor 15;<br />
#P fasten 9 0 13 0 221 118 259 118;<br />
#P lcolor 15;<br />
#P connect 13 0 16 0;<br />
#P connect 16 0 15 0;<br />
#P connect 15 0 14 0;<br />
#P fasten 1 1 2 0 207 62 384 62;<br />
#P connect 2 0 12 0;<br />
#P window clipboard copycount 18;</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

