Introduction
I am using Creative Nano to listen music. It's good to use. But managing songs was little problem. Because it has a folder view where I can switch from one folder to other. But it displays all the folder containing mp3 songs in the same level. So, I had to create folder according to the artist name. But it becomes problem to create the folders manually. So, I tried to use the software which can sync music with a removable drive. For that I found windows media player is useful. But in case of my mp3 player there is a big problem. Windows media player creates folder name as [Artist Name][Album Name][File Name]. So, in my mp3 player I can see only the album name which is most of the time not correct. Infect I want to switch from one artist to another. So, I decided to make my own program which can sync according to my choice.
Then I found that It should have a play feature too. I don't want to use different application for playing music while I'm copying music to my music player. So, I added the entire feature which helps to listen music from my MP3 player.
Then I designed a probability based random music playing algorithm which would monitor my choice and play music according to that. I found it's very useful to listen music. I was using iTunes before I designed Music Manager. So, the look becomes similar to iTunes. I think this representation of music is better then windows media player. Description
Manage your music library
To import your existing music from your computer you can browse the location of your music folder and then press the Load button. It will search all the music recursively and add to the library. It creates a MMHistory.mmh file for each folder you are interested for. It uses relative location. So, if you copy this folder to some other location and browse the folder with Music Manager then it will load the MMHistory.mmh file and can play music.
To manage music you can copy music from music manger, paste to music manager and delete music from your music folder with Music Manager. You can also drag and drop music to Music Manager. It will copy according to the file name format you specified in the options.
File name formats are as follows...
{Album}{Artist}{FileName}
{Artist}{Album}{FileName}
{Artist}{FileName}
{Album}{FileName}
{FileName}
{Album}{Artist}{Title}
{Artist}{Album}{Title}
{Artist}{Title}
{Album}{Title}
{Title}
{Genre}{Album}{Artist}{FileName}
{Genre}{Artist}{Album}{FileName}
{Genre}{Album}{Artist}{Title}
{Genre}{Artist}{Album}{Title}
So, you can manage your music according to the information available in mp3 file.
You can also paste windows media player play list (.wpl) to music manager. Music manager will copy all the music listed in the play list to the location you specified with your specified file name format.
You can also use add files, add folder from file menu to copy music to the specified location.
If you delete a file from the Music Manager library then it will delete from the physical location too. Now let's discuss about the probability based random music player
When we play music we follow some patterns. Like if you selected a classical music then you might choose another classical music. Now in that classical music there is a high probability that the next song sang by the same artist or from the same album. So, we can conclude that selecting the next music depends on the previous music. Now let's discuss how I designed the random music player...
I used a simulation technics called Morkov Chain. Initially all the music has same priority. Let's say it's 1.
If there are n music then probability for each music is 1/n. When user plays a music Music Manager increase the priority for that music to one unit. So, after playing the first music it's priority becomes 2 and probability of that music becomes 2/(n+1) and probability of the other music is 1/(n+1). Simply the probability of a music is Priority/(Tota Priority)
Now when user plays a music Music Manager increase priority to all the music belongs to the same genre. Music Manager adds the average priority of a genre to all the music belongs to that genre. So, priority gets increased for that genre. Then the next priority is the artist. Si, all the music sang by the same artist gets increased by it's average priority. Similerly it adds the album priority. In this part user cannot control the priority. But user can add additional priority specified in option dialog. The user defined priority is added to every songs according to the genre, artist and album.
User might not expect same music play repeatitively. So, user can check the Do not repeat untill all music are played check box in the options. User can define a priority to repeat the music too. In that case a played music's priority is decrease with the factor defined by the user. If it is 20 the maximum value then Music Manager doesn't decrease the priority of a played song.
So, this random player playes according to the user's choice and the prediction that user would like the next music from the same genre or from the same artist or album. So, it's has become more interesting then any other random music player.
The priority of a music permanently increased in two cases.
- User selects a music and play manually
- User listen the music completely
So, if user does not like the randomly choosen music then he can skip or play the next music then no priority is added to that music. If user plays a music manually and listen the complete music then the priority increased by two units. Thus it build the probability database. The average priority of the gener, artist or album is not saved in the database. It is needed to affect the probability distribution based on the playing music.
What's new in Music Manager 1.1?
WMA support to music manager. I thanked
Dava.Kelly for sending me the code to support wma file.
To designe this application I used some codes downloaded from code project. I thanks to the authors of that code.