<?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: patch efficiency</title>
		<atom:link href="http://cycling74.com/forums/topic/patch-efficiency/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/patch-efficiency/feed</link>
		<description></description>
		<pubDate>Wed, 19 Jun 2013 20:19:34 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-24202</guid>
					<title><![CDATA[patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-24202</link>
					<pubDate>Tue, 31 Jan 2006 22:50:06 +0000</pubDate>
					<dc:creator>Simone</dc:creator>

					<description>
						<![CDATA[
						<p>I could swear that there was a substantial thread a while a back on ways to improve the efficiency of ones patch (mainly in the msp realm)&#8230;  I have been trying various google searches and have only come up with tips/comments regarding the efficiency of specific objects.  Anyone out there share my recollection?  or know where I can find this information.</p>
<p>  Thank you,</p>
<p>  sg</p>
<p>
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Bring words and photos together (easily) with<br />
 PhotoMail  &#8211; it&#8217;s free and works with Yahoo! Mail.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69590</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69590</link>
					<pubDate>Mon, 06 Feb 2006 13:24:31 +0000</pubDate>
					<dc:creator>Trum</dc:creator>

					<description>
						<![CDATA[
						<p>Depends what your doing with the patch really, but a good tip is to hide your hefty audio processors in patchers then plug in a mute~ to them, this will mean that when they are not in use they are not using any processing at all. Hope this helps</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69591</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69591</link>
					<pubDate>Mon, 06 Feb 2006 23:36:50 +0000</pubDate>
					<dc:creator>dlublin</dc:creator>

					<description>
						<![CDATA[
						<p>There was this very recent thread on using send~ &#038; receive~ vs. using regular send &#038; receive objects that is worth a good read-</p>
<p> <a href="http://www.cycling74.com/forums/index.php?t=msg&#038;th=18043" rel="nofollow">http://www.cycling74.com/forums/index.php?t=msg&#038;th=18043</a> &#038;start=0&#038;rid=0&#038;S=4938276267d0b11125605eef81787a1 c</p>
<p>The basic idea is that regular sends &#038; receives do not add any significant overhead to your patch, whereas send~ &#038; receive~ can. So if you&#8217;ve got a few hundred send~ objects in your patch, you may want to try cutting back. </p>
<p>No doubt there are many more threads on similar topics though..</p>
<p>- DL</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69592</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69592</link>
					<pubDate>Sun, 12 Feb 2006 19:16:43 +0000</pubDate>
					<dc:creator>magellan</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: Trum wrote on Mon, 06 February 2006 22:24<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> Depends what your doing with the patch really, but a good tip is to hide your hefty audio processors in patchers then plug in a mute~ to them, this will mean that when they are not in use they are not using any processing at all. Hope this helps<br />
> <br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>
do i need to use the &#8220;selector~&#8221; with this mute~ in a sub patcher ??? Where do I exactly put the mute~ to ???<br />
Last time when I used the selector~+mute~, it really screwed up and didn&#8217;t work like it was supposed to.  I&#8217;m very interested in this.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69593</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69593</link>
					<pubDate>Sun, 12 Feb 2006 19:50:09 +0000</pubDate>
					<dc:creator>vade</dc:creator>

					<description>
						<![CDATA[
						<p>selector~ works with begin~ to turn off and on DSP chains.</p>
<p>look at the mute~ helpfile and the turorials- it has an example.</p>
<p>mute~ or send enable 0 -> pcontrol</p>
<p>
v a d e //</p>
<p><a href="http://www.vade.info" rel="nofollow">http://www.vade.info</a><br />
abstrakt.vade.info</p>
<p>
I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I  <br />
LIVE! I LIVE! I LIVE! I LIVE!</p>
<p>You will not be saved by the Holy Ghost. You will not be saved by the  <br />
God Plutonium.</p>
<p>In fact, YOU WILL NOT BE SAVED!</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69594</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69594</link>
					<pubDate>Sun, 12 Feb 2006 21:15:35 +0000</pubDate>
					<dc:creator>Trum</dc:creator>

					<description>
						<![CDATA[
						<p>Hey, the help file isnt the best in the world, but all you need to do is to bury your audio processors inside the patches, and put pass~ before the audio output. Then if you connect a mute~ to the patch and turn a toggle on (or send a 1), it&#8217;ll turn off any audio coming out of the patch and stop it using any processing. Can still send the audio out anywhere you like into a selector~ or whatever, but you dont need to combine mute~ and selector to stop it using up processing. Any more questions dont worry bout asking.<br />
Tristram</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69595</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69595</link>
					<pubDate>Sun, 12 Feb 2006 21:26:07 +0000</pubDate>
					<dc:creator>magellan</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: vade wrote on Mon, 13 February 2006 04:50<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> selector~ works with begin~ to turn off and on DSP chains.<br />
> <br />
> look at the mute~ helpfile and the turorials- it has an example.<br />
> <br />
> mute~ or send enable 0 -> pcontrol</p>
<p>
thxx.<br />
oops, you are right.  It was begin~ that went with the selector~.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69596</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69596</link>
					<pubDate>Sun, 12 Feb 2006 21:30:33 +0000</pubDate>
					<dc:creator>magellan</dc:creator>

					<description>
						<![CDATA[
						<p>@Tristram</p>
<p>Thank you so much for your kindness, Tristram</p>
<p>I&#8217;m still not sure whether the mute goes outside the subpatch or not.<br />
So I&#8217;ll try them as soon as I get home.<br />
Will post any patches if it is necessary.</p>
<p>again, thank you.</p>
<p>snif</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69597</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69597</link>
					<pubDate>Sun, 12 Feb 2006 21:46:48 +0000</pubDate>
					<dc:creator>vade</dc:creator>

					<description>
						<![CDATA[
						<p>mute~ goes outside of the subpatch, which should then &#8216;kill&#8217; any  <br />
audio processing in there</p>
<p>
v a d e //</p>
<p><a href="http://www.vade.info" rel="nofollow">http://www.vade.info</a><br />
abstrakt.vade.info</p>
<p>
I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I  <br />
LIVE! I LIVE! I LIVE! I LIVE!</p>
<p>You will not be saved by the Holy Ghost. You will not be saved by the  <br />
God Plutonium.</p>
<p>In fact, YOU WILL NOT BE SAVED!</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69598</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69598</link>
					<pubDate>Sun, 12 Feb 2006 21:52:14 +0000</pubDate>
					<dc:creator>magellan</dc:creator>

					<description>
						<![CDATA[
						<p>thx for the tip, vade.<br />
will do.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69599</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69599</link>
					<pubDate>Mon, 13 Feb 2006 03:23:30 +0000</pubDate>
					<dc:creator>Roman Thilenius</dc:creator>

					<description>
						<![CDATA[
						<p>
>> do i need to use the &#8220;selector~&#8221; with this mute~ in a sub patcher ???</p>
<p>
with [selector~] you can in some situation even <br />
turn off a subcircuit as soon as it is started <br />
by a [begin~]</p>
<p>i never got mute~ to work the way i wanted so my <br />
preferred method remains making subpatchers and setting<br />
the processing off to the stuff inside with messages<br />
to universal. :)  <br />
of course that can produce clicks or interrupts.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69600</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69600</link>
					<pubDate>Tue, 14 Feb 2006 20:46:29 +0000</pubDate>
					<dc:creator>mzed</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: Roman Thilenius wrote on Sun, 12 February 2006 19:23<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> <br />
> >> do i need to use the &#8220;selector~&#8221; with this mute~ in a sub patcher ???<br />
> <br />
> <br />
> with [selector~] you can in some situation even <br />
> turn off a subcircuit as soon as it is started <br />
> by a [begin~]<br />
> </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>
My experience is that begin~ is obsolete, and that the mute~ / pass~ method is hard to deal with, and isn&#8217;t very effective.</p>
<p>I make a practice of encasing any processing you might want to mute inside a poly~ object, and then dealing with the mute message to thispoly~.  This shuts things down much more effectively.</p>
<p>On thing to worry about, send~&#8217;s inside of the poly~ need to be zero-ed before you mute them.</p>
<p>mzed</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69601</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69601</link>
					<pubDate>Wed, 15 Feb 2006 13:11:05 +0000</pubDate>
					<dc:creator>Roman Thilenius</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: <a href="mailto:simoneghetti@yahoo.co">simoneghetti@yahoo.co</a> wrote on Tue, 31 January 2006 15:50<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> I could swear that there was a substantial thread a while a back on ways to improve the efficiency of ones patch (mainly in the msp realm)</p>
<p>
an idea i always try to sell to people is to downsample<br />
specific objects or small arrays of only a few things.</p>
<p>if i build a compressor for example, i put objects<br />
like avg~ or average~ into subpatchers and make them<br />
a poly~ foo down 8, because it simply doesnt matter<br />
for the sound quality if you run power analysis at <br />
5khz or at 40khz, but it saves 7/8 CPU cycles.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69602</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69602</link>
					<pubDate>Wed, 15 Feb 2006 15:07:30 +0000</pubDate>
					<dc:creator>Simone</dc:creator>

					<description>
						<![CDATA[
						<p>&#8220;an idea i always try to sell to people is to downsample<br />
specific objects or small arrays of only a few things.&#8221;</p>
<p>This sounds likes what I need to do. The patch I have built attempts to emulate an analog synth and will eventually become a pluggo. it includes 2 oscillators (I am using the non aliasing objects tri~ saw~ etc. which take a little more CPU), 2 envelopes, 2 lfos, and a filter section (two biquads).  I am thinking that the LFOs could be one target for downsampling as well as the envelopes.  Currently the patch takes about 10% CPU&#8230; which kills my chances at making the synth usefully polyphonic.  I am not using and send~ receive~ pairs&#8230; and can&#8217;t think of what else to look for to make the patch more efficient.</p>
<p>sg</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69603</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69603</link>
					<pubDate>Wed, 15 Feb 2006 16:24:48 +0000</pubDate>
					<dc:creator>Roman Thilenius</dc:creator>

					<description>
						<![CDATA[
						<p>
yeah, custom adsr and LFO is a good example, i?ve also been doing it in FM synths, or to objects like line~ and meter~</p>
<p>it frees up the CPU you need to upsample biquad~ and comb~ &#8230;<br />
:)</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69604</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69604</link>
					<pubDate>Wed, 15 Feb 2006 16:39:29 +0000</pubDate>
					<dc:creator>Dan Nigrin</dc:creator>

					<description>
						<![CDATA[
						<p>At 6:11 AM -0700 2/15/06, Roman Thilenius wrote:<br />
>Quote: <a href="mailto:simoneghetti@yahoo.co">simoneghetti@yahoo.co</a> wrote on Tue, 31 January 2006 15:50<br />
>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
>>  I could swear that there was a substantial thread a while a back <br />
>>on ways to improve the efficiency of ones patch (mainly in the msp <br />
>>realm)<br />
><br />
><br />
>an idea i always try to sell to people is to downsample<br />
>specific objects or small arrays of only a few things.<br />
><br />
>if i build a compressor for example, i put objects<br />
>like avg~ or average~ into subpatchers and make them<br />
>a poly~ foo down 8, because it simply doesnt matter<br />
>for the sound quality if you run power analysis at<br />
>5khz or at 40khz, but it saves 7/8 CPU cycles.</p>
<p>Good approach Roman &#8211; a question though; does the downsampling action <br />
in the poly~ eat any resources itself?  I&#8217;m presuming it does, but <br />
perhaps less than the gains you are getting from operating at the <br />
lower sample rate&#8230;</p>
<p>Dan<br />
&#8211; <br />
Dan Nigrin<br />
Defective Records<br />
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X<br />
<a href="http://www.defectiverecords.com" rel="nofollow">http://www.defectiverecords.com</a></p>
<p><a href="http://www.jackosx.com" rel="nofollow">http://www.jackosx.com</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69605</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69605</link>
					<pubDate>Wed, 15 Feb 2006 16:58:18 +0000</pubDate>
					<dc:creator>Simone</dc:creator>

					<description>
						<![CDATA[
						<p>Quote: Roman Thilenius wrote on Wed, 15 February 2006 09:24<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
> <br />
> yeah, custom adsr and LFO is a good example, i?ve also been doing it in FM synths, or to objects like line~ and meter~<br />
> <br />
> it frees up the CPU you need to upsample biquad~ and comb~ &#8230;<br />
> :)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>what sorts of things do you down sample in FM synths?</p>
<p>sg</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69606</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69606</link>
					<pubDate>Wed, 15 Feb 2006 23:34:47 +0000</pubDate>
					<dc:creator>magellan</dc:creator>

					<description>
						<![CDATA[
						<p>would this help if I downsampled at the last end of my master-dac??<br />
Or do i have to use this downsample-method on every adc-inputs ?? 7/8-cpu-save sounds amazing.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69607</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69607</link>
					<pubDate>Fri, 17 Feb 2006 06:24:52 +0000</pubDate>
					<dc:creator>Roman Thilenius</dc:creator>

					<description>
						<![CDATA[
						<p>
>Dan Nigrin<br />
>Good approach Roman &#8211; a question though; does the downsampling >action <br />
>in the poly~ eat any resources itself? I&#8217;m presuming it does, >but <br />
>perhaps less than the gains you are getting from operating at >the <br />
>lower sample rate&#8230;</p>
<p>
100 copies of [poly~ 110.polyavg~ down 8] need 12,5% of<br />
what [avg~] would need.<br />
what i worry more is the messages priority inside vs. <br />
outside, i have no clue about that. for smaller subpatches <br />
it does not really matter of course.</p>
<p>
>simone<br />
>what sorts of things do you down sample in FM synths?</p>
<p>
the whole operator section for example, or an operator<br />
section which is to be used as suboscillator.</p>
<p>it would contain phasor, cycle, kink, line, +, -, *, /,<br />
delta, whatever you wish :)</p>
<p>you might want to use not less than 22 khz though.</p>
<p>
>sniffio<br />
>would this help if I downsampled at the last end of my >master-dac??<br />
>Or do i have to use this downsample-method on every adc-inputs >?? 7/8-cpu-save sounds amazing. </p>
<p>
adc and dac belong to the few signal objects which you <br />
can not downsample.<br />
if you want a 5.7 khz recording system you should get <br />
a macintosh performa 5300 with built-in headphone jack<br />
and system 7.0; it has that samplingrate by default.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69608</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69608</link>
					<pubDate>Fri, 17 Feb 2006 07:12:10 +0000</pubDate>
					<dc:creator>projects</dc:creator>

					<description>
						<![CDATA[
						<p>Hi Roman,</p>
<p>> if i build a compressor for example, i put objects<br />
> like avg~ or average~ into subpatchers and make them<br />
> a poly~ foo down 8, because it simply doesnt matter<br />
> for the sound quality if you run power analysis at<br />
> 5khz or at 40khz, but it saves 7/8 CPU cycles.</p>
<p>I disagree that it simply doesn&#8217;t matter.  Imagine you are analysing<br />
the output of a sine wave with the frequency set to pi/4 radians (or<br />
6k if your sampling rate is 48k) so that the period is exactly eight<br />
samples.  Your downsampling poly~ would then select a sample from this<br />
sine wave at exactly the same place in the cycle every time.  The<br />
value of that selected sample depends on the phase of the sine wave -<br />
it could be zero, it could be the full amplitude of the sine wave, or<br />
it could be anything in between.  So by placing your amplitude<br />
analysis in a downsampled poly~ you have introduced a phase-dependence<br />
into your compression algorithm, and in extreme cases the algorithm<br />
could badly fail to properly analyze the amplitude of the incoming<br />
signals.</p>
<p>Hi Dan,</p>
<p>> Good approach Roman &#8211; a question though; does the downsampling action<br />
> in the poly~ eat any resources itself?</p>
<p>Currently the downsampling in poly~ is very cheap &#8211; it just selects<br />
every Nth sample.  Upsampling is similarly cheap.</p>
<p>Ben</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69609</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69609</link>
					<pubDate>Fri, 17 Feb 2006 07:29:27 +0000</pubDate>
					<dc:creator>Peter McCulloch</dc:creator>

					<description>
						<![CDATA[
						<p>Here&#8217;s another way of implementing a LOT of envelope followers at once <br />
using vectral~.  Note that it&#8217;s not as useful if you want to read them <br />
all, as you have to do the demuxing, which would either require a lot <br />
of sample and holds, or a lot of sig~ + index~, but it&#8217;s very efficient <br />
because it requires a small amount of objects.  (and note that you only <br />
have to have one abs~  ->  sqrt~ !)  Depends on how much flexibility <br />
and resolution you need, but this is pretty good, especially if you <br />
want to track the envelope of a lot of signals, but only use the values <br />
for a few at a time.</p>
<p>Though not perhaps applicable here, I&#8217;d also recommend slide~.  As far <br />
as signal-rate envelope following objects go, it&#8217;s more CPU efficient <br />
than rampsmooth~, and scads better than average~.</p>
<p>max v2;<br />
#N vpatcher 30 89 767 785;<br />
#P window setfont &#8220;Sans Serif&#8221; 9.;<br />
#P number 406 295 35 9 1 8 3 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P newex 406 322 38 196617 sig~ 2;<br />
#P user scope~ 406 395 536 525 2 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 <br />
135 135 0;<br />
#P newex 406 345 57 196617 index~ foo;<br />
#P newex 326 147 78 196617 loadmess 4000;<br />
#P number 270 295 35 9 1 8 3 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P newex 79 281 35 196617 sqrt~;<br />
#P newex 79 258 31 196617 abs~;<br />
#P number 373 188 35 9 1 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P number 326 188 35 9 1 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;<br />
#P button 279 204 15 0;<br />
#P newex 279 221 104 196617 pack rampsmooth 1 1;<br />
#P newex 270 322 38 196617 sig~ 1;<br />
#P user scope~ 270 395 400 525 2 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 <br />
135 135 0;<br />
#P newex 270 345 57 196617 index~ foo;<br />
#P message 253 67 73 196617 sizeinsamps 8;<br />
#P newex 253 93 61 196617 buffer~ foo;<br />
#P newex 34 349 53 196617 poke~ foo;<br />
#P user ezdac~ 55 412 99 445 0;<br />
#P newex 80 55 76 196617 count~ 1 8 1 1;<br />
#P newex 80 238 119 196617 selector~ 8;<br />
#P newex 35 308 58 196617 vectral~ 8;<br />
#P newex 185 215 58 196617 cycle~ 0.8;<br />
#P newex 171 196 58 196617 cycle~ 0.7;<br />
#P newex 158 177 58 196617 cycle~ 0.6;<br />
#P newex 145 158 58 196617 cycle~ 0.5;<br />
#P newex 132 139 58 196617 cycle~ 0.4;<br />
#P newex 119 120 58 196617 cycle~ 0.3;<br />
#P newex 106 101 58 196617 cycle~ 0.2;<br />
#P newex 93 82 58 196617 cycle~ 0.1;<br />
#P connect 8 0 12 0;<br />
#P connect 10 0 8 0;<br />
#P connect 18 0 8 0;<br />
#P connect 10 0 12 1;<br />
#P connect 10 0 8 1;<br />
#P connect 9 0 22 0;<br />
#P connect 22 0 23 0;<br />
#P connect 10 0 9 0;<br />
#P connect 23 0 8 2;<br />
#P connect 0 0 9 1;<br />
#P connect 1 0 9 2;<br />
#P connect 2 0 9 3;<br />
#P connect 3 0 9 4;<br />
#P connect 4 0 9 5;<br />
#P connect 5 0 9 6;<br />
#P connect 6 0 9 7;<br />
#P connect 7 0 9 8;<br />
#P connect 14 0 13 0;<br />
#P connect 24 0 17 0;<br />
#P connect 17 0 15 0;<br />
#P connect 15 0 16 0;<br />
#P connect 21 0 19 0;<br />
#P connect 20 0 19 0;<br />
#P connect 19 0 18 0;<br />
#P connect 25 0 20 0;<br />
#P connect 20 0 18 1;<br />
#P connect 25 0 21 0;<br />
#P connect 21 0 18 2;<br />
#P connect 29 0 28 0;<br />
#P connect 28 0 26 0;<br />
#P connect 26 0 27 0;<br />
#P pop;</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69610</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69610</link>
					<pubDate>Fri, 17 Feb 2006 09:05:34 +0000</pubDate>
					<dc:creator>Peter Castine</dc:creator>

					<description>
						<![CDATA[
						<p>On around Feb 17, 2006, at 8:12, Ben Nevile said something like:<br />
> I disagree that it simply doesn&#8217;t matter.  Imagine you are analysing<br />
> the output of a sine wave with the frequency set to pi/4 radians (or<br />
> 6k if your sampling rate is 48k) so that the period is exactly eight<br />
> samples.  Your downsampling poly~ would then select a sample from this<br />
> sine wave at exactly the same place in the cycle every time.</p>
<p>Mathematically you&#8217;re right. From an engineering perspective, you&#8217;re <br />
talking about an extremely unlikely occurence, one that can happen with <br />
carefully (perversely) constructed generator signals and almost never <br />
with real world signals.</p>
<p>If you know you have a cycle~ at pi/4 you don&#8217;t normally need to take <br />
its average~ .-)</p>
<p>Downsampling a signal before passing it through average~ has the add&#8217;l <br />
advantage that you extend the (real) time before average~&#8217;s propensity <br />
to cumulate errors becomes an problem.</p>
<p>You&#8217;re absolutely right that people should be aware of the traps <br />
involved in downsampling. It ain&#8217;t a cure for all ills. But it can be <br />
very useful.</p>
<p>> Currently the downsampling in poly~ is very cheap &#8211; it just selects<br />
> every Nth sample.  Upsampling is similarly cheap.</p>
<p>This is good to know. Is upsampling linear interp, or are you just <br />
repeating samples?</p>
<p>&#8211; P.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8211;    <a href="http://www.bek.no/~pcastine/Litter/" rel="nofollow">http://www.bek.no/~pcastine/Litter/</a>    &#8212;&#8212;&#8212;&#8212;&#8211;<br />
Peter Castine    |                             ^<br />
                  |         Litter Power &#038; Litter Bundle for Jitter<br />
<a href="mailto:pcastine@gmx.net">pcastine@gmx.net</a> |<br />
<a href="mailto:pcastine@bek.no">pcastine@bek.no</a>  | iCE:  Sequencing, Recording, and Interface Building<br />
<a href="mailto:4-15@kagi.com">4-15@kagi.com</a>    |       for Max/MSP<br />
                  |                                      Extremely cool<br />
                  |      <a href="http://www.dspaudio.com" rel="nofollow">http://www.dspaudio.com</a><br />
                  |      <a href="http://www.dspaudio.com/software/software.html" rel="nofollow">http://www.dspaudio.com/software/software.html</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69611</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69611</link>
					<pubDate>Fri, 17 Feb 2006 12:55:30 +0000</pubDate>
					<dc:creator>Dan Nigrin</dc:creator>

					<description>
						<![CDATA[
						<p>>Hi Dan,<br />
><br />
>>  Good approach Roman &#8211; a question though; does the downsampling action<br />
>>  in the poly~ eat any resources itself?<br />
><br />
>Currently the downsampling in poly~ is very cheap &#8211; it just selects<br />
>every Nth sample.  Upsampling is similarly cheap.<br />
><br />
>Ben</p>
<p>thanks Ben, good to know what I presumed is in fact correct.</p>
<p>Dan<br />
&#8211; <br />
Dan Nigrin<br />
Defective Records<br />
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X<br />
<a href="http://www.defectiverecords.com" rel="nofollow">http://www.defectiverecords.com</a></p>
<p><a href="http://www.jackosx.com" rel="nofollow">http://www.jackosx.com</a></p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69612</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69612</link>
					<pubDate>Fri, 17 Feb 2006 17:30:23 +0000</pubDate>
					<dc:creator>Roman Thilenius</dc:creator>

					<description>
						<![CDATA[
						<p>
> > if i build a compressor for example, i put objects<br />
> > like avg~ or average~ into subpatchers and make them<br />
> > a poly~ foo down 8</p>
<p>
> I disagree that it simply doesn&#8217;t matter.  Imagine you are analysing<br />
> the output of a sine wave with the frequency set to pi/4 radians (or<br />
> 6k if your sampling rate is 48k) </p>
<p>
wow your example is valid, i have not been thinging <br />
about that. i was only aware that there is a slightly<br />
inaccurate analysis result on very high frequencies<br />
which i decided to ignore. :)</p>
<p>in real life the chance that a piece of music contains<br />
a moment of pure 6 khz sinewave sound tends to zero though.<br />
and if there is one, the sinewave will probably be of<br />
only a very low volume.</p>
<p>hmm. but now &#8230; <br />
how is that with 44.1 khz? &#8230; </p>
<p>you could as well have a 6 khz pulsetrain-like waveform<br />
coming from an 88.2 khz oscillator, and when you average<br />
it in 44.1 khz mode the problem appears again; in<br />
exactly the same manner like you described it, and with<br />
the same deviation, leading to a 100% wrong result.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/patch-efficiency/#post-69613</guid>
					<title><![CDATA[Re: patch efficiency]]></title>
					<link>http://cycling74.com/forums/topic/patch-efficiency/#post-69613</link>
					<pubDate>Fri, 17 Feb 2006 17:37:09 +0000</pubDate>
					<dc:creator>Roman Thilenius</dc:creator>

					<description>
						<![CDATA[
						<p>> Is upsampling linear interp, or are you just <br />
> repeating samples?</p>
<p>in poly its repeating. <br />
not a big deal to apply interpolation when needed. :)</p>
<p>it was worth the thread. i learned here it that <br />
mute~ works with poly~ better than with patches <br />
and i will handle this knowledge with care.</p>
<p>
-110 (yet more efficient)</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

