{"id":197,"date":"2019-04-09T08:55:52","date_gmt":"2019-04-09T08:55:52","guid":{"rendered":"http:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/?p=197"},"modified":"2019-04-23T15:15:47","modified_gmt":"2019-04-23T15:15:47","slug":"197","status":"publish","type":"post","link":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/2019\/04\/09\/197\/","title":{"rendered":""},"content":{"rendered":"\n<p>Week 12<\/p>\n\n\n\n<p style=\"font-size:15px\">This week I have begun to build &#8216;1.6.1 frequency warp&#8217;. Tadej Droljc&#8217;s version of this patch is very complex with little room for personal improvement from myself. I have begun to investigate if I am able to use the &#8216;exponent_generator&#8217;, &#8216;linear_generator&#8217; and &#8216;sine_generator&#8217; from &#8216;1.6.3 filter_mask&#8217; to generate element and number pairings for the &#8216;frequency_draw&#8217; bpatcher.<\/p>\n\n\n\n<p style=\"font-size:15px\">A few days later I realised I had to abandon this idea. It seems that passing the numbers through gates and the aforementioned abstractions slows them down to a point where they don\u2019t exit the patch at the same time. Below is the structure I have decided to no longer run with:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"536\" src=\"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-8-1024x536.png\" alt=\"\" class=\"wp-image-203\" srcset=\"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-8-1024x536.png 1024w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-8-300x157.png 300w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-8-768x402.png 768w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-8-1568x821.png 1568w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-8.png 1877w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>The abandoned attempt at incorporating exponent_generator and sine_generator into a mapping abstraction for frequency_warp<\/figcaption><\/figure>\n\n\n\n<p style=\"font-size:15px\">After some consideration, I am abandoning the sine mapping in the generation abstraction entirely. The sine waves generated are more often than not, disjointed;<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-9.png\" alt=\"\" class=\"wp-image-206\" width=\"364\" height=\"364\" srcset=\"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-9.png 637w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-9-150x150.png 150w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-9-300x300.png 300w\" sizes=\"(max-width: 364px) 100vw, 364px\" \/><figcaption>Disjointed sine wave, output by attempt at constructing a mapping abstraction for the bpatcher &#8216;frequency_draw&#8217; in &#8216;1.6.1 frequency_warp&#8217;.<\/figcaption><\/figure>\n\n\n\n<p style=\"font-size:15px\">Yesterday I got the &#8216;frequency_warp_process&#8217; abstraction working, but to do so I had to decrease the size of the y-axis \u2018drawY\u2019 matrix to 256 as it didn\u2019t seem to be accepting to 512-long lists (this will definitely have something to do with Max\u2019s max list length being 256). The result in downscaling this draw transfer matrix means that the up-sampling to a 1024 bin matrix is more dramatic, leading to a matrix of lower resolution (in the image below. Today I managed to fix this by manually setting the max size of the &#8216;zl&#8217; list objects in the abstraction 513, leading to a upscaled matrix of higher resolution.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-10-506x1024.png\" alt=\"\" class=\"wp-image-209\" width=\"377\" height=\"763\" srcset=\"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-10-506x1024.png 506w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-10-148x300.png 148w, https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/files\/2019\/04\/image-10.png 600w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><figcaption>Low resolution frequency warp in the left 2\/3 of the image, compared with the higher-resolution unprocessed DSTFT information in the right 1\/3.<\/figcaption><\/figure>\n\n\n\n<p style=\"font-size:15px\">I am now beginning to incorporate mask implementation in pre-existing patches. There seems to be an issue with playback speed across all module (I think it has something to do with each abstraction&#8217;s &#8216;snapshot~&#8217; object output not being sent consistently enough).<\/p>\n\n\n\n<p style=\"font-size:15px\">Tried to use alphablend in openGL in the &#8216;mask_application abstraction, but &#8216;jit.gl.pix&#8217; doesn\u2019t allow for a change in alphablend mode like the &#8216;jit.alphablend&#8217; does so I cannot use the openGL alphablend. However I was able to use the addition operation shader with &#8216;jit.gl.slab&#8217; instead of the CPU based &#8216;jit.op&#8217; addition operator.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Week 12 This week I have begun to build &#8216;1.6.1 frequency warp&#8217;. Tadej Droljc&#8217;s version of this patch is very complex with little room for personal improvement from myself. I have begun to investigate if I am able to use the &#8216;exponent_generator&#8217;, &#8216;linear_generator&#8217; and &#8216;sine_generator&#8217; from &#8216;1.6.3 filter_mask&#8217; to generate element and number pairings for [&hellip;]<\/p>\n","protected":false},"author":225,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/posts\/197"}],"collection":[{"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/users\/225"}],"replies":[{"embeddable":true,"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/comments?post=197"}],"version-history":[{"count":32,"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/posts\/197\/revisions"}],"predecessor-version":[{"id":428,"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/posts\/197\/revisions\/428"}],"wp:attachment":[{"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/media?parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/categories?post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digital.eca.ed.ac.uk\/spectral-manipulation\/wp-json\/wp\/v2\/tags?post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}