annotate xtract/xtract_delta.h @ 130:b6bf86eafc97

renamed README to README.md
author Jamie Bullock <jamie@postlude.co.uk>
date Thu, 31 May 2012 16:27:57 +0100
parents 2b2d0609e44f
children e4f704649c50
rev   line source
jamie@1 1 /* libxtract feature extraction library
jamie@1 2 *
jamie@1 3 * Copyright (C) 2006 Jamie Bullock
jamie@1 4 *
jamie@1 5 * This program is free software; you can redistribute it and/or modify
jamie@1 6 * it under the terms of the GNU General Public License as published by
jamie@1 7 * the Free Software Foundation; either version 2 of the License, or
jamie@1 8 * (at your option) any later version.
jamie@1 9 *
jamie@1 10 * This program is distributed in the hope that it will be useful,
jamie@1 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jamie@1 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
jamie@1 13 * GNU General Public License for more details.
jamie@1 14 *
jamie@1 15 * You should have received a copy of the GNU General Public License
jamie@1 16 * along with this program; if not, write to the Free Software
jamie@1 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
jamie@1 18 * USA.
jamie@1 19 */
jamie@1 20
jamie@116 21 /** \file xtract_delta.h: declares functions that scalar or vector value from 2 or more input vectors */
jamie@1 22
jamie@56 23 #ifndef XTRACT_DELTA_H
jamie@56 24 #define XTRACT_DELTA_H
jamie@1 25
jamie@1 26 #ifdef __cplusplus
jamie@1 27 extern "C" {
jamie@1 28 #endif
jamie@1 29
jamie@116 30 /**
jamie@116 31 * \defgroup delta `delta' extraction functions
jamie@116 32 *
jamie@116 33 * Functions that extract a scalar or vector value from 2 or more input vectors
jamie@116 34 *
jamie@116 35 * @{
jamie@116 36 */
jamie@116 37
jamie@1 38 #include "xtract_types.h"
jamie@1 39
jamie@116 40 /** \brief Extract flux
jamie@106 41 *
jamie@117 42 * \note FIX: don't be lazy -- take the lnorm of the difference vector!
jamie@106 43 * An alias for xtract_lnorm()
jamie@106 44 */
jamie@43 45 int xtract_flux(const float *data, const int N, const void *argv , float *result);
jamie@106 46
jamie@116 47 /** \brief Extract the L-norm of a vector
jamie@106 48 *
jamie@106 49 * \param *data: a pointer to the first element in an array of floats representing the difference between two subsequent frames of output from a vector-based feature e.g. the *result from xtract_difference_vector()
jamie@106 50 * \param N: the length of the array pointed to by *data
jamie@106 51 * \param *argv: a pointer to an array of floats, the first representing the "norm order". The second argument represents the filter type determining what values we consider from the difference vector as given in the enumeration xtract_lnorm_filter_types_ (libxtract.h)
jamie@106 52 * \param *result: a pointer to a float representing the flux
jamie@106 53 *
jamie@106 54 */
jamie@106 55 int xtract_lnorm(const float *data, const int N, const void *argv , float *result);
jamie@1 56 /*xtract_frame_tracker *xf */
jamie@1 57
jamie@2 58 /** \brief Extract attack Time */
jamie@43 59 int xtract_attack_time(const float *data, const int N, const void *argv , float *result);
jamie@1 60 /* xtract_amp_tracker *xa */
jamie@1 61
jamie@2 62 /** Extract temporal decrease */
jamie@43 63 int xtract_decay_time(const float *data, const int N, const void *argv, float *result);
jamie@1 64 /* xtract_amp_tracker *xa */
jamie@1 65
jamie@1 66
jamie@106 67 /** \brief Extract the difference between two vectors
jamie@106 68 *
jamie@106 69 * \param *data a pointer to an array representing two distinct vectors, e.g. two successive magnitude spectra.
jamie@106 70 * \param N the size of the array pointed to by *data
jamie@106 71 * \param *argv a pointer to NULL
jamie@106 72 * \param *result a pointer to an array of size N / 2 representing the difference between the two input vectors.
jamie@106 73 *
jamie@106 74 * */
jamie@106 75 int xtract_difference_vector(const float *data, const int N, const void *argv, float *result);
jamie@1 76 /*xtract_frame_tracker *xf */
jamie@1 77 /*float frames*/
jamie@1 78
jamie@116 79 /** @} */
jamie@116 80
jamie@1 81 #ifdef __cplusplus
jamie@1 82 }
jamie@1 83 #endif
jamie@1 84
jamie@1 85 #endif