{"id":146,"date":"2021-03-27T20:49:13","date_gmt":"2021-03-28T00:49:13","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/?p=146"},"modified":"2021-03-27T20:49:13","modified_gmt":"2021-03-28T00:49:13","slug":"carloss-status-report-for-3-27-2021","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/2021\/03\/27\/carloss-status-report-for-3-27-2021\/","title":{"rendered":"Carlos&#8217;s Status Report for 3\/27\/2021"},"content":{"rendered":"<p>This week I verified the pitch detection accuracy of the Yin pitch detection algorithm as implemented by a third-party. In inspecting their code, I noticed that they did not implement every step of the algorithm and described in the paper, therefore, its accuracy is lower than reported in the paper. While the algorithm has 6 steps, only 4 were implemented. I considered implementing the extra steps myself, but I found the code difficult to work with and sought other options. I found another implementation for the algorithm on GitHub, but it had similar issues: not all steps were implemented, and it was written in Python 2.\u00a0<!--more--><\/p>\n<p>In response, I sought other successful pitch detection algorithms, particularly the one implemented in the Phonetics program Praat. In my research, I found a <a href=\"https:\/\/www.researchgate.net\/publication\/307888988_Today's_Most_Frequently_Used_F0_Estimation_Methods_and_Their_Accuracy_in_Estimating_Male_and_Female_Pitch_in_Clean_Speech\">paper<\/a> that compared results\u00a0 for the Yin, Praat, and RAPT pitch detection algorithms and found that the Praat algorithm was most accurate. Luckily, there exists a Python interface for Praat by the name of Parselmouth which unfortunately does not have the best documentation, but is intuitive enough to use for pitch detection.<\/p>\n<p>I tested both algorithms against pure tones from C2 to C6 with added noise, and modulation by 2 to 8 hertz to simulate voice vibrato. This is the result of the two different algorithms against a randomly generated assortment of pitches.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-150\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.45.40-PM-300x189.png\" alt=\"\" width=\"432\" height=\"272\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.45.40-PM-300x189.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.45.40-PM-768x483.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.45.40-PM-1024x644.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.45.40-PM.png 1748w\" sizes=\"(max-width: 432px) 100vw, 432px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-153\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.46.52-PM-300x195.png\" alt=\"\" width=\"458\" height=\"298\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.46.52-PM-300x195.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.46.52-PM-768x500.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.46.52-PM-1024x667.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-content\/uploads\/sites\/148\/2021\/03\/Screen-Shot-2021-03-27-at-8.46.52-PM.png 1766w\" sizes=\"(max-width: 458px) 100vw, 458px\" \/>.<\/p>\n<p>I haven&#8217;t yet done a note to note comparison between these two, but I think the ease of use of Parselmouth has convinced me to go this route. In the coming week, I hope to complete the clap detection algorithm and the pitch to note converter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I verified the pitch detection accuracy of the Yin pitch detection algorithm as implemented by a third-party. In inspecting their code, I noticed that they did not implement every step of the algorithm and described in the paper, therefore, its accuracy is lower than reported in the paper. While the algorithm has 6 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/2021\/03\/27\/carloss-status-report-for-3-27-2021\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Carlos&#8217;s Status Report for 3\/27\/2021&#8221;<\/span><\/a><\/p>\n","protected":false},"author":457,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[4],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts\/146"}],"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\/457"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":156,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/posts\/146\/revisions\/156"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamd7\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}