In the early 1960's, we were all singing stars, at least in our living rooms, thanks to a man named Mitch Miller and his show 'Sing Along With Mitch'. He encouraged us to sing along with his musical guests, and it didn’t matter if we didn’t know the words for they would magically appear on the bottom of our black and white TV screens! Those of us old enough to remember the show swear that we simply followed the bouncing ball as it tapped each word when it was to be sung. But our memories fail us (remember, we are old) for this program never used a bouncing ball. So where did it come from? Our other favorite programs! Check this out: https://www.youtube.com/watch?v=S2pBm4A4EPk and advance to 4:30. These cartoons are the ancestors of today’s karaoke machines.
Project Description: Design an application that allows a user to add lyrics and a “bouncing ball” to a favorite tune so that we all can sing along.
General Requirements: 1. The application should allow the user to choose a song, upload the lyrics and create the visual of the lyrics synchronized with the song. 2. The application should display the lyrics along with an indicator to guide the singer. 3. Use characteristics of the song (measure, tempo, etc) to assist in moving the “bouncing ball” through the lyrics. 4. Write an editor for the application that allows a user to create, play, save, open, close, copy, search, … a music file with its karaoke-style lyrics. Subtasks: 1. Get lyrics on screen in the app 2. Get music playing in the app 3. Figure out how to determine beats from the music 4. Get lines of music to match up in the song (either clicking on a new song line or analyzing music) 4.5 (if no music scanning) Set-up parsing lyrics/requiring hyphens and spaces 5. Figure out how to save beats in song (so you won't have to reread the song every time you open) 5. Create a bouncing ball 6. Get bouncing ball to line up with beats in song 7. Get ball to bounce on words. 8. Create user interface 9. Save songs, info about them
A note about my project, I chose to use color to highlight words instead of a bouncing ball so steps 5-8 became highlight words with the beats.