About this blog

This is my secondary, extremely-seldomly updated blog about music.

Thursday, December 15, 2011

My Most "Hardcore" Artists



As this old fake webcomic I made shows, I consider song length to be a measure of a artist's, shall we say, "hardcoreitude". I quantify this by the average length of their songs. I originally checked this using an Excel spreadsheet as I use to do so many other musical statistics, but this approach had several problems which I have now fixed with a smarter Python script. This list shows the 20 artists in my library with the longest average song length, along with the number of songs by them I have for comparison. (Esoteric with 35 songs averaging 13:37 is more impressive than Lustre averaging 16:08 with 5 songs--particularly because it makes Esoteric 'leet') The results turned out to be a mix of post rock, atmospheric black metal, progressive rock, and classical music.
  1. Godspeed You! Black Emperor - 18:05 , 14
  2. Lustre - 16:08 , 5
  3. Darkestrah - 14:38 , 6
  4. Esoteric - 13:37 , 35
  5. Neal Morse - 13:11 , 11
  6. Darkspace - 12:10 , 17
  7. Altar of Plagues - 12:10 , 14
  8. Berlioz - 12:00 , 5
  9. Transatlantic - 11:01 , 21
  10. Beethoven - 10:56 , 30
  11. Wolves in the Throne Room - 10:54 , 21
  12. Krallice - 10:15 , 19
  13. Moonsorrow - 9:53 , 34
  14. Schubert - 9:38 , 13
  15. Guilt Machine - 9:36 , 6
  16. Negura Bunget - 9:10 , 8
  17. Conrad Herwig - 9:02 , 6
  18. Strauss - 8:57 , 8
  19. Hindemith - 8:52 , 3
  20. Brahms - 8:43 , 18
I got the idea for this post because I am currently listening to the #1 band, Godspeed You! Black Emperor and thus being reminded of how amazing they are. They do some of the most out-there, beautiful, and interesting experimental rock of any band I know of. Their "average" song is about 18 minutes (according to my script), filled with spacey, minimalistic guitars, unusual classical/folk instrumentation, and nonsensical samples. The result is somewhere between Explosions in the Sky, classical symphonies, movie soundtracks, and dreaming. Here is part 1 of one of my favorites, from their last album. (They went on hiatus in 2002, but recently announced they are working on new material!)


And for my fellow nerds out there, here is my script. Note that I now interface with my iTunes library metadata through the XML file iTunes saves for this purpose rather than through arbitrary text files. If anyone wants the module used for this, contact me.


import sys
import os
import os.path
sys.path.append('%s' % (os.path.abspath(os.path.join(os.curdir, 'BansheeMeld'))))
import xmlIO
if len(sys.argv) > 1:
   numtoprint = int(sys.argv[1])
else:
   numtoprint = 20
lib = xmlIO.lib()
artistlengths = dict()
def good(song):
   return song['Track Number'] is not None and song['Track Count'] is not None and song['Genre'] != 'Podcast'
def converttime(t):
   m, s = divmod(t, 60)
   return "%d:%02d" % (int(m), int(s))
for song in lib[0]:
   if good(song):
      if 'Album Artist' in song and song['Album Artist'] is not None:
         artist = song['Album Artist']
      else:
         artist = song['Artist']
      if artist in artistlengths:
         artistlengths[artist][0] += song['Time']
         artistlengths[artist][1] += 1
      else:
         artistlengths[artist] = [song['Time'], 1] 
averages = [((v[0] * 1.0 / v[1]), k, v[1]) for k, v in artistlengths.iteritems()]
averages.sort(reverse=True)
for i in xrange(numtoprint):
   print averages[i][1],'-',converttime(averages[i][0]),',',averages[i][2]

No comments:

Post a Comment