annotate dsp/segmentation/cluster_segmenter.h @ 255:9edaa3ce62e8

* 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 Chris Cannam <c.cannam@qmul.ac.uk>
date Fri, 18 Jan 2008 13:24:12 +0000
parents cdfd0948a852
children e5907ae6de17
rev   line source
c@243 1 #ifndef _CLUSTER_SEGMENTER_H
c@243 2 #define _CLUSTER_SEGMENTER_H
c@243 3
c@243 4 /*
c@243 5 * cluster_segmenter.h
c@243 6 * soundbite
c@243 7 *
c@243 8 * Created by Mark Levy on 06/04/2006.
c@243 9 * Copyright 2006 Centre for Digital Music, Queen Mary, University of London. All rights reserved.
c@243 10 *
c@243 11 */
c@243 12
c@243 13 #include <stdio.h>
c@243 14 #include <stdlib.h>
c@243 15 #include <math.h>
c@243 16 #include <float.h>
c@243 17
c@243 18 #include "segment.h"
c@243 19 #include "cluster_melt.h"
c@245 20 #include "hmm/hmm.h"
c@245 21 #include "maths/pca/pca.h"
c@245 22
c@245 23 #ifdef __cplusplus
c@245 24 extern "C" {
c@245 25 #endif
c@243 26
c@243 27 /* applies MPEG-7 normalisation to constant-Q features, storing normalised envelope (norm) in last feature dimension */
c@243 28 void mpeg7_constq(double** features, int nframes, int ncoeff);
c@243 29
c@243 30 /* converts constant-Q features to normalised chroma */
c@243 31 void cq2chroma(double** cq, int nframes, int ncoeff, int bins, double** chroma);
c@243 32
c@243 33 void create_histograms(int* x, int nx, int m, int hlen, double* h);
c@243 34
c@243 35 void cluster_segment(int* q, double** features, int frames_read, int feature_length, int nHMM_states,
c@243 36 int histogram_length, int nclusters, int neighbour_limit);
c@243 37
c@243 38 void constq_segment(int* q, double** features, int frames_read, int bins, int ncoeff, int feature_type,
c@243 39 int nHMM_states, int histogram_length, int nclusters, int neighbour_limit);
c@243 40
c@245 41 #ifdef __cplusplus
c@245 42 }
c@245 43 #endif
c@243 44
c@245 45 #endif