LyricsAvg is a CLI app to calculate the average number of words for a musical artist based on a name input.
LyricsAvg should come pre-built for Linux, you can find the executable in this repo's releases.
Make sure you have pyinstaller installed on your local Python (3.9 and above) environment (pip install pyinstaller).
From the repository root run pyinstaller main.py -n lyrics_avg --onefile to build an executable file within dist/.
LyricsAvg can be executed with default arguments by running lyrics_avg in a terminal from the dist/ directory, the user will then be prompted to enter the name of the Artist they want to find the average number of words in the lyrics of.
This program comes with a number of optional arguments that can be listed by running lyrics_avg --help, the effects of which are listed as follows:
- -v or --verbose will enable a more detailed program output, such as listing which tracks are removed, the reasoning behind the removal, and displaying non-successful API responses.
- -p or --performance will show the time taken for API requests to finish.
- -s or --statistics will output more detailed statistics based on the program results, such as the min/max values of the data, the standard deviation, and the variance.
- -r NUM or --results NUM will change the number of search results considered when searching for an Artist name in the MusicBrainz database, e.g. if a user runs
lyrics_avg -r 3and inputs the name Elvis, the program will return the top 3 results of artists with a similar name in the database (Elvis Presley, Elvis Costello, Elvis Crespo) and prompt the user to select the correct one by entering the correct number. - -g or --graph will show a scatter graph of the lyrics data plotted as number of words in a song over time.