view libs/aubioFullOSXUni/include/aubio/onset.h @ 1:ba2a17cf81bf

first working version of audio file loder. Loads bach clip from the apps->audio-file-loader->bin->data->sounds foler. Three classes: SoundFileLoader does the loading and parsing of thefile with libSndFile. audio samples are kept in AudioFile and analysis of features are kept in AudioAnalysis, at this stage just chromagramm and basic energy
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Sun, 04 Sep 2011 22:45:35 +0100
parents bcb0d40158f4
children
line wrap: on
line source
/*
   Copyright (C) 2006 Paul Brossier

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

*/

/** \file
 
  Onset detection driver

  The following routines compute the onset detection function and detect peaks
  in these functions. When onsets are found above a given silence threshold,
  and after a minimum inter-onset interval, the output vector returned by
  aubio_onset is filled with 1. Otherwise, the output vector remains 0.

  The peak-picking threshold, the silence threshold, and the minimum
  inter-onset interval can be adjusted during the execution of the aubio_onset
  routine using the corresponding functions.

*/
 

#ifndef ONSET_H
#define ONSET_H

#ifdef __cplusplus
extern "C" {
#endif

/** onset detection object */
typedef struct _aubio_onset_t aubio_onset_t;

/** create onset detection object
  
  \param type_onset onset detection type as specified in onsetdetection.h
  \param buf_size buffer size for phase vocoder
  \param hop_size hop size for phase vocoder
  \param channels number of channels 

*/
aubio_onset_t * new_aubio_onset (aubio_onsetdetection_type type_onset, 
    ba_uint_t buf_size, ba_uint_t hop_size, ba_uint_t channels);

/** execute onset detection

  \param o onset detection object as returned by new_aubio_onset
  \param input new audio vector of length hop_size
  \param onset output vector, 1 if onset is found, 0 otherwise

*/
void aubio_onset(aubio_onset_t *o, fvec_t * input, fvec_t * onset);

/** set onset detection silence threshold

  \param o onset detection object as returned by new_aubio_onset
  \param silence new silence detection threshold

*/
void aubio_onset_set_silence(aubio_onset_t * o, smpl_t silence);

/** set onset detection peak picking threshold 

  \param o onset detection object as returned by new_aubio_onset
  \param threshold new peak-picking threshold

*/
void aubio_onset_set_threshold(aubio_onset_t * o, smpl_t threshold);

/** set minimum inter onset interval

  \param o onset detection object as returned by new_aubio_onset
  \param minioi minimum number of frames between onsets (in multiple of
  hop_size/samplerare)

*/
void aubio_onset_set_minioi(aubio_onset_t * o, ba_uint_t minioi);

/** delete onset detection object

  \param o onset detection object to delete 

*/
void del_aubio_onset(aubio_onset_t * o);

#ifdef __cplusplus
}
#endif

#endif /* ONSET_H */