Videos:
Jibo (robot with cute gestures)
Noted that a lot of his expressiveness is from the more subtle motions he makes, i.e. a slight tilt of the head or swift jerking motions when trying to convey aggression
Lotus Flower video
Noted that most of Thom's moves are pretty nonhuman and irregular motions, but they always clearly convey emotion (i.e. that jerking buildup during the leadup to the chorus)
Desiigner explaining things
Took away the finger point jerky thing that a lot of rappers do, but also with how him just tilting his head while saying the same works gives off a much more frank and comedic vibe.
Week of September 16th:
This week I did a read through of the abstract posted to the main page of our project and wrote down some notes regarding both its content and ideas that popped into my head as I was reading. I developed a more thorough understanding of Shimi's capabilities in expressing emotion, what the team is shooting for when it comes to what it is expressing, as well as future aspirations and implementation ideas. I will include a link to my notes below, which contains a more detailed representation of what I took away from it.
I also read up on the motor documentation for the Dynamixel motors we're using. I briefly looked at the documentation on the first website (the manufacturers') but was honestly confused by it being written in a programming language I'm not altogether familiar with. I looked at the Dynamixel documentation for pyPot as well, however, and took away a lot more of a firm idea of what was going on lol. I took notes and jotted down the major stuff I took away from the tutorial page, and will include a link below of those as well. Super excited to start working! :^)
Week of October 7th
This week and the week prior Christine and I have been developing an algorithm using Spotify's API that is designed to take input on a particular song and report back to the user the percent chance that they'd like said song. Last week, Christine and I formulated ideas and pathways which we could take to achieve this goal, pinpointing which specific functions in spotify's API we wanted to use, and this week we put those functions into action.
What resulted from our work was a demo which takes two specific songs (referenced by Spotify URI), compares them to each other, and returns a percent chance one would like the second song given its similarities to the first. The program was written in Python, using pypot's Spotify API interface, and utilizes the Tracks function to compute a long list of characteristics for songs (specific characteristics and links to all referenced aspects included in attached document)
Our aim for the next week is to expand the functionality of this program, enabling it to compare, say, 100 tracks at once to the song queried, and possibly to extend that functionality towards being able to query any song title, rather than a specific URL. This would, ideally, allow Shimi to be asked about a specific song in plain english, and is sure to bring our goal of simply being able to ask Shimi about a song naturally ever closer.
Our brainstorming document is attached below, along with a working version of our prototypical program.
Week of October 7th
This week and the week prior Christine and I have been developing an algorithm using Spotify's API that is designed to take input on a particular song and report back to the user the percent chance that they'd like said song. Last week, Christine and I formulated ideas and pathways which we could take to achieve this goal, pinpointing which specific functions in spotify's API we wanted to use, and this week we put those functions into action.
What resulted from our work was a demo which takes two specific songs (referenced by Spotify URI), compares them to each other, and returns a percent chance one would like the second song given its similarities to the first. The program was written in Python, using pypot's Spotify API interface, and utilizes the Tracks function to compute a long list of characteristics for songs (specific characteristics and links to all referenced aspects included in attached document)
Our aim for the next week is to expand the functionality of this program, enabling it to compare, say, 100 tracks at once to the song queried, and possibly to extend that functionality towards being able to query any song title, rather than a specific URL. This would, ideally, allow Shimi to be asked about a specific song in plain english, and is sure to bring our goal of simply being able to ask Shimi about a song naturally ever closer.
Our brainstorming document is attached to the left, along with a working version of our prototypical program below it.
Week of October 14th
This week, Christine and I worked further on our spotify project, this time adding in a feature of being able to look up a song by artist and song title rather than just a spotify id. Furthermore, I made some adjustments to how the program calculates the percent chance that a person likes a particular song to make results more dynamic and, in me and christine's opinion, realistic. As of right now, our program simply compares any inputted song query to DNA by Danny Brown ( a specific song), but in the coming week we hope to expand our options to include a function which averages a finite number of songs from an individual's song library. I believe this goal is achievable within the next week, and look forward to seeing our progress.
Week of November 12th
Final steps were made last week by me and Christine to have a working demo for our Spotify recommendation program, and at the end of the week we have a working product with some room for improvement in the future. We have successfully modified the program so users can import their top 100 spotify tracks all at once, and optimized the algorithm so that those imports are done all at once rather than once for each run of comparisons. This enables the program to run slightly (although not too significantly faster, and perhaps more importantly simplifies the layout of our program.
Furthermore, in optimizing how our algorithm weighs song characteristics, I created a spreadsheet to track characteristic values across a multitude of songs which then automatically updates all of the relevant statistical values (median, mean, standard deviation etc.). I made this spreadsheet public and have linked it below this passage, but in the current time I have collected a total of 60 songs from 3 different people. The unfortunate trend from all of this, however, is that across songs which people both like and strongly dislike, the differences in each important value are within one standard deviation; this liekly means that differences between each of these characteristics is statistically insignificant and is likely to be a poor predictor of enjoyability of a song, but rather a predictor of how a song would fit one's most listened to tracks. Regardless, updates to the algorithm were made and I am now having values produced which vary more greatly and are within reason.
This week, steps were made to spell check a user's inputs to the program and provide spelling suggestions. In the future, we hope to implement these aspects so that they become holistically integrated with our main program. With us now successfully interfacing with and calculating based on Spotify's API, we now look forward to making user interaction a priority.
Week of November 26th
This week, adjustments were made to make the algorithm run more efficiently, specifically involving totally removing variables which were not useful from the program. This ensures that costly calculations are not done unnecessarily, and should allow the program to be run more easily across different computers and, hopefully, more quickly. Efficiency tests were not performed, however I would wager this would have a significant outcome. On top of this, I also made adjustments to formatting, nd Christine made adjustments to how the program manages the cache.