<?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[Can&#x27;t make window functions for the life of me.]]></title><description><![CDATA[<p>I've been building some simple things and learning my way around PD vanilla.  All in all it's a very nice system especially for free.</p>
<p>One thing that isn't working is creating windows for granular and FFT processing.  I follow the exact patching from the tutorials that are included in the documentation.  These things usually rely on &quot;loadbang&quot; for writing a single cycle of cosine to a table, buffer, etc.  When I set this up I always still have to have to draw the table by hand.  The filtering that I'm doing is working just fine, but I'm curious what I'm doing wrong.  I've added a manual &quot;bang&quot; to write the table, calculate the size, etc, as well, but no luck.  Usually I end up with nothing in the table.</p>
<p>I've had the same issue with granular synthesis.  Even if I use a cos~ table that's offset and driven by a phasor~ I get clicks out the wahoo.  This has happened even when just opening full patches that were made by the guy who wrote the software.</p>
<p>Anyhow.  I'm finding workarounds for everything anyway, so hopefully things won't stay weird.  It just seems like my system is acting screwy.  I'm happy to try anything at this point as I'm looking forward to setting up my spare rPi as a standalone host for pd. Right now I'm just diddling around on my old 3930k windows 7 system so I don't get too carried away when I start trying to move things over to the Pi.</p>
<p>Thanks for any help,</p>
<p>JJ</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 06:27:06 GMT</lastBuildDate><atom:link href="http://forum.pdpatchrepo.info/topic/13968.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Jun 2022 03:17:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Mon, 13 Jun 2022 03:17:21 GMT]]></title><description><![CDATA[<p>I've been building some simple things and learning my way around PD vanilla.  All in all it's a very nice system especially for free.</p>
<p>One thing that isn't working is creating windows for granular and FFT processing.  I follow the exact patching from the tutorials that are included in the documentation.  These things usually rely on &quot;loadbang&quot; for writing a single cycle of cosine to a table, buffer, etc.  When I set this up I always still have to have to draw the table by hand.  The filtering that I'm doing is working just fine, but I'm curious what I'm doing wrong.  I've added a manual &quot;bang&quot; to write the table, calculate the size, etc, as well, but no luck.  Usually I end up with nothing in the table.</p>
<p>I've had the same issue with granular synthesis.  Even if I use a cos~ table that's offset and driven by a phasor~ I get clicks out the wahoo.  This has happened even when just opening full patches that were made by the guy who wrote the software.</p>
<p>Anyhow.  I'm finding workarounds for everything anyway, so hopefully things won't stay weird.  It just seems like my system is acting screwy.  I'm happy to try anything at this point as I'm looking forward to setting up my spare rPi as a standalone host for pd. Right now I'm just diddling around on my old 3930k windows 7 system so I don't get too carried away when I start trying to move things over to the Pi.</p>
<p>Thanks for any help,</p>
<p>JJ</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me</guid><dc:creator><![CDATA[ah_dziz]]></dc:creator><pubDate>Mon, 13 Jun 2022 03:17:21 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Mon, 13 Jun 2022 13:07:25 GMT]]></title><description><![CDATA[<p>Maybe the tutorial is older and uses table instead of array?<br />
Also, have you checked the example file I02.Hann.window.pd?<br />
It would help if you precise which tutorial you are trying to follow.</p>
<p>Hope this helps ...</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/2</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/2</guid><dc:creator><![CDATA[Gabriel Lecup]]></dc:creator><pubDate>Mon, 13 Jun 2022 13:07:25 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Mon, 13 Jun 2022 14:50:52 GMT]]></title><description><![CDATA[<p>You can check out [window] from my github repo <a href="https://github.com/alexdrymonitis/array_abstractions" rel="nofollow">here</a> and see how it works.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/3</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/3</guid><dc:creator><![CDATA[alexandros]]></dc:creator><pubDate>Mon, 13 Jun 2022 14:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Tue, 14 Jun 2022 18:13:27 GMT]]></title><description><![CDATA[<p>I was using the FFT tutorials (in the html help) for making a stereo FFT filter. It wants to have the sample rate divided by the block size and fed to an osc~ which is fed into a tabwrite~  with a phase offset.  This is all in the main patch.  Then the window should be readable in the FFT sub patch. The table just stays blank.  I'm trying to keep things as vanilla as possible until I can do most of what I want.  Then I'll start adding on.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/4</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/4</guid><dc:creator><![CDATA[ah_dziz]]></dc:creator><pubDate>Tue, 14 Jun 2022 18:13:27 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Tue, 14 Jun 2022 18:20:27 GMT]]></title><description><![CDATA[<p><a href="https://puredata.info/docs/manuals/pd" rel="nofollow">https://puredata.info/docs/manuals/pd</a> this is the documentation I was using. In the FFT section I built the &quot;window maker&quot; in the exact way that it was put together in the documentation.  I've been having these types of issues with many things that involve arrays. Even simple stuff like making a scope for the output.  Often time they simply won't draw in data and the data isn't there if you try to print it etc.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/5</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/5</guid><dc:creator><![CDATA[ah_dziz]]></dc:creator><pubDate>Tue, 14 Jun 2022 18:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Tue, 14 Jun 2022 18:49:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/ah_dziz">@ah_dziz</a> The only thing that I can think of that would stop tables being drawn is if DSP is turned off, or the audio thread is not running because Pd has failed to communicate properly with the OS.<br />
But you say audio is running fine.<br />
Maybe upload a patch you have made that is not drawing to the table/array and we can see if it works for us...... use the &quot;Up arrow&quot;  <img src="/uploads/files/1655232567134-capture.jpg" alt="Capture.JPG" class="img-responsive img-markdown" />  symbol above the post that you are writing.<br />
David.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/6</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/6</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Tue, 14 Jun 2022 18:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Tue, 14 Jun 2022 18:52:21 GMT]]></title><description><![CDATA[<p>Will do. I have also tried using an offset cos~ table to make a window but it quickly turns clicky.  On the bright side all my other experiments (that need no windowing) are working well.  I'll upload what I made next time I'm on the machine.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/7</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/7</guid><dc:creator><![CDATA[ah_dziz]]></dc:creator><pubDate>Tue, 14 Jun 2022 18:52:21 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Wed, 15 Jun 2022 00:11:27 GMT]]></title><description><![CDATA[<p>Populating a window table depends on a couple of patching design patterns that come up everywhere, but which nobody talks about:</p>
<ol>
<li>Initialize - process - finalize (where finalizing is sometimes optional).</li>
<li>Counting.</li>
</ol>
<p>That is, the &quot;fill operation&quot; consists of counting an index from the beginning of the array to the end. Each index value gets mapped mathematically onto the window value at that moment, and [tabwrit(e)]-ten into the array.</p>
<p>Since you're saying that nothing is happening in your loop, I'd have to guess that some of this logic is not quite right in your patch.</p>
<p>Step by step:</p>
<p>&quot;Initialize/process&quot; is because, every time you bang the operation, you want to start at the beginning of the array. So the counter needs to be initialized. Use [t] at the top -- we need at least 2 bangs here.</p>
<p><img src="/uploads/files/1655251747188-pd-arrayfill-01.png" alt="pd-arrayfill-01.png" class="img-responsive img-markdown" /></p>
<p>The loop is done by [until]. The [array size] is to tell it how many times to run.</p>
<p><img src="/uploads/files/1655251762846-pd-arrayfill-02.png" alt="pd-arrayfill-02.png" class="img-responsive img-markdown" /></p>
<p>Then, for tabread4~, you need:</p>
<ul>
<li>i = 1, phase = 0</li>
<li>i = size-3, phase = pi</li>
</ul>
<p>phase = (i - 1) / (size-4) * pi (I might be off-by-one here?)</p>
<p>Then take sin^2 of this for a Hann window.</p>
<p>I added another &quot;f&quot; into the counter's [t], because one branch here needs to set the [tabwrite] index (and this must happen before doing the math). Also the (size-4) needs a [t] to split the array-size output message.</p>
<p><img src="/uploads/files/1655251774491-pd-arrayfill-03.png" alt="pd-arrayfill-03.png" class="img-responsive img-markdown" /></p>
<p>hjh</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/8</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/8</guid><dc:creator><![CDATA[ddw_music]]></dc:creator><pubDate>Wed, 15 Jun 2022 00:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Wed, 15 Jun 2022 02:17:35 GMT]]></title><description><![CDATA[<p>I'll give it a go that way when I get back on it. On the plus side, I've been having fun with my janky hand drawn windows for my little FFT filter.  It turns out that having weird shaped windows makes for some silly sounding spectral noises.  In all my other software one used to having to drive the &quot;write position&quot; when filling an array. I was surprised when the documentation didn't mention it.  Is there a way to have the array spit out it's current write index? And can any of the tabread~ objects spit out their current location as a number?  I'm guessing yes but the documentation seems a bit behind the times.  Thanks for the info!</p>
<p>JJ</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/9</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/9</guid><dc:creator><![CDATA[ah_dziz]]></dc:creator><pubDate>Wed, 15 Jun 2022 02:17:35 GMT</pubDate></item><item><title><![CDATA[Reply to Can&#x27;t make window functions for the life of me. on Wed, 15 Jun 2022 05:35:10 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-a" href="http://forum.pdpatchrepo.info/user/ah_dziz">@ah_dziz</a> There is no &quot;current index&quot; but you can get the value at an index.<br />
Pd extended help was a bit more informative (and was correct)...... <a href="/uploads/files/1655271288582-read.zip">read.zip</a><br />
David.</p>
]]></description><link>http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/10</link><guid isPermaLink="true">http://forum.pdpatchrepo.info/topic/13968/can-t-make-window-functions-for-the-life-of-me/10</guid><dc:creator><![CDATA[whale-av]]></dc:creator><pubDate>Wed, 15 Jun 2022 05:35:10 GMT</pubDate></item></channel></rss>