Safe Haskell | None |
---|
Data representation and parser for MEAPsoft analysis frames.
- data MEAP
- read_meap :: FilePath -> IO (Either String MEAP)
- features :: MEAP -> [Feature]
- n_frames :: MEAP -> Int
- uarray_data :: MEAP -> UArray (Int, Int) Double
- n_columns :: MEAP -> Int
- frame_l :: MEAP -> Int -> [Double]
- column_l :: MEAP -> Int -> [Double]
- position :: MEAP -> (Int, Int) -> Double
- segments_l :: MEAP -> [(Double, Double)]
- feature_names :: [String]
- module Sound.Analysis.Meapsoft.Data
- module Sound.Analysis.Meapsoft.Header
Documentation
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"]
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]
module Sound.Analysis.Meapsoft.Data