annotate dsp/segmentation/cluster_segmenter.h @ 289:befe5aa6b450
* Refactor FFT a little bit so as to separate construction and processing
rather than have a single static method -- will make it easier to use a
different implementation
* pull in KissFFT implementation (not hooked up yet)
author |
Chris Cannam <c.cannam@qmul.ac.uk> |
date |
Wed, 13 May 2009 09:19: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
|