Parth’s Status Report for Feb 18
Personal Accomplishments
Most of my work this week was aimed towards consolidating the data for the UI and implementing a MVC design that is compatible with the inputs and outputs for each subsystem. This week involved a lot of work as a team, wherein, we made some significant design decisions that were backed with proof of concepts and metrics. To that end, my first objective was to find a way to remove our dependency on the QLC+ API because of latency issues. We tried using PyDMXControl to directly interface with the lights using Python, however, we ran into backend issues. To resolve this, I found another python library DmxPy, using which, we were able to control the lights directly, as shown in the media under the team’s status update.
I was able to make significant progress in the Lights OOP and how it would scale to allow for the integration of multiple lights. I also contributed to the development of criteria for the signal decomposition. We determined 8 characteristics and features we will be using to divide and process the audio. Further, I made design decisions about combining the outputs from the signal processor and the genre classifier to adjust the lighting logic. Finally, a major part of my efforts were directed towards creating the design proposal slide deck and consolidating our development plans.
On Track?
According to the team schedule my only goal for this week was to get started on the UI, but I ended up accomplishing a lot more. I started working on a basic web application that will be done by the end of next week. Further, as a team, we made progress on multiple subsystems, giving us a better understanding of everything that needs to be accomplished. As mentioned in the previous status report, I was able to accomplish the goals I had set out for myself earlier. I was able to bypass the QLC requirement without the use of a RaspberryPi as I had initially hypothesized.
Overall, I was able to maintain my headstart from last week, finishing tasks that we anticipated would not get done for a while. I want to continue developing my subsystems in a way that are consistent with the rest of the systems, so that we can shave time off for integration. Further, I want to develop in a manner that provides flexibility for change and accommodates the team’s needs.
Goals for Next Week
My critical goal for next week is to finish the development of a UI that allows the user to enter audio and then communicate with the other subsystems. If I am able to take in inputs from the subsystems and create outputs as hypothesized in our design, I will move on to integrating it with the light engine so that we are able to produce a deliverable that can be tested on. Further, I will be helping Abhishek with the lighting engine, taking the UI outputs to determine the lighting logic and queue.
Classes that helped:
17-437 Webapps – Used this to create the MVC design for the interface and deploy the UI
18-213/18-290 – Used these courses to define the metrics for the software and the signal decomposition
15-112 – Used this to design the light sets using OOP