{"id":2089,"date":"2021-11-17T12:02:38","date_gmt":"2021-11-17T17:02:38","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/?p=2089"},"modified":"2021-11-17T13:34:34","modified_gmt":"2021-11-17T18:34:34","slug":"grape-finalproject","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/grape\/11\/17\/grape-finalproject\/","title":{"rendered":"grape &#8211; FinalWiP"},"content":{"rendered":"<p>As I mentioned in my ProjectProposal post, I was motivated to complete this project out of a desire to have a physical archive of my voice snippets.<\/p>\n<p>[videopack id=&#8221;1934&#8243;]https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/RPReplay_Final1635957413.mov[\/videopack]<\/p>\n<p>To make a real time hmhmhmgraph, I had to work with Max MSP&#8217;s pitch detection. I made a simple mic patch that sends pitch data to Processing via osc. I then map the pitch to one of 12 total notes that each have their own symbol.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2090\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_37_20-e1637167034254-206x480.png\" alt=\"\" width=\"206\" height=\"480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_37_20-e1637167034254-206x480.png 206w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_37_20-e1637167034254-440x1024.png 440w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_37_20-e1637167034254-660x1536.png 660w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_37_20-e1637167034254.png 687w\" sizes=\"(max-width: 206px) 85vw, 206px\" \/><\/p>\n<p>There were some immediate setbacks with plotting in real time. One of which was that I had initially plotted the pitch from left to right, line by line. This however made the plot increasingly inaccurate wrt to my pitch, as the plotter would take a couple seconds to move down to the next line before plotting again. I then opted for a <b>Boustrophedon\u00a0<\/b>plotting path, which goes from left to right to right to left in a snaking manner to minimize the time the plotter takes to move without plotting.<\/p>\n<p>Another issue(\/non issue) was that the frame rate affected the quality of the plot. Since processing attempts 60 fps, this clobbers my note variable in unpredictable ways. I mentioned that this was a nonissue because it looks cool. Anyway in order to minimize the number of overwrites I just lowered the frame rate to 4. I tried a frame rate of 2, but felt that the plotter became too slow at this speed.<\/p>\n<p>These are all plots to me singing mitski&#8217;s nobody.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2094\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57-428x480.png\" alt=\"\" width=\"428\" height=\"480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57-428x480.png 428w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57-913x1024.png 913w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57-768x861.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57-1370x1536.png 1370w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57-1200x1346.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-11_42_57.png 1745w\" sizes=\"(max-width: 428px) 85vw, 428px\" \/><\/p>\n<p>60 fps<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2093\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-409x480.png\" alt=\"\" width=\"409\" height=\"480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-409x480.png 409w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-872x1024.png 872w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-768x901.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-1309x1536.png 1309w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-1745x2048.png 1745w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57-1200x1409.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-3-on-Nov-17-2021-at-11_42_57.png 1795w\" sizes=\"(max-width: 409px) 85vw, 409px\" \/><\/p>\n<p>4 fps<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2092\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57-406x480.png\" alt=\"\" width=\"406\" height=\"480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57-406x480.png 406w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57-865x1024.png 865w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57-768x909.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57-1298x1536.png 1298w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57-1200x1420.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-11_42_57.png 1463w\" sizes=\"(max-width: 406px) 85vw, 406px\" \/><\/p>\n<p>2fps<\/p>\n<p>Here&#8217;s a video with me singing with it plotting.<\/p>\n<p><a href=\"https:\/\/vimeo.com\/646970438\">https:\/\/vimeo.com\/646970438<\/a><\/p>\n<p>Some things I&#8217;d change:<\/p>\n<p>If you notice from the video it can&#8217;t pick up grace notes or any quick notes but I&#8217;m also not entirely sure how to fix that lol. I&#8217;d also want to keep a record of both duration and pitch change and sync it to allison parrish&#8217;s <a href=\"https:\/\/github.com\/aparrish\/pronouncingpy\">pronouncing py\u00a0<\/a> so I can generate lyrics for my voice thingies (song <em>writing<\/em> is a beat I have yet to vanquish).<\/p>\n<p>I&#8217;m also currently in the middle of implementing a new asemic notation using bezier curves that emulate cursive handwriting, just because I think the current system might be too intricate which time intensive on the plotter. Notes are below:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2099\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-621x480.png\" alt=\"\" width=\"621\" height=\"480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-621x480.png 621w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-1024x791.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-768x593.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-1536x1187.png 1536w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-2048x1582.png 2048w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-2-on-Nov-17-2021-at-12_17_04-1200x927.png 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2100\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-12_17_04-340x480.png\" alt=\"\" width=\"340\" height=\"480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-12_17_04-340x480.png 340w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-12_17_04-724x1024.png 724w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-12_17_04-768x1086.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-12_17_04-1087x1536.png 1087w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/Scannable-Document-on-Nov-17-2021-at-12_17_04.png 1132w\" sizes=\"(max-width: 340px) 85vw, 340px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I mentioned in my ProjectProposal post, I was motivated to complete this project out of a desire to have a physical archive of my voice snippets. [videopack id=&#8221;1934&#8243;]https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/RPReplay_Final1635957413.mov[\/videopack] To make a real time hmhmhmgraph, I had to work with Max MSP&#8217;s pitch detection. I made a simple mic patch that sends pitch data to &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/grape\/11\/17\/grape-finalproject\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;grape &#8211; FinalWiP&#8221;<\/span><\/a><\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[21],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/2089"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/comments?post=2089"}],"version-history":[{"count":7,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/2089\/revisions"}],"predecessor-version":[{"id":2218,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/2089\/revisions\/2218"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/media?parent=2089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/categories?post=2089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/tags?post=2089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}