Get genre and style information from allmusic.com
gem install rjl-allmusic
require 'allmusic' spicy = Allmusic.new "Spice Girls", "Spiceworld" puts spicy.genres # => ["Pop/Rock", "Electronic"] puts spicy.styles # => ["Adult Contemporary", "Dance-Pop", "Euro-Dance", "Euro-Pop", "Teen Pop", "Club/Dance"]
How it works
Allmusicgenre is a webscraper. It uses fuzzy string matching to improve flexibility and match.
(artist) and an
- Finds the (best artist match) between (artist) and the artists listed
http://www.allmusic.com/artist/(best artist match)/discography
- Finds the (best album match) between (album) and the albums listed
http://www.allmusic.com/album/(best album match)
- Gets 'genres' and 'styles'
'Best' match is defined as the match with the highest Jaro-Winkler distance from the given artist or album.
This is an early release. There are exactly three test cases. I would be stunned if it did not break at around five.
0.1 Initial release 0.2 Add 'genres' and 'styles' attributes to return list of all 0.3 Improve recovery from bad searchs 0.4 'Initialise' gets meta. Added tests. Clean code. 0.5 Fix bug returning 'nil' metadata on failed finds.
- Pick cooler test cases.
Kiyoka Nishiyama What is fuzzy-string-match
Copyright (c) 2016 Richard Lyon. See LICENSE.txt for further details.