Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type WindowSize = Int
- type Query a = (Check a, a)
- data UserQuery a = ToPattern a => (Check Pattern) :@ a
- upTo :: Time -> Time -> (Time, Time)
- query :: Query Pattern -> MusicPiece -> [Pattern]
- queryMatchCount :: Query Pattern -> MusicPiece -> Int
- query1 :: UserQuery (Time, Time)
- query2 :: UserQuery (Music Pitch)
- (??) :: ToPattern a => Song -> UserQuery a -> IO ()
- class ToPattern a where
Documentation
type WindowSize = Int Source #
query :: Query Pattern -> MusicPiece -> [Pattern] Source #
Query equivalent patterns using a sliding window.
queryMatchCount :: Query Pattern -> MusicPiece -> Int Source #
(??) :: ToPattern a => Song -> UserQuery a -> IO () infix 0 Source #
Query patterns from the given song with given base pattern. e.g. "bach" ?? query1/query2
class ToPattern a where Source #
Types from which we can extract a pattern from a given song.
toPattern :: MusicPiece -> a -> Pattern Source #
ToMusic1 a => ToPattern (Music a) Source # | Given a datatype that can be converted to Euterpea's core Music datatype, one can subsequently convert that to get a musical pattern. |
ToPattern (Time, Time) Source # | Given a song name, one can extract a musical pattern by parsing the song file and selecting some time period. |