Akash’s Status Report for 4/25

This week I worked on testing our app and collecting some running data. I ran into some issues with Android Studio, but with the help of Mayur, I was able to download the app onto my phone (the testing device). However, even after that, my phone was not able to collect data with an issue we have still not figured out. I then switched over to using an older Android phone (Galaxy S6) and it worked fine. We got good data that we can use to show the time-scale warp.

I also started working on the slides for our final presentation, that will be given this week. Our presentation is mostly focused on our actual implemented system and our metric validation.

Akash’s Status Report for 4/18

This past week I worked on converting the Python implementation of the song selection algorithm to Java. This way we can easily integrate this feature into the app. I had a little difficulty with this as I haven’t coded in Java in a long time, but I was able to use the Python skeleton I wrote to help guide me. Now that it is all in Java, Mayur is going to work on integrating it into the app. The next feature we could add to this would be user preference of songs so that scores could be modified based on how much the user likes specific songs.

Akash’s Status Report for 4/11

This week I have been working on converting the song selection algorithm code to Java so we can integrate it in the app. During our demo Professor Sullivan and Jens gave us some ideas about testing and other features to try with the song selection algorithm. The one that I think would be cool to work on is the having the users enter their ranks or preferences for songs that will be like a score booster when the songs are being selected.

Akash’s Status Report for 4/4

This week I worked on the song selection algorithm. I got something basic working in Python. I created a list of song objects and the algorithm goes through as specified in the Design Document and scores the songs and picks the best one to play. The next step is to get this working with actual music and write it so it is compatible with Android Studio.

Akash’s Status Report for 3/28

This week I worked on starting the song selection algorithm and getting some step detection data so we can use it for the future. My goal with the song selection algorithm is to get it working without music to make sure that the actual math and selection of songs works properly. I am using Python for this right now, but the final one might be in Java.

We are collecting step data in case we do not have the ability to finally integrate everything into one app, we have the data to use, even if not in real-time. My goal for the next week is to finish the basic song selection algorithm.

Akash’s Status Report for 3/21

This week our team worked together to figure out how to move forward with being remote and having to finish the project. Since our project is already split into 3 parts and is mostly all software, we feel like we do not have to change our course of action very much.

In the next week, I will be working with Mayur to get the step detection tested and working on my phone, to make sure we can collect the data and send it to the time-warp algorithm since we might not be able to integrate all the parts together in one app. If we can still collect a graph of the data, we can use that to do the audio modification – just not in real time.

Akash’s Status Report for 3/14

Before spring break we were working on the design review document and through our presentation, we got some new ideas and metrics that we could potentially include in our project. So in the week before break, I was trying to come up with ways we could possibly implement those ideas into our project, if at all. At the same time, I was continuing my research on the Android step detection functions and working on the details of the song selection algorithm. One important decision I think we came to as a group, that should be noted, is that we would rather play the same song multiple times than a song that doesn’t warp well.

Over the break, we found out that classes would be moving online and we would likely not be meeting each other for the rest of the semester. It will make it a little more difficult to work on the project, but because we split it evenly, it should still be doable to finish.

Akash’s Status Report for 2/29

This week I worked on the slides for our design review presentation and working through the design review document. While going through the document and presentation we fleshed out a lot about how our project is going to work. Since we already found that the step detection from the phone is good enough, we modified part of our project to include a song selection algorithm, which is the new part I will be working on. So in the next few weeks, I will be working on that and make sure it works properly.

The point of this algorithm is to find a song in the user’s playlist that matches the running pace the best. Our metrics require that the song is within a certain BPM range of the running pace, so the goal of this algorithm is to find the song that best matches the pace. This is so that when we put the time-scale audio modification algorithm on the song, it will not sound too weird from the original and still be enjoyable to the user. Since at the end of the day, if the music does not sound good, then the user is less likely to use the app.

Akash’s Status Report for 2/22

This week I worked on finding how to get the step data from the  Samsung Galaxy S9. We decided to work with the S9 since it gave us the best data overall from our testing.

I found a few papers and different websites that explain how to get the step detector to work for Android Studio, but it is unclear whether that is for Android in general or Samsung specific. I would like to keep doing some research but also try the suggestions in the websites.

My goal for the next week is to get something basic working from the papers and websites and see how accurate it is.

Akash’s Status Update for 2/15

This week I worked on testing the step detection in possible devices that we are going to use for our app. We worked with two Android phones (Galaxy S9 and Galaxy S7). We also worked with a Samsung Galaxy Watch. Since I am injured, I had my other 2 partners run on the treadmill with the phones and watch in their hands and manually count the steps in addition. After each run, we would record all the data that the phones and watch detected as well as the manual count. We can in 30 sec, and 1 min intervals in a range of speeds from 5.5 mph to 10 mph as this is the range of typical runners.

We added a little bit of error in step counting to the numbers we had due to us taking extra steps while we had the phones resting on the arm bars, etc. We calculated the avg error per device and also calculated the pace in footsteps per minute so we can use that for finding the BPM of songs for warping them.

All the data and calculations can be found in this speadsheet here: https://docs.google.com/spreadsheets/d/1J2ysAOXA1FXJSTiTSfZmVzg7IQvT8NH68mO__dcMQ8I/edit?usp=sharing

As of right now, I feel like we are on track with our goals. Since we know the data we got from the step detection is pretty good, we can move forward with our selected devices.

In the next week, I look forward to figuring out how to get the footstep data off the phone to use for processing.