This is the current status of the c++ audiomatch analyzer:
- Depending on command line options, the program reads in a list of artists, either from a plain text file on the local machine or by connecting to a mySQL server running on the local machine with database “audiomatch_net”.
- Then it “analyzes” this data, creating a listing of all the artists and their matches. This listing is just held as variables in the program; it is NOT written to file or to screen.
- All the above happens very fast (a few seconds). Then the user is given a command prompt, where he can enter one of the following type of commands:
- Display - display all or one of the artists and their matches
- Output - write to file all the artists and their matches (either plain text or sql)
- Sort - sort the results in various ways
- Delete - delete a particular artist from the results. This should be used to delete things such as “Unknown Artist”, which contribute nothing to the database
- Rename - rename a misspelled artist to the correct spelling. for example if originally the listing was as follows:
2pac
- n.w.a. 5
- nwa 3
- nas 2
nas
- n.w.a 3
- 2pac 2
n.w.a
- 2pac 5
- nas 3
nwa
- 2pac 3
and the command “rename n.w.a. nwa” were given, then it would look like this:
2pac
- nwa 8
- nas 2
nas
- nwa 3
- 2pac 2
nwa
- 2pac 8
- nas 3
- help
- quit
I have finished and implemented and tested everything above except for writing to a sql file/database.
Future plans:
OK although I have implemented rename and delete, we need to do something that makes it semi-automatic (i.e. we define a list of renamings such as n.w.a.->nwa, tupac->2pac, etc. which are applied everytime, and we can add to/change this list of renamings. Similarly for entries to delete, such as “unknown artist”, “no artist”, etc.). It makes the most sense to do one of the following things: either do it within the audiomatch_net database, i.e. as the entries are added, rename. This has the advantage of being perhaps a little more simple, but the main disadvantage is that the original data is no longer original. might screw with user’s stats, depending on what we do.
The other (preferable) option is to have a (perhaps separate) database that keeps track of renamings and deletions. This database can be accessed through the web using php, in order to add/modify entries. Then the analyzer program will automatically access this database to make the necessary changes. This will make it very flexible, since the manual work of declaring misspellings and so on can be done using a web interface, rather than through command lines or manual editing of the database.
Once we get all this done and up and running, we’ll see what kind of refinements need to be made.
Tags: audiomatch
Leave a Reply