{"id":111,"date":"2024-03-17T01:09:24","date_gmt":"2024-03-17T01:09:24","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/?p=111"},"modified":"2024-03-17T01:09:24","modified_gmt":"2024-03-17T01:09:24","slug":"lynns-status-report-for-03-16","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/2024\/03\/17\/lynns-status-report-for-03-16\/","title":{"rendered":"Lynn&#8217;s Status Report for 03\/16"},"content":{"rendered":"<p><strong>Progress<\/strong><\/p>\n<p><span style=\"font-weight: 400\">I was working on finalizing the speech recognition pipeline and did basic testing toward the subsystem this week. To simplify the script and save memory, I decided not to temporarily save the audio inputs as .wav files. Instead, I choose to feed the byte frames directly into the noisereduce and speech recognition methods.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">After researching and doing some primary testing on the primary version of the script, I realized that it is not necessary to include both a \u201cstart\u201d and \u201cend\u201d event to manually control audio recording. With the modified version of the audio recording and speech recognition pipeline, the recording process will terminate automatically after a specific time, and would end the current session if do not hear from the speaker for another set time period.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The current script could recognize the standard commands with acceptable accuracy:<\/span><\/p>\n<p><span style=\"font-weight: 400\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-112\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-content\/uploads\/sites\/276\/2024\/03\/Screenshot-2024-03-16-at-20.29.25-300x246.png\" alt=\"\" width=\"300\" height=\"246\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-content\/uploads\/sites\/276\/2024\/03\/Screenshot-2024-03-16-at-20.29.25-300x246.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-content\/uploads\/sites\/276\/2024\/03\/Screenshot-2024-03-16-at-20.29.25.png 471w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/span><\/p>\n<p><span style=\"font-weight: 400\">A major focus of the speech recognition process is the price number. Currently, the price could be accurately recognized if the \u201cdollar\u201d keyword is included. On the other hand, if the speaker gives vague word commands such as \u201cfour-sixty\u201d, the recognizer would directly convert it to \u201c460\u201d, which is discrepant from the expected value. We may need further discussion on how to deal with this.<\/span><\/p>\n<p><strong>Schedule<\/strong><\/p>\n<p><span style=\"font-weight: 400\">I am a little behind schedule for testing the scripts on RPi, but I will catch that next week.\u00a0<\/span><\/p>\n<p><strong>Next Step<\/strong><\/p>\n<p><span style=\"font-weight: 400\">I will test the pipeline on the RPi in both quiet environments and crowded environments. Also, I will work with Yuxuan to implement the web app and connect the front-end buttons to the speech recognition pipeline.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Progress I was working on finalizing the speech recognition pipeline and did basic testing toward the subsystem this week. To simplify the script and save memory, I decided not to temporarily save the audio inputs as .wav files. Instead, I choose to feed the byte frames directly into the noisereduce and speech recognition methods.\u00a0 After &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/2024\/03\/17\/lynns-status-report-for-03-16\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Lynn&#8217;s Status Report for 03\/16&#8221;<\/span><\/a><\/p>\n","protected":false},"author":926,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/posts\/111"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/users\/926"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"predecessor-version":[{"id":113,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/posts\/111\/revisions\/113"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/categories?post=111"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamb0\/wp-json\/wp\/v2\/tags?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}