<?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: Euclidean Algorithm to Generate Beats (Paper and Starting patch)</title>
		<atom:link href="http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/feed</link>
		<description></description>
		<pubDate>Mon, 17 Jun 2013 22:00:44 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-40813</guid>
					<title><![CDATA[Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-40813</link>
					<pubDate>Wed, 12 Nov 2008 23:47:25 +0000</pubDate>
					<dc:creator>Marcos</dc:creator>

					<description>
						<![CDATA[
						<p>Stumbled upon this site and this paper. Talks about generating beats and such using Euclid&#8217;s algorithm and how it relates to world music:</p>
<p>Paper: <a href="http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf" rel="nofollow">http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf</a></p>
<p>Site with Example and Code: <a href="http://ruinwesen.com/blog?id=216" rel="nofollow">http://ruinwesen.com/blog?id=216</a></p>
<p>
I wanted to implement this in MAXMSP but I have a feeling I will need to just call in some external Java or C code. Below is what I have so far, all you do is select the number of HITS you want in a certain time frame (beats) and hit compute&#8230;all it does so far is generate a list of 1&#8242;s (the hits) followed by 0&#8242;s (the rests). The real algorithm is supposed to go from there, but I&#8217;m not sure how to implement it using MAX objects. Anyone care to look into this? I can easily do any combination by hand, but the whole point would be to automate it and let the user decide all the parameters.</p>
<p>
<div><span id="toggle40813-0" class="patchtoggle" onmousedown="toggleMaxPatch('post40813-0', 'er40813-0');">&#8211; Pasted Max <span id="maxversion40813-0"></span> Patch, click to <span id="er40813-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----------%0A1163.3oc0Yt0iahCEG%2B4jOEHdNyHeia69z1pJ02pT09TqVshPbm5cASTvnc1%0Aope2WvFRH2.aBwgUQJP.h4%2B4mOmiO19GKW3tN%2BUZgqyu37UmEK9wxEKjWp9B%0AKZ98B2r3WSRiKjOlaRdVFkKbWotmf9pPd8OSKJSEL9KNegtKupMadfTFmljW%0AxkOEp4heKmK3wYT4%2B721whSae7s6nEUMerfky%2ByczDgRavvvmAqbfddxC.b8%0AAD3Yfyez7GYajMV95%2B5IOTaqwKyX7TpPJcX6qHVj78Jg1o4UMNQdvyu9aLoS%0AaWK2B1aR4BQU29bs18ET8VyKEsuVP8E%2B4xk0es5Fg76yy1VJnSKaQfHIMgPo%0A4G0KZglhVTPW1Blur82yEwoNuiFK166ZNJwRqU4rF.6kj.SIojNsjz%2B7toYC%0AI%2BH6FPHzO7.Bw8hPRjwHD10YbFfPN8eprjyH31cLtv4Sb5vXrKOLNuGjHS1Q%0AhjoU8B6GHvm8h7fgA2aqW3r1Yu8odEh%2BcKUIY20w7WbW435djHGDNXuQBGLQ%0ABGL5YO87VNlKnQvk0kBQkmVuD3RADXhw1HP4..7Z65OwFO1XfSWm7tSpS3Lq%0Azz9W7EscPOiLAHRaGqb98zMavcCIpn9u7gO%2BIyB6wFOlbikqB68mIg8uk5PS%0AXoENvq6SXdbOI3hzAMbRQeYQlAA2.cPSGcJpGNnvHGCjuoNFD4PhpgGIQiKf%0A.Lk17w4HzypMNQOxCoLUUhf.6Y2Yzhh3WnmY3Pm1Of5OSUNRDdrwBpoH.aND%0A9PSRR2R4abJnhICKistILR53DPd3CcTWxT0mAKZ5niFRIvHoDL.oxmNNJgu2%0AEPcs4xol4JBiuRoQcXCLZrrgDdkVWu4b.mxjNSU7DLzzzL9JeCB5Pk11IIyI%0Ar3lsbiK1.gQOHSerSx.5ORe8FazlSxHkUHdJNIoLqhcg8VVIqdUzLqylLVPD%0A4eXINryLJuVL%2BjUZADYboEAgOHO%2Bq3rT9FS6wOGg2BXr.RUVpMG9rmhLFFQl%0AilPiiiTSMSM1oMWXlpVXMc2UQPsoeVwUrW34UROkk72cMKyWaYnZuOTSH0q2%0A5QBLeEA75Tp1EZ7aZkQmvoA%2BTuv2L%2BNeiGrVQoPxs328%2BlLVdirJN6mupLix%0AKGJp730NhInYM66Io5FqptaXyQneyIXTyI9sORUQDUm8q5.xqNqB0t3.ApIT%0A2aX79oqWaMMpsaQSZlrjzNo8K%2BBuoParkxhZ99Ho1dmFP2e5Ri2TyH7AjdOS%0AVJaQ417dxdzK0T80OFyE4k6RZ4X6pe5bPXanEBFeu.95g8MpyC8c1lMTd2EO%0AOisYadU2xdWvK1oajlfCoIrU0T8tCMHmPO.MAmWZBgzfSm.y6NmH53iGXWMg%0A0USP602gmebBpSXmuUkjNYLQ10CGpiGNxtYwqWN3A0Dz29ZZnLlPf80DZ.MY%0AY2oHcbmrKlpWy3gcmHVUS5TSvI59tiof4GlNIHednIzLTSZkwDM6FrCBrZYJ%0A5jHvtE8FpwnJ9VkQ5T1jcSLoSN.KWBtl8Zyqhc8tA%2Bnpe7yk%2BGfIgweI%0A-----------end_max5_patcher-----------&#038;copied=copied!&#038;;copyto=copy to clipboard"  bgcolor="#ffffff"  wmode="opaque" /> </object></div>
<div id="post40813-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="pastedcode40813-0">----------begin_max5_patcher----------
1163.3oc0Yt0iahCEG+4jOEHdNyHeia69z1pJ02pT09TqVshPbm5cASTvnc1
ope2WvFRH2.aBwgUQJP.h4+4mOmiO19GKW3tN+UZgqyu37UmEK9wxEKjWp9B
KZ98B2r3WSRiKjOlaRdVFkKbWotmf9pPd8OSKJSEL9KNegtKupMadfTFmljW
xkOEp4heKmK3wYT4+721whSae7s6nEUMerfky+yczDgRavvvmAqbfddxC.b8
AD3Yfyez7GYajMV95+5IOTaqwKyX7TpPJcX6qHVj78Jg1o4UMNQdvyu9aLoS
aWK2B1aR4BQU29bs18ET8VyKEsuVP8E+4xk0es5Fg76yy1VJnSKaQfHIMgPo
4G0KZglhVTPW1Blur82yEwoNuiFK166ZNJwRqU4rF.6kj.SIojNsjz+7toYC
I+H6FPHzO7.Bw8hPRjwHD10YbFfPN8eprjyH31cLtv4Sb5vXrKOLNuGjHS1Q
hjoU8B6GHvm8h7fgA2aqW3r1Yu8odEh+cKUIY20w7WbW435djHGDNXuQBGLQ
BGL5YO87VNlKnQvk0kBQkmVuD3RADXhw1HP4..7Z65OwFO1XfSWm7tSpS3Lq
zz9W7EscPOiLAHRaGqb98zMavcCIpn9u7gO+IyB6wFOlbikqB68mIg8uk5PS
XoENvq6SXdbOI3hzAMbRQeYQlAA2.cPSGcJpGNnvHGCjuoNFD4PhpgGIQiKf
.Lk17w4HzypMNQOxCoLUUhf.6Y2Yzhh3WnmY3Pm1Of5OSUNRDdrwBpoH.aND
9PSRR2R4abJnhICKistILR53DPd3CcTWxT0mAKZ5niFRIvHoDL.oxmNNJgu2
EPcs4xol4JBiuRoQcXCLZrrgDdkVWu4b.mxjNSU7DLzzzL9JeCB5Pk11IIyI
r3lsbiK1.gQOHSerSx.5ORe8FazlSxHkUHdJNIoLqhcg8VVIqdUzLqylLVPD
4eXINryLJuVL+jUZADYboEAgOHO+q3rT9FS6wOGg2BXr.RUVpMG9rmhLFFQl
ilPiiiTSMSM1oMWXlpVXMc2UQPsoeVwUrW34UROkk72cMKyWaYnZuOTSH0q2
5QBLeEA75Tp1EZ7aZkQmvoA+Tuv2L+NeiGrVQoPxs328+lLVdirJN6mupLix
KGJp730NhInYM66Io5FqptaXyQneyIXTyI9sORUQDUm8q5.xqNqB0t3.ApIT
2aX79oqWaMMpsaQSZlrjzNo8K+BuoParkxhZ99Ho1dmFP2e5Ri2TyH7AjdOS
VJaQ417dxdzK0T80OFyE4k6RZ4X6pe5bPXanEBFeu.95g8MpyC8c1lMTd2EO
OisYadU2xdWvK1oajlfCoIrU0T8tCMHmPO.MAmWZBgzfSm.y6NmH53iGXWMg
0USP602gmebBpSXmuUkjNYLQ10CGpiGNxtYwqWN3A0Dz29ZZnLlPf80DZ.MY
Y2oHcbmrKlpWy3gcmHVUS5TSvI59tiof4GlNIHednIzLTSZkwDM6FrCBrZYJ
5jHvtE8FpwnJ9VkQ5T1jcSLoSN.KWBtl8Zyqhc8tA+npe7yk+GfIgweI
-----------end_max5_patcher-----------</code></pre></div>
</div>
</p>						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144784</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144784</link>
					<pubDate>Wed, 12 Nov 2008 23:48:51 +0000</pubDate>
					<dc:creator>Marcos</dc:creator>

					<description>
						<![CDATA[
						<p>Another code example:</p>
<p><a href="http://blog.noizeramp.com/2008/10/26/rhythm-generation-with-an-euclidian-algorithm/" rel="nofollow">http://blog.noizeramp.com/2008/10/26/rhythm-generation-with-an-euclidian-algorithm/</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144785</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144785</link>
					<pubDate>Thu, 13 Nov 2008 01:30:07 +0000</pubDate>
					<dc:creator>Nick Inhofe</dc:creator>

					<description>
						<![CDATA[
						<p>Here is a max/msp implementation that I came up with. I can&#8217;t guarantee that it is 100% mathematically sound, because like the lisp implementation, its a bit of a hack. </p>
<p>However, I did do a unit test and compared the output of my patch with the results in the paper. Every result of my patch created the same patterns, except many of them needed to be rotated using [zl rotate] for the patterns to start at the same time as the examples in the paper. </p>
<p>Also, keep in mind that the list generation is not instant and probably isn&#8217;t suited for changing patterns live/on the fly. Data moves to and from several colls to sort everything so I would expect a bit of a delay to create a list, especially if there is a lot of other things going on. </p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144786</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144786</link>
					<pubDate>Thu, 13 Nov 2008 01:37:01 +0000</pubDate>
					<dc:creator>Nick Inhofe</dc:creator>

					<description>
						<![CDATA[
						<p>Also, I just realized that the help file has a sound generator called blip~. Its just a simple thing I put together for testing stuff but if you want the help file work properly just put the attached file in your search path.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144787</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144787</link>
					<pubDate>Thu, 13 Nov 2008 01:42:11 +0000</pubDate>
					<dc:creator>Nick Inhofe</dc:creator>

					<description>
						<![CDATA[
						<p>Ok. This should have all the files in one zip. I also dropped the print object that was in the patch for testing. </p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144788</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144788</link>
					<pubDate>Thu, 13 Nov 2008 03:07:21 +0000</pubDate>
					<dc:creator>Marcos</dc:creator>

					<description>
						<![CDATA[
						<p>Thanks I look forward to testing this out and seeing how you did it. I&#8217;m mad at myself for not being able to do it, argh! the rotation isn&#8217;t a problem! I&#8217;ll let you know how it pans out.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144789</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144789</link>
					<pubDate>Thu, 13 Nov 2008 03:49:33 +0000</pubDate>
					<dc:creator>Marcos</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: Nick Inhofe wrote on Wed, 12 November 2008 20:42<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> Ok. This should have all the files in one zip. I also dropped the print object that was in the patch for testing. <br />
> <br />
> <br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Looks good, still going through it to see how you did everything. In the coll #0 rMerge 1, What does the #0, rMerge and 1 mean/do?</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144790</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144790</link>
					<pubDate>Thu, 13 Nov 2008 04:51:40 +0000</pubDate>
					<dc:creator>Nick Inhofe</dc:creator>

					<description>
						<![CDATA[
						<p>#0 is a unique identifier so you can have multiple instances of ndi.bjorkland. Each instance internally  shares its data between colls, but that data won&#8217;t be passed across intances.  The 1 after the name just says that the name isn&#8217;t a textfile to be read. This is covered in the coll reference/help file.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144791</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144791</link>
					<pubDate>Thu, 13 Nov 2008 05:00:53 +0000</pubDate>
					<dc:creator>Adam Murray</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: marcoskohler wrote on Wed, 12 November 2008 15:48<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> Another code example:<br />
> <br />
> <a href="http://blog.noizeramp.com/2008/10/26/rhythm-generation-with-an-euclidian-algorithm/" rel="nofollow">http://blog.noizeramp.com/2008/10/26/rhythm-generation-with-an-euclidian-algorithm/</a><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>If you see Ruby code you want to try in Max, you can use my Ruby object: <a href="http://compusition.com/web/software/maxmsp/ajm-objects" rel="nofollow">http://compusition.com/web/software/maxmsp/ajm-objects</a></p>
<p>Copy and paste coding is so easy ;)<br />
(but I had some issues copying directly from my web browser to Max, it was converting some of the characters to garbage. I pasted into a plaintext editor and then copied from there into Max textedit and it was fine.)</p>
<p>
<div><span id="toggle144791-0" class="patchtoggle" onmousedown="toggleMaxPatch('post144791-0', 'er144791-0');">&#8211; Pasted Max <span id="maxversion144791-0"></span> Patch, click to <span id="er144791-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----------%0A849.3oc6XssbaBCD8Y6uBMLoyjLiCUBLWbmzm6ePeIISFAnXqTPhQHZbZR92%0AqtfuDahK9B9o5GvlcWVN5rWzJ%2B5vANI74jJGv2.2BFL30gCFXDoELn49ANE3%0A4o43JiYNLxy7jmbFYUIIykFwYjGIhb9yKT7HmIqn%2BgnUNwE1HkUWPY4DowUn%0AUB40xMkRyL9U8ttFstSY3BiSc9IQjgY3E5rtP9RIwtZbb.22npDKSmQYSePP%0ARkVsnvXEn.iCzWCf5qnHWH3d8S79vg5Ki5HijxKJHL4VTRkjTVcz7Aba9vqK%0A7QKK5HyZFgB0e4O9nVzJPlPDKdYpUAsntX8UQ6K3joo7btvhGnabn5SznV%2BE%0ARircwSyzL8GcWDLHNdTq%2BZc2IEzpTbtAaP2Isx6day69GTdHUmZ.bRvro6Lk%0ArI536YhNA%2BO5rmQmw8ZzwaxIL5zdKzR7u.H.ZO5X300NnAm9NnMDRro2osa5%0AASHEjpJ7Tx1apPqTICI0RB3Bzc2MBbgWevNg8E63AizeMw1pM3zltLUfSN5c%0AWZoNJ5vXiQcaGWuP6tOv9nBJmiyLUx8vPHwGDs7O6qrfVfmfAQ1nL5TVhLou%0AJQ7GaqT75kZjRAojvx.UDYuLXJr2nEaBQnWeTlTL%2BI.9oBWQcxK8Bsf5sFpS%0AL67FcbzhlHHYTYaGhArZOmKKqyqHUi.lA4u5NA.ThqUR.e2JBbMvZhQEQ7f4%0ANk1Kar6qM5uxUxefpsRPJvTVFQnrpwnurzIFCl8hbVgR6s2a7pQkqjppsAYb%0AvaFAuoUsz1atAfrBVhglG300LABdeymBBnOZeCfaVgLsUpZlF3Pj0BVyybmP%0AIeAokSYjTdMyvbnw6eZjJ9WVKK3YjOO4ZbKIWse5mePXjeuL2RhSV3X3t1wp%0AY5utt4UjuIIb73ki9bROvnMX2GmXD4efGYrYJOjoryOp0xNCwYxG13ORv3Os%0A7OxEU7ZQ5hnPyj6fUi%2BmQpjTFVR4r0rI3C1LilkQXquXKnYkbU3rABeRboqH%0AJnCHJ7rhH0TYpCGraDo66tOPBEG6Fnxmisa4r5liDqgcf81WrdjPZiW2mfI3%0A4ESvNfoImUH42wJQzYCQwcItcdCacAQdmWH40ALEcDPRcy6C%2BKPovfCL%0A-----------end_max5_patcher-----------&#038;copied=copied!&#038;;copyto=copy to clipboard"  bgcolor="#ffffff"  wmode="opaque" /> </object></div>
<div id="post144791-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="pastedcode144791-0">----------begin_max5_patcher----------
849.3oc6XssbaBCD8Y6uBMLoyjLiCUBLWbmzm6ePeIISFAnXqTPhQHZbZR92
qtfuDahK9B9o5GvlcWVN5rWzJ+5vANI74jJGv2.2BFL30gCFXDoELn49ANE3
4o43JiYNLxy7jmbFYUIIykFwYjGIhb9yKT7HmIqn+gnUNwE1HkUWPY4DowUn
UB40xMkRyL9U8ttFstSY3BiSc9IQjgY3E5rtP9RIwtZbb.22npDKSmQYSePP
RkVsnvXEn.iCzWCf5qnHWH3d8S79vg5Ki5HijxKJHL4VTRkjTVcz7Aba9vqK
7QKK5HyZFgB0e4O9nVzJPlPDKdYpUAsntX8UQ6K3joo7btvhGnabn5SznV+E
RircwSyzL8GcWDLHNdTq+Zc2IEzpTbtAaP2Isx6day69GTdHUmZ.bRvro6Lk
rI536YhNA+O5rmQmw8ZzwaxIL5zdKzR7u.H.ZO5X300NnAm9NnMDRro2osa5
ASHEjpJ7Tx1apPqTICI0RB3Bzc2MBbgWevNg8E63AizeMw1pM3zltLUfSN5c
WZoNJ5vXiQcaGWuP6tOv9nBJmiyLUx8vPHwGDs7O6qrfVfmfAQ1nL5TVhLou
JQ7GaqT75kZjRAojvx.UDYuLXJr2nEaBQnWeTlTL+I.9oBWQcxK8Bsf5sFpS
L67FcbzhlHHYTYaGhArZOmKKqyqHUi.lA4u5NA.ThqUR.e2JBbMvZhQEQ7f4
Nk1Kar6qM5uxUxefpsRPJvTVFQnrpwnurzIFCl8hbVgR6s2a7pQkqjppsAYb
vaFAuoUsz1atAfrBVhglG300LABdeymBBnOZeCfaVgLsUpZlF3Pj0BVyybmP
IeAokSYjTdMyvbnw6eZjJ9WVKK3YjOO4ZbKIWse5mePXjeuL2RhSV3X3t1wp
Y5utt4UjuIIb73ki9bROvnMX2GmXD4efGYrYJOjoryOp0xNCwYxG13ORv3Os
7OxEU7ZQ5hnPyj6fUi+mQpjTFVR4r0rI3C1LilkQXquXKnYkbU3rABeRboqH
JnCHJ7rhH0TYpCGraDo66tOPBEG6Fnxmisa4r5liDqgcf81WrdjPZiW2mfI3
4ESvNfoImUH42wJQzYCQwcItcdCacAQdmWH40ALEcDPRcy6C+KPovfCL
-----------end_max5_patcher-----------</code></pre></div>
</div>
</p><p>
Max 4 version:</p>
<p>#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P window linecount 1;<br />
#P newex 168 45 50 196617 deferlow;<br />
#P comment 87 116 34 196617 steps;<br />
#P number 87 132 35 9 1 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P number 29 132 35 9 1 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P newex 29 180 68 196617 pak 1 1;<br />
#P message 29 207 94 196617 distribute $1, $2;<br />
#P newex 168 266 30 196617 grab;<br />
#P newex 168 20 48 196617 loadbang;<br />
#P window linecount 0;<br />
#P message 29 349 224 196617;<br />
#P window linecount 1;<br />
#P newex 29 320 62 196617 prepend set;<br />
#P newex 29 295 72 196617 mxj ajm.ruby;<br />
#P user textedit 168 73 412 253 32776 3 9 &#8220;def distribute(pulses, steps)<br />
  pauses    = steps &#8211; pulses<br />
  per_pulse = (pauses / pulses).to_i<br />
  remainder = pauses % pulses</p>
<p>  rhythm = []<br />
  pulses.times do |pulse|<br />
  	rhythm </p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144792</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144792</link>
					<pubDate>Thu, 13 Nov 2008 06:07:58 +0000</pubDate>
					<dc:creator>Marcos</dc:creator>

					<description>
						<![CDATA[
						<p>Thanks guys, will look into the Ruby object. For now I created a patch that uses what Nick made, has 6 tracks (For Ableton&#8217;s Impulse for example) and lets you select the midi-notes, velocity, etc. If you want to hear how it sounds just in MAXMSP you should send a port &#8220;yoursynthdevice&#8221; to all the noteouts.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144793</guid>
					<title><![CDATA[Re: Euclidean Algorithm to Generate Beats (Paper and Starting patch)]]></title>
					<link>http://cycling74.com/forums/topic/euclidean-algorithm-to-generate-beats-paper-and-starting-patch/#post-144793</link>
					<pubDate>Thu, 13 Nov 2008 07:38:15 +0000</pubDate>
					<dc:creator>Adam Murray</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: marcoskohler wrote on Wed, 12 November 2008 22:07<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> Thanks guys, will look into the Ruby object. For now I created a patch that uses what Nick made</p>
<p>That was just an FYI for future reference. Since you have something that works, there&#8217;s no particular reason to use the Ruby version unless you want to mess with the algorithm and find Ruby code easier to work with. Pure max patches are going to be more efficient most of the time.</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

