{-# LANGUAGE OverloadedStrings #-}
module AcousticBrainz.LowLevel.Algorithm.EnergyBand where
import AcousticBrainz.StatisticalUnits
import Data.Aeson
import Data.Aeson.Types
data Output = Output
{ _high :: StatisticalUnits
, _low :: StatisticalUnits
, _middleHigh :: StatisticalUnits
, _middleLow :: StatisticalUnits
} deriving(Eq, Ord, Read, Show)
instance FromJSON Output where
parseJSON = withObject "EnergyBand" $ \v -> Output
<$> v .: "spectral_energyband_high"
<*> v .: "spectral_energyband_low"
<*> v .: "spectral_energyband_middle_high"
<*> v .: "spectral_energyband_middle_low"