Inspiration

The drive to build something unique and cool

What it does

It receives haikus and determines the sentiment value of each line by processing the 5-7-5 syllable format. It then assigns a unique musical accompaniment to each line which would be played back along with the haiku. It chooses from approximately 343000 different tunes that were all produced by a member of our team.

How I built it

We used the Twitter Streaming API to receive a stream of tweets that were decoded from their JSON format. We then used an algorithm to detect the 5-7-5 syllable format of haikus. The Indico Machine Learning API determined the sentiment value of each line and we assigned it to one of 5 possible sentiment values. After that, we used another algorithm to randomly match it up to a list of 70 musical phrases to create different combinations and therefore unique sounds each time. Finally, the device plays back the user's name followed by the haiku with the accompanying music.

Challenges I ran into

Understanding and decoding the JSON format in which the tweets were received

Accomplishments that I'm proud of

Working together with a team of students with different skill sets to create a technically challenging task.

What I learned

Learned about API and machine learning and also Python programming language.

What's next for BirdSongBot

The unique song produced can be played backed on the sender's phone rather than the computer that was running the code.

Built With

Share this project:

Updates