hmeap-0.12: Haskell Meapsoft Parser

Safe HaskellNone

Sound.Analysis.Meapsoft

Description

Data representation and parser for MEAPsoft analysis frames.

Synopsis

Documentation

data MEAP Source

Data type representing a MEAPsoft anaylsis file.

read_meap :: FilePath -> IO (Either String MEAP)Source

Load a MEAPsoft analysis file, either a segmentation file or a feature file.

 Right m <- read_meap "/home/rohan/data/audio/jonchaies.wav.seg"
 map feature_name (features m) == ["onset_time","chunk_length"]

features :: MEAP -> [Feature]Source

The list of Features contained in the analysis file.

n_frames :: MEAP -> IntSource

The number of frames (rows) contained in the analysis file.

uarray_data :: MEAP -> UArray (Int, Int) DoubleSource

The analysis data stored in a UArray. Indices are of the form (row, column).

n_columns :: MEAP -> IntSource

The number of columns at each analysis frame (row). Segmentation files have two columns, onset time and segment length.

 n_columns m == 2

frame_l :: MEAP -> Int -> [Double]Source

Extract the indicated frame (row) as a list.

 length (frame_l m 0) == n_columns m

column_l :: MEAP -> Int -> [Double]Source

Extract the indicated column as a list. The length of the column is the n_frames of the analysis file.

 length (column_l m 0) == n_frames m

position :: MEAP -> (Int, Int) -> DoubleSource

Extract data from the indicated frame and column.

 position m (0,0) == frame_l m 0 !! 0

segments_l :: MEAP -> [(Double, Double)]Source

Extract segmentation data as a list. The segmentation data is given by the two columns onset_time and chunk_length.

 length (segments_l m) == n_frames m
 segments_l m !! 0 == (\[i,j] -> (i,j)) (frame_l m 0)

feature_names :: [String]Source

The list of feature names generated by MEAPsoft 2.0.

 map (`elem` feature_names) ["onset_time","chunk_length"] == [True,True]