{"id":10213,"date":"2014-03-11T19:58:54","date_gmt":"2014-03-11T19:58:54","guid":{"rendered":"http:\/\/zerokidz.com\/ideas\/?p=10213"},"modified":"2014-09-05T15:08:09","modified_gmt":"2014-09-05T19:08:09","slug":"ep-413-dsp-%e2%80%93-week-7","status":"publish","type":"post","link":"https:\/\/reactivemusic.net\/?p=10213","title":{"rendered":"ep-4yy13 DSP \u2013 week 7"},"content":{"rendered":"<h2>frequency domain<\/h2>\n<h1><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png\"><img loading=\"lazy\" decoding=\"async\" title=\"diode144x144\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png\" alt=\"\" width=\"144\" height=\"144\" \/><\/a><\/h1>\n<h3>transforming signals<\/h3>\n<ul>\n<li>DFT, FFT, STFT<\/li>\n<li>The FFT produces a stream of complex numbers representing energy at frequencies across the spectrum<\/li>\n<li>The length of the FFT determines the frequency resolution (number of bins)<\/li>\n<li>Increasing length of FFT frame degrades resolution in time domain (rhythmic accuracy)<\/li>\n<li>Amplitude = root of (r*r) + (i*i) \u00a0= magnitude<\/li>\n<li>Phase = arctangent of i\/r = angle<\/li>\n<\/ul>\n<div><span style=\"line-height: 22px;\"><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/03\/Screen-Shot-2014-03-11-at-6.47.58-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10232\" title=\"Screen Shot 2014-03-11 at 6.47.58 PM\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/03\/Screen-Shot-2014-03-11-at-6.47.58-PM-300x187.png\" alt=\"\" width=\"300\" height=\"187\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/03\/Screen-Shot-2014-03-11-at-6.47.58-PM-300x187.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/03\/Screen-Shot-2014-03-11-at-6.47.58-PM.png 789w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/span><\/div>\n<div><\/div>\n<div>\n<ul>\n<li><span style=\"line-height: 1;\">For a sine wave you can derive frequency from phase<\/span><\/li>\n<li><span style=\"line-height: 1;\">For any signal you can approximate frequency from amplitude and phase values in an FFT frame. See\u00a0<a href=\"http:\/\/www.dspdimension.com\/admin\/pitch-shifting-using-the-ft\/\">http:\/\/www.dspdimension.com\/admin\/pitch-shifting-using-the-ft\/<\/a><\/span><\/li>\n<\/ul>\n<\/div>\n<div><\/div>\n<h3>Practical Applications<\/h3>\n<ul>\n<li>Convolution\/Deconvolution<\/li>\n<li>Analysis<\/li>\n<li>Spectral processing (pitch and timbre)<\/li>\n<li>Amplitude processing: noise gates, crossovers<\/li>\n<li>phase vocoder<\/li>\n<li>radio<\/li>\n<\/ul>\n<h3>Examples<\/h3>\n<ul>\n<li>Max\/MSP tutorials 25-26<\/li>\n<li><span style=\"line-height: 1.6;\">Max\/MSP Example DSP patches (in Extras | ExamplesOverview | MSP | FFT fun<\/span>\n<ul>\n<li><span style=\"line-height: 1.6;\">convolution workshop<\/span><\/li>\n<li><span style=\"line-height: 1.6;\">Forbidden planet<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"line-height: 1.6;\">Fourier Filter (Vetter)<\/span><\/li>\n<li>fft-tz2 (basics, SSB ring modulator)<\/li>\n<li><span style=\"line-height: 1.6;\">fplanet-tz.maxpat: hacked version of forbidden-planet example which uses granular indexing to do spectral convolution and make spaceship sounds. To use patch: 1 )\u00a0<\/span><span style=\"line-height: 1.6;\">turn on audio, 2)\u00a0<\/span><span style=\"line-height: 1.6;\">then press message boxes inside the green panel<\/span><\/li>\n<li><span style=\"line-height: 1.6;\">fp-fft-tz.maxpat: pfft~ subpatch for above<\/span><\/li>\n<li><span style=\"line-height: 1.6;\">fourierfilter (folder) containing fourierfiltertest.maxpat: Katja Vetter\u2019s complex spectral filter example<\/span><\/li>\n<li>Tristan Jehan&#8217;s frequency detector object<\/li>\n<li>Little Tikes piano:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=6993\">https:\/\/reactivemusic.net\/?p=6993<\/a><\/li>\n<li><span style=\"line-height: 1.6;\">Helicopter frame rate video:\u00a0<\/span><a style=\"line-height: 1.6;\" href=\"http:\/\/www.youtube.com\/watch?v=jQDjJRYmeWg\">http:\/\/www.youtube.com\/watch?v=jQDjJRYmeWg<\/a><\/li>\n<\/ul>\n<div>download example Max patches here:<\/div>\n<div><\/div>\n<div>\n<div id=\"wpdm_file_9\">\n<div><a title=\"ep-4yy13 week 4\" href=\"https:\/\/reactivemusic.net\/?wpdmact=process&amp;did=OS5ob3RsaW5r\" rel=\"9\">Download<\/a><\/p>\n<div><\/div>\n<\/div>\n<div><span style=\"font-size: 27px; font-weight: bold; line-height: 1.1;\">Resources<\/span><\/div>\n<\/div>\n<\/div>\n<ul>\n<li><span style=\"line-height: 1.6;\">Katja Vetter, &#8220;Sinusoids, Complex Numbers, and Modulation&#8221;\u00a0<\/span><a style=\"line-height: 1.6;\" href=\"http:\/\/www.katjaas.nl\/home\/home.html\">http:\/\/www.katjaas.nl\/home\/home.html<\/a><\/li>\n<li>Reference:\u00a0<a href=\"http:\/\/www.dspguide.com\/\">http:\/\/www.dspguide.com<\/a>\u00a0\u201dThe Scientist and Engineer\u2019s Guide to DSP\u201d, By Steven Smith \u2013 chapters 8 &#8211; 9<\/li>\n<li>DSP Dimension,<\/li>\n<li>&#8220;The Phase Vocoder&#8221;, Richard Dudas and Cort Lippe,\u00a0<a href=\"http:\/\/cycling74.com\/2006\/11\/02\/the-phase-vocoder-\u2013-part-i\/\">http:\/\/cycling74.com\/2006\/11\/02\/the-phase-vocoder-\u2013-part-i\/<\/a><\/li>\n<li><\/li>\n<\/ul>\n<h3>Assignments<\/h3>\n<p>See notes from previous weeks: <a href=\"https:\/\/reactivemusic.net\/?p=10109\">https:\/\/reactivemusic.net\/?p=10109\u00a0<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>frequency domain transforming signals DFT, FFT, STFT The FFT produces a stream of complex numbers representing energy at frequencies across the spectrum The length of the FFT determines the frequency resolution (number of bins) Increasing length of FFT frame degrades resolution in time domain (rhythmic accuracy) Amplitude = root of (r*r) + (i*i) \u00a0= magnitude &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/reactivemusic.net\/?p=10213\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;ep-4yy13 DSP \u2013 week 7&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[21],"tags":[344,190,13],"class_list":["post-10213","post","type-post","status-publish","format-standard","hentry","category-dsp","tag-dsp","tag-portfolio","tag-teaching"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ep-4yy13 DSP \u2013 week 7 - reactive music<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/reactivemusic.net\/?p=10213\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ep-4yy13 DSP \u2013 week 7 - reactive music\" \/>\n<meta property=\"og:description\" content=\"frequency domain transforming signals DFT, FFT, STFT The FFT produces a stream of complex numbers representing energy at frequencies across the spectrum The length of the FFT determines the frequency resolution (number of bins) Increasing length of FFT frame degrades resolution in time domain (rhythmic accuracy) Amplitude = root of (r*r) + (i*i) \u00a0= magnitude &hellip; Continue reading &quot;ep-4yy13 DSP \u2013 week 7&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/reactivemusic.net\/?p=10213\" \/>\n<meta property=\"og:site_name\" content=\"reactive music\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-11T19:58:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-09-05T19:08:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png\" \/>\n<meta name=\"author\" content=\"Tom Zicarelli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tom Zicarelli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213\"},\"author\":{\"name\":\"Tom Zicarelli\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"headline\":\"ep-4yy13 DSP \u2013 week 7\",\"datePublished\":\"2014-03-11T19:58:54+00:00\",\"dateModified\":\"2014-09-05T19:08:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213\"},\"wordCount\":285,\"image\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/diode144x144.png\",\"keywords\":[\"DSP\",\"portfolio\",\"teaching\"],\"articleSection\":[\"DSP\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213\",\"name\":\"ep-4yy13 DSP \u2013 week 7 - reactive music\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/diode144x144.png\",\"datePublished\":\"2014-03-11T19:58:54+00:00\",\"dateModified\":\"2014-09-05T19:08:09+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/reactivemusic.net\\\/?p=10213\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#primaryimage\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/diode144x144.png\",\"contentUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/diode144x144.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=10213#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/reactivemusic.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ep-4yy13 DSP \u2013 week 7\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/\",\"name\":\"reactive music\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/reactivemusic.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\",\"name\":\"Tom Zicarelli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"caption\":\"Tom Zicarelli\"},\"sameAs\":[\"http:\\\/\\\/tomzicarelli.com\"],\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ep-4yy13 DSP \u2013 week 7 - reactive music","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/reactivemusic.net\/?p=10213","og_locale":"en_US","og_type":"article","og_title":"ep-4yy13 DSP \u2013 week 7 - reactive music","og_description":"frequency domain transforming signals DFT, FFT, STFT The FFT produces a stream of complex numbers representing energy at frequencies across the spectrum The length of the FFT determines the frequency resolution (number of bins) Increasing length of FFT frame degrades resolution in time domain (rhythmic accuracy) Amplitude = root of (r*r) + (i*i) \u00a0= magnitude &hellip; Continue reading \"ep-4yy13 DSP \u2013 week 7\"","og_url":"https:\/\/reactivemusic.net\/?p=10213","og_site_name":"reactive music","article_published_time":"2014-03-11T19:58:54+00:00","article_modified_time":"2014-09-05T19:08:09+00:00","og_image":[{"url":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png","type":"","width":"","height":""}],"author":"Tom Zicarelli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tom Zicarelli","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/reactivemusic.net\/?p=10213#article","isPartOf":{"@id":"https:\/\/reactivemusic.net\/?p=10213"},"author":{"name":"Tom Zicarelli","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"headline":"ep-4yy13 DSP \u2013 week 7","datePublished":"2014-03-11T19:58:54+00:00","dateModified":"2014-09-05T19:08:09+00:00","mainEntityOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=10213"},"wordCount":285,"image":{"@id":"https:\/\/reactivemusic.net\/?p=10213#primaryimage"},"thumbnailUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png","keywords":["DSP","portfolio","teaching"],"articleSection":["DSP"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/reactivemusic.net\/?p=10213","url":"https:\/\/reactivemusic.net\/?p=10213","name":"ep-4yy13 DSP \u2013 week 7 - reactive music","isPartOf":{"@id":"https:\/\/reactivemusic.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=10213#primaryimage"},"image":{"@id":"https:\/\/reactivemusic.net\/?p=10213#primaryimage"},"thumbnailUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png","datePublished":"2014-03-11T19:58:54+00:00","dateModified":"2014-09-05T19:08:09+00:00","author":{"@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"breadcrumb":{"@id":"https:\/\/reactivemusic.net\/?p=10213#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/reactivemusic.net\/?p=10213"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/reactivemusic.net\/?p=10213#primaryimage","url":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png","contentUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2013\/10\/diode144x144.png"},{"@type":"BreadcrumbList","@id":"https:\/\/reactivemusic.net\/?p=10213#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/reactivemusic.net\/"},{"@type":"ListItem","position":2,"name":"ep-4yy13 DSP \u2013 week 7"}]},{"@type":"WebSite","@id":"https:\/\/reactivemusic.net\/#website","url":"https:\/\/reactivemusic.net\/","name":"reactive music","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/reactivemusic.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571","name":"Tom Zicarelli","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","caption":"Tom Zicarelli"},"sameAs":["http:\/\/tomzicarelli.com"],"url":"https:\/\/reactivemusic.net\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/10213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10213"}],"version-history":[{"count":13,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/10213\/revisions"}],"predecessor-version":[{"id":17117,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/10213\/revisions\/17117"}],"wp:attachment":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}