- The Problem Have you ever wanted to play pump up music before or during a workout but couldn’t find a track to keep up? Have you ever wanted to play some relaxing tunes after a long day at work or school but couldn’t find a track that was mellow enough? Have you ever had trouble finding a song to fit your mood even though you knew exactly what you were looking for?
UpBeat is the app for those moments where you know exactly what type of music you would like to listen too but don’t want to go digging through your library to find that perfect track.
UpBeat was born out of the desire to find the perfect running track to match your tempo. We often found that we knew exactly what type of music we wanted to run too rhythmically but it was almost impossible to find a match quickly by just browsing our music library.
What is UpBeat? UpBeat is the perfect application designed for users who wish to discover new music to fit their day. It’s as simple as finding a tempo that you enjoy, tapping to the beat, and clicking play! Step 1: Find a beat in your head. Open the app and tap the beat out with your finger. Step 2: Hit Play and Enjoy Step 3: Rinse & Repeat!
How does it Work? I. When the user taps out his or her beat the average BPM is calculated over a predefined interval. II. This BPM data is send out to a MySQL database hosted on Azure. The database is then queried for the song with the closest BPM to the value entered by the user. III. This song metadata is sent back to the Android application along with a YouTube link to the song. IV. Using YouTube Android player API the user is directed to the YouTube video of the song returned from the database query.
Our Plans We had 36 hours to complete a prototype for Hack Western. Our plans are ambitious and in the future we would like to add many more features and much more functionality. I. Comprehensive database: For the purposes of testing at Hack Western we built a small database with 11 songs, ideally our database would contain hundreds or thousands of songs and would be updated constantly. II. Ability to search users’ music library and play music from local library: The code for this feature is mostly all written but we were missing an algorithm to quickly and accurately scan audio files to calculate BPM. This step is crucial to implementing this feature. III. Develop better algorithm to analyze waveform: Currently our BPM data is scraped from Echonest but we would like to develop a more complete method to analyze the beat of a track. IV. User Customization: We would like our app to be tailored to individual users, for example genre or artist preferences, or a rating system that learns your taste as you use it.