{"id":150,"date":"2023-03-19T02:21:51","date_gmt":"2023-03-19T02:21:51","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/?p=150"},"modified":"2023-03-19T02:21:51","modified_gmt":"2023-03-19T02:21:51","slug":"team-status-report-3-18","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/2023\/03\/19\/team-status-report-3-18\/","title":{"rendered":"Team Status Report 3\/18"},"content":{"rendered":"<p><strong><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">What<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">are<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">the<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">most<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">significant<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">risks<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">that<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">could<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">jeopardize<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">the<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">success<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">of<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">the\u00a0<\/span><\/strong><strong><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">project?<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">How<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">are<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">these<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">risks<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">being<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">managed?<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">What<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">co<\/span><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">ntingency<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">plans<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">are<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">ready?<\/span><\/strong><\/p>\n<p>I think our most significant risks in how we are going to be integrated our different components and subsystems. In order to be able to work, we have different branches in our repo for CV, Interface, and Audio, and plan on integrating them together in the master branch. However, when CV and Audio are integrated together, we will probably have to write in some threading capabilities so that CV can continually run\u00a0 while MIDI timing is being taken with\u00a0 the pressure sensor, so we will require a timing mechanisms.<\/p>\n<p>In order to mitigate this, we will take a few steps. Firstly, we will edit points in our schedule so that we merge in each CV milestone with our interface. This will require us to set up the bare bones of the interface rather quickly, so we will be pushing the audio details later. In our interface, we will set up a software timer that runs\/is checked as necessary, with a minimum BPM of 30, so we will always merge the CV milestones with a timer in place and software interrupts are triggered by a note being played via the pressure sensors to check the timer and send the MIDI message.<\/p>\n<p>Our contingency plan is to have a MIDI message sent on each beat. This is not ideal, as we may have a note that starts on a half beat, but given that we are focusing on the note accuracy + volume and interface in this project, we feel that it would be okay to have this as a contingency plan.<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">Were<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">any<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">changes<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">made<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">to<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">the<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">existing<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">design<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">of<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">the<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">system<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">(requirements,\u00a0<\/span><\/strong><strong><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">block<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">diagram,<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">system<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">spec,<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">etc<\/span><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">)?<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">Why<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">was<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">this<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">change<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">necessary,<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">what<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">costs\u00a0<\/span><\/strong><strong><span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">does<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">the<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">change<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">incur,<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">and<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">how<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">will<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">these<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">costs<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">be<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">mitigated<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">going<\/span> <span class=\"textLayer--absolute\" dir=\"ltr\" role=\"presentation\">forward?<\/span> <\/strong><\/p>\n<p>Given the feedback on our design report, we have decided to edit our implementation of the audio processing flow. We will not spend time trying to figure out the frequency spectrums of each note, but rather use a piano package with MIDI available through Python to render our sounds. We are currently exploring a few different options for these packages. This will reduce a lot of workload by using work already available to us rather than starting from scratch and trying to build deep sounds. Although we received feedback that suggested we use a soundcard as we are under budget, 1) we want to play the sounds through the phone for the portability aspects, as we expect our user to be using their laptop for actual score writing, and 2) we want to minimize cost to the user, as outlined in our use case.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What are the most significant risks that could jeopardize the success of the\u00a0project? How are these risks being managed? What contingency plans are ready? I think our most significant risks in how we are going to be integrated our different components and subsystems. In order to be able to work, we have different branches in &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/2023\/03\/19\/team-status-report-3-18\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Team Status Report 3\/18&#8221;<\/span><\/a><\/p>\n","protected":false},"author":663,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/posts\/150"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/users\/663"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/posts\/150\/revisions"}],"predecessor-version":[{"id":151,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/posts\/150\/revisions\/151"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/media?parent=150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/categories?post=150"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamb6\/wp-json\/wp\/v2\/tags?post=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}