The software that we use to play and manage Karaoke songs is TKaraoke. It is available as a free and Pro version. The free version seems to work pretty well for us so we stick with it. It is so much better than the set top box that packs a lot tunes and plays the songs back in a very "robotic" tempo. TKaraoke software plays music video clips that has been ripped of the music DVD so the music and voice are sung by a real singer. There are 2 audio tracks on the video clip. The first one included the singer voice so one can learn to sing by watching/listening to the clip repeatedly. The second track only has music so one can practice singing with it.
The main advantage of storing video clips on the computer hard drive vs DVD is that the hard drive can store many thousand of video clips instead of the traditional 16-20 songs / DVD. The selected video clips can now be queued up in a playlist. They are played automatically when the previous video clip is completed. People can now easily select their songs, insert them into the playlist and wait for their turn.
But as the library of video clips grow, the songbook catalog is getting thicker. Every time new video clips are inserted into the collection, new songbook catalog must be generated and printed out. When the songbook catalog is longer than 50 pages, it is no longer practical to print out the paper songbook after new songs are inserted into the collection on a regular basis.
TKaraoke software has a tool that converts its songbook catalog into a text file that contains song IDs, DVD names and singer names in the collection. It is intended for printing out to paper songbook to be used as reference when selecting songs.
The format of the file is pretty simple. I was able to convert this into an Android sqlite database within a couple days. A few more days of tweaking, I finally have the songbook resided in my phone.
The first screen has 2 buttons to let me convert the songbook into sqlite DB and to display the book from sqlite DB. This screen is intended for me to experiment with new things in Android and sqlite. It will go away shortly after the main songbook display implementation is completed.
Now that I am successfully getting the songbook of about 8000 songs into my phone. My next hurdle is to present the data so that they would be easily located by the user. I added 4 buttons to sort the list by song name, singer name, search for a song title, search for singer name. Java made this task very easy using the collections sort, search, comparator, and comparable objects. If I were going to implement the same feature in C, this task would definitely take a few days. But Java make things so easy, it only takes a "noob" like me a couple hours to accomplish all of these tasks.


No comments:
Post a Comment