{"id":254,"date":"2021-05-08T23:31:04","date_gmt":"2021-05-09T03:31:04","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/?p=254"},"modified":"2021-05-08T23:32:52","modified_gmt":"2021-05-09T03:32:52","slug":"sais-status-report-for-5-8-2021","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/2021\/05\/08\/sais-status-report-for-5-8-2021\/","title":{"rendered":"Sai&#8217;s Status Report for 5\/8\/2021"},"content":{"rendered":"<p>This past week, I was able to integrate Carlos&#8217; pitch detection and feedback algorithm with the user interface. I used the metrics from the algorithm to get the voice range evaluation. The algorithm outputs a note range, and I wrote some code to map that note range to a voice range category (&#8220;Soprano&#8221; , &#8220;Alto&#8221;, &#8220;Bass&#8221;, etc) to show to the user. I also wrote code to use this category to generate pitch lessons, and send expectancy metrics to the pitch feedback so that each user gets a custom lesson and evaluation based on their voice range. I designed the web app so that users can update this voice range at any time. I used the metrics from the pitch detection\/feedback algorithm to show a user how sharp and flat a user and how well a user was able to hold each using charts from chart.js library. The pictures of this feedback can be found in the team status report. I&#8217;ve attached a picture of the example voice range feedback I got for my own voice range.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-255\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.38-PM.png\" alt=\"\" width=\"387\" height=\"130\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.38-PM.png 1460w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.38-PM-300x101.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.38-PM-768x258.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.38-PM-1024x344.png 1024w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-256\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.30-PM.png\" alt=\"\" width=\"389\" height=\"366\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.30-PM.png 1386w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.30-PM-300x282.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.30-PM-768x723.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.25.30-PM-1024x963.png 1024w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><\/p>\n<p>Using the feedback I got from the user experience surveys last week, I made modifications to the pitch exercise so that there are now pop-up instructions, and more navigation buttons (exit buttons, back buttons etc).\u00a0<img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-257\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.27.32-PM.png\" alt=\"\" width=\"1338\" height=\"1286\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.27.32-PM.png 1338w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.27.32-PM-300x288.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.27.32-PM-768x738.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/05\/Screen-Shot-2021-05-08-at-11.27.32-PM-1024x984.png 1024w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>The pitch detection algorithm can return empty metrics if the recording is flawed, so I added a case where if the detection algorithm detects a faulty recording, I put in an error message and tell the user to try recording again for both the pitch exercises and the voice range evaluation. This was the best alternative to a page just crashing.<\/p>\n<p>I&#8217;ve actually been able to accomplish everything I&#8217;ve wanted to put into the web application, and am on schedule. Right now I am just hoping deployment works out.<\/p>\n<p>For the upcoming week, I&#8217;ll keep cleaning up and refining the user interface, adding more instructions and navigation for the exercises, and working the welcome page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This past week, I was able to integrate Carlos&#8217; pitch detection and feedback algorithm with the user interface. I used the metrics from the algorithm to get the voice range evaluation. The algorithm outputs a note range, and I wrote some code to map that note range to a voice range category (&#8220;Soprano&#8221; , &#8220;Alto&#8221;, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/2021\/05\/08\/sais-status-report-for-5-8-2021\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Sai&#8217;s Status Report for 5\/8\/2021&#8221;<\/span><\/a><\/p>\n","protected":false},"author":456,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[4],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts\/254"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/users\/456"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":3,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"predecessor-version":[{"id":260,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts\/254\/revisions\/260"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}