annotate dsp/segmentation/segment.h @ 30:a251fb0de594

* Make MFCC able to accept already-FFT'd input, and simplify API a bit * Add log power value to MFCC, restore windowing, and avoid some heap allocs * In HMM, bail out of iteration if loglik hits NaN
author cannam
date Fri, 18 Jan 2008 13:24:12 +0000
parents d096a79fa772
children 67899fda84f5
rev   line source
cannam@18 1 #ifndef _SEGMENT_H
cannam@18 2 #define _SEGMENT_H
cannam@18 3
cannam@20 4 #ifdef __cplusplus
cannam@20 5 extern "C" {
cannam@20 6 #endif
cannam@20 7
cannam@18 8 /*
cannam@18 9 * segment.h
cannam@18 10 * soundbite
cannam@18 11 *
cannam@18 12 * Created by Mark Levy on 06/04/2006.
cannam@18 13 * Copyright 2006 Centre for Digital Music, Queen Mary, University of London. All rights reserved.
cannam@18 14 *
cannam@18 15 */
cannam@18 16
cannam@18 17 typedef struct segment_t
cannam@18 18 {
cannam@18 19 long start; /* in samples */
cannam@18 20 long end;
cannam@18 21 int type;
cannam@18 22 } segment_t;
cannam@18 23
cannam@18 24 typedef struct segmentation_t
cannam@18 25 {
cannam@18 26 int nsegs; /* number of segments */
cannam@18 27 int nsegtypes; /* number of segment types, so possible types are {0,1,...,nsegtypes-1} */
cannam@18 28 int samplerate;
cannam@18 29 segment_t* segments;
cannam@18 30 } segmentation_t;
cannam@18 31
cannam@18 32 typedef enum
cannam@18 33 {
cannam@18 34 FEATURE_TYPE_UNKNOWN = 0,
cannam@18 35 FEATURE_TYPE_CONSTQ = 1,
cannam@26 36 FEATURE_TYPE_CHROMA = 2,
cannam@26 37 FEATURE_TYPE_MFCC = 3
cannam@18 38 } feature_types;
cannam@18 39
cannam@20 40 #ifdef __cplusplus
cannam@20 41 }
cannam@18 42 #endif
cannam@18 43
cannam@20 44 #endif
cannam@20 45