iProtal is a free, opensource automatic tool for adjusting Metal and Progressive Rock / Metal genre of iTunes songs.
It scans an iTunes Library of songs, or the currently highlighted / selected songs in iTunes, and automatically fetches the genre
for all the artists.

At the end of this page you can find some screenshots

Currently, it fetches the genre from:

At the current state the program only works in Terminal mode, so everything is displayed as scary text. The author is not planning to write a graphical user interface now, but welcomes anybody who offers to write one.

The latest version is available here [zip archive].
The official GitHub page is: https://github.com/dgraziotin/iProtal


  1. Install py-appscript
    First, install py-appscript as it is required. From the terminal, run 

    sudo easy_install appscript

    Other ways to install it are available on the official website

  2. Run the program’s main.py. If you are not confident with the terminal, an easy way is to open the “Terminal” application of Mac OS X, type “python ” without the double quotes (followed by a space, as you see), drag the file src/main.py in the terminal and hit enter.
    Run iProtal 1
    Run iProtal 2

For any selected iTunes song (or the whole iTunes Library), the program fetches
the genre from the fetchers in the order listed above. The possible cases are:

  1. No genre is found
    The tracks for which no genre could be found are stored in memory and displayed
    before exiting the program. 

    iProtal No Genre Found
  2. A Genre is found
    The tracks genre is automatically updated without user interaction. 

    iProtal update iTunes genre
  3. More genres are found
    This happens with Enciclopaedia Metallum when more artists are found under the
    same name. The program delays the processing of the related songs and continues
    with the next group. Before exiting, iProtal asks the user which genre is more
    suitable for the tracks. 

    iProtal Multiple Genres found

The program won’t work:

  1. In case of bugs
    Please drop a mail to d AT danielgraziotin DOT it, describing what
    happened, including the program output. The author will fix the bugs
  2. The Artist name is not the same as the one stored in the remote fetchers
    Please try to use official names when naming Artists in iTunes. “F4tesWarn1ng”
    is not the same as “Fates Warning”. The program does not care about upper cases.

Send a mail to d AT danielgraziotin DOT it and suggest a new source for getting
genres. The author will be happy to add it in his very scarce free time.

Send a mail to d AT danielgraziotin DOT it.

About Author


Dr. Daniel Graziotin is a senior researcher (Akademischer Rat) at the University of Stuttgart, Germany. His research interests include human, behavioral, and psychological aspects of empirical software engineering, studies of science, and open science. He is associate editor at the Journal of Open Research Software and academic editor at the Research Ideas and Outcomes (RIO) journal. Daniel was awarded an Alexander von Humboldt Fellowship for postdoctoral researchers in 2017, the European Design Award (bronze) in 2016, and the Data Journalism Award in 2015. He received his Ph.D. in computer science at the Free University of Bozen-Bolzano, Italy.