annotate dsp/segmentation/cluster_segmenter.h @ 20:8bdbda7fb893

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