acousticbrainz-client-0.1.0.0: src/AcousticBrainz/LowLevel/MelBands.hs
{-# LANGUAGE OverloadedStrings #-}
module AcousticBrainz.LowLevel.MelBands where
import AcousticBrainz.StatisticalUnits
import AcousticBrainz.LowLevel.Bands
import Data.Aeson
import Data.Aeson.Types
newtype MelBands = MelBands Bands deriving(Eq, Ord, Read, Show)
instance FromJSON MelBands where
parseJSON = withObject "MelBands" $ \v -> fmap MelBands (Bands
<$> (_statisticalUnitsList <$> v .: "melbands")
<*> v .: "melbands_crest"
<*> v .: "melbands_flatness_db"
<*> v .: "melbands_kurtosis"
<*> v .: "melbands_skewness"
<*> v .: "melbands_spread")