<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Need help implementing &quot;sinesum&quot; oscillator with variable list (]]></title><description><![CDATA[<p>Hello,</p>
<p>Just joined the forums here. I'm still fairly new to PD so this may be the first of a long series of questions to help me achieve a college project.</p>
<p>So for this 1st one, I have a wavetable oscillator reading from a message using a &quot;sinesum&quot; synthesis implementation. The $1 put here is just a placeholder to indicate I will have a list of partials (up to a hundred) with different amplitudes. But the important part is that this list will be constantly updated in real-time, at audio rate.</p>
<p>How can I go about creating a dynamically changing list (which will have to be derived from an array as I will be performing real-time maths on all elements of this array) and constantly update the message box here so that the [tabosc4~] is also updated in real-time.</p>
<p><strong>Note: this is a yet incomplete post, I will add more info in the hours to come, but feel free to post suggestions if you have any at this stage.</strong></p>
<p><img src="/uploads/files/1613483688464-image.png" alt="image.png" class="img-responsive img-markdown" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 07:07:11 GMT</lastBuildDate><atom:link href="http://forum.pdpatchrepo.info/topic/13297.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Feb 2021 14:02:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 14:04:22 GMT]]></title><description><![CDATA[<p>Hello,</p>
<p>Just joined the forums here. I'm still fairly new to PD so this may be the first of a long series of questions to help me achieve a college project.</p>
<p>So for this 1st one, I have a wavetable oscillator reading from a message using a &quot;sinesum&quot; synthesis implementation. The $1 put here is just a placeholder to indicate I will have a list of partials (up to a hundred) with different amplitudes. But the important part is that this list will be constantly updated in real-time, at audio rate.</p>
<p>How can I go about creating a dynamically changing list (which will have to be derived from an array as I will be performing real-time maths on all elements of this array) and constantly update the message box here so that the [tabosc4~] is also updated in real-time.</p>
<p><strong>Note: this is a yet incomplete post, I will add more info in the hours to come, but feel free to post suggestions if you have any at this stage.</strong></p>
<p><img src="/uploads/files/1613483688464-image.png" alt="image.png" class="img-responsive img-markdown" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list</guid><dc:creator><![CDATA[tomatoKetchup]]></dc:creator><pubDate>Tue, 16 Feb 2021 14:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 18:00:09 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/tomatoketchup">@tomatoKetchup</a> Not my subject but as no-one has replied.<br />
Maybe...... <img src="/uploads/files/1613498027718-capture.jpg" alt="Capture.JPG" class="img-responsive img-markdown" /><br />
The [bang~] can be moved to read the array holding the list of partials..... but again...... you should use [table] for that too as array is too slow to write and read at audio rate at the same time.<br />
David.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/2</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/2</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Tue, 16 Feb 2021 18:00:09 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 18:46:19 GMT]]></title><description><![CDATA[<p>So as a placeholder for the list item I'll have to do the hard way and write a hundred $x in the message? <img class="emoji emoji-extended" src="http://forum.pdpatchrepo.info/plugins/nodebb-plugin-emoji-extended/images/cry.png" title=":'(" alt=":'(" /><br />
No way to automate the process somehow?</p>
<p>Also thanks for the advice of using tables instead of array. Didn't realise they were actually different objects in Pd.</p>
<p>EDIT: so I did eventually create a message with 100 $ (it's hidden inside the [pd sinesum] subpatch)</p>
<p>Now tried using a [bang~] to repeatedly trigger an [array get carSpectr} to extract the list from my table, but the result is all glitchy.</p>
<p><img src="/uploads/files/1613501177448-image.png" alt="image.png" class="img-responsive img-markdown" /></p>
<p>Which is probably what you mentioned about using array instead of table. Thing is, I did create carSpectr as a table but couldn't find an object that outputs it's content as a list and only found that [array get] one. Have I missed a way to do the equivalent to a table?</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/3</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/3</guid><dc:creator><![CDATA[tomatoKetchup]]></dc:creator><pubDate>Tue, 16 Feb 2021 18:46:19 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 19:09:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/tomatoketchup">@tomatoKetchup</a> The procedure for array and table is the same.  It's just that a table is not actually drawn unless you open its window so it is much faster. Hiding the array in a sub-patch might be as fast.... I am not sure about that..... but the same objects can be used to read/write a table as an array using its name.<br />
However you are probably better off reading your data table with [tabread] .... (no tilde) ..... banged at audio rate...... where you just want the data without interpolation.....and read read your sinesum table with [tabread4~] where you do want interpolation.</p>
<p>You will need a cyclic counter for [tabread] counting 0-99 and [list] to collect the data before sending it onwards.  If you want to go faster with the read you will need to put [tabread] in a sub-patch with [bang~] and use [block 1] to read one &quot;bit&quot; of the table every sample.  You will get the complete data table every 100 samples like that.<br />
As I said....... not my subject and hoping someone comes to correct me.......<img class="emoji emoji-extended" src="http://forum.pdpatchrepo.info/plugins/nodebb-plugin-emoji-extended/images/open_mouth.png" title="open_mouth" alt=":open_mouth:" /><br />
It's a shame you need to use sinesum as you need the whole message at once.<br />
Maybe there is another way.<br />
David.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/4</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/4</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Tue, 16 Feb 2021 19:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 18:51:53 GMT]]></title><description><![CDATA[<p>Ok thanks for the clarification. Replacing the [bang~] by a [metro 5} actually removed the glitch. If I go any faster than 5ms it glitches again. Not quite sure yet if this is going to be fast enough but I'll go with that for now anyway.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/5</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/5</guid><dc:creator><![CDATA[tomatoKetchup]]></dc:creator><pubDate>Tue, 16 Feb 2021 18:51:53 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 20:06:22 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/tomatoketchup">@tomatoKetchup</a> Amazing what I can forget......<br />
Look for [tabdump] in the zexy library which will be fast as it is a compiled binary (we call them externals)</p>
<p>It does what the name suggests..... output the array/table as a list that you can send straight to the sinesum message.<br />
Bang it with [bang~]</p>
<p><img class="emoji emoji-extended" src="http://forum.pdpatchrepo.info/plugins/nodebb-plugin-emoji-extended/images/exclamation.png" title="!!!" alt="!!!" />!!!!!!! Also your [table] is probably only &quot;jittery&quot; because you are looking at it.  Drawing it at audio rate  on the screen is a massive task...... which is why the graph should be kept hidden in [table].<br />
David.<br />
<img src="/uploads/files/1613505521075-capture.jpg" alt="Capture.JPG" class="img-responsive img-markdown" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/6</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/6</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Tue, 16 Feb 2021 20:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Tue, 16 Feb 2021 20:44:35 GMT]]></title><description><![CDATA[<p>I don't know if that helps, but here is a patch that uses ifft instead of sinesum message to compute a table for tabosc4~.<br />
In my experience, it produces no (or less) glitches<br />
<a href="/uploads/files/1613508021290-sinesum.pd">sinesum.pd</a></p>
<p><img src="/uploads/files/1613508225742-image.png" alt="image.png" class="img-responsive img-markdown" /><br />
<img src="/uploads/files/1613508143187-image.png" alt="image.png" class="img-responsive img-markdown" /></p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/7</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/7</guid><dc:creator><![CDATA[jyg]]></dc:creator><pubDate>Tue, 16 Feb 2021 20:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Need help implementing &quot;sinesum&quot; oscillator with variable list ( on Wed, 17 Feb 2021 16:30:36 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/whale-av">@whale-av</a> Yes I came across this tabdump. Was having some issues installing externals though, but got it to work eventually. But later on I found the [array get] object which did it perfectly well for me. Also using [tabreceive~] and [tabsend~] objects allowed me to manipulate those arrays/lists in real time with no gllitching.<br />
So far so good but still limited to use a [metro 5] which seems enough at the minute, so if I find it too slow further down the line I'll have another look into [tabdump]. Thanks for the help!</p>
<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/jyg">@jyg</a> oh that's interesting, I'll definitely have a look at it to see if that more optimised than &quot;sinesum&quot; for my application. Thanks for sharing!</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/8</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13297/need-help-implementing-sinesum-oscillator-with-variable-list/8</guid><dc:creator><![CDATA[tomatoKetchup]]></dc:creator><pubDate>Wed, 17 Feb 2021 16:30:36 GMT</pubDate></item></channel></rss>