summaryrefslogtreecommitdiff
path: root/media/sphinxbase/src/libsphinxbase/fe/fe_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/sphinxbase/src/libsphinxbase/fe/fe_internal.h')
-rw-r--r--media/sphinxbase/src/libsphinxbase/fe/fe_internal.h216
1 files changed, 0 insertions, 216 deletions
diff --git a/media/sphinxbase/src/libsphinxbase/fe/fe_internal.h b/media/sphinxbase/src/libsphinxbase/fe/fe_internal.h
deleted file mode 100644
index f6c943c72f..0000000000
--- a/media/sphinxbase/src/libsphinxbase/fe/fe_internal.h
+++ /dev/null
@@ -1,216 +0,0 @@
-/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
-/* ====================================================================
- * Copyright (c) 1996-2004 Carnegie Mellon University. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * This work was supported in part by funding from the Defense Advanced
- * Research Projects Agency and the National Science Foundation of the
- * United States of America, and the CMU Sphinx Speech Consortium.
- *
- * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND
- * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY
- * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * ====================================================================
- *
- */
-
-#ifndef __FE_INTERNAL_H__
-#define __FE_INTERNAL_H__
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "sphinxbase/fe.h"
-#include "sphinxbase/fixpoint.h"
-
-#include "fe_noise.h"
-#include "fe_prespch_buf.h"
-#include "fe_type.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if 0
-/* Fool Emacs. */
-}
-#endif
-
-/* Values for the 'logspec' field. */
-enum {
- RAW_LOG_SPEC = 1,
- SMOOTH_LOG_SPEC = 2
-};
-
-/* Values for the 'transform' field. */
-enum {
- LEGACY_DCT = 0,
- DCT_II = 1,
- DCT_HTK = 2
-};
-
-typedef struct melfb_s melfb_t;
-/** Base Struct to hold all structure for MFCC computation. */
-struct melfb_s {
- float32 sampling_rate;
- int32 num_cepstra;
- int32 num_filters;
- int32 fft_size;
- float32 lower_filt_freq;
- float32 upper_filt_freq;
- /* DCT coefficients. */
- mfcc_t **mel_cosine;
- /* Filter coefficients. */
- mfcc_t *filt_coeffs;
- int16 *spec_start;
- int16 *filt_start;
- int16 *filt_width;
- /* Luxury mobile home. */
- int32 doublewide;
- char const *warp_type;
- char const *warp_params;
- uint32 warp_id;
- /* Precomputed normalization constants for unitary DCT-II/DCT-III */
- mfcc_t sqrt_inv_n, sqrt_inv_2n;
- /* Value and coefficients for HTK-style liftering */
- int32 lifter_val;
- mfcc_t *lifter;
- /* Normalize filters to unit area */
- int32 unit_area;
- /* Round filter frequencies to DFT points (hurts accuracy, but is
- useful for legacy purposes) */
- int32 round_filters;
-};
-
-typedef struct ringbuf_s {
- powspec_t** bufs;
- int16 buf_num;
- int32 buf_len;
- int16 start;
- int16 end;
- int32 recs;
-} ringbuf_t;
-
-/* sqrt(1/2), also used for unitary DCT-II/DCT-III */
-#define SQRT_HALF FLOAT2MFCC(0.707106781186548)
-
-typedef struct vad_data_s {
- uint8 global_state;
- uint8 state_changed;
- uint8 store_pcm;
- int16 prespch_num;
- int16 postspch_num;
- prespch_buf_t* prespch_buf;
-} vad_data_t;
-
-/** Structure for the front-end computation. */
-struct fe_s {
- cmd_ln_t *config;
- int refcount;
-
- int16 prespch_len;
- int16 postspch_len;
- float32 vad_threshold;
-
- float32 sampling_rate;
- int16 frame_rate;
- int16 frame_shift;
-
- float32 window_length;
- int16 frame_size;
- int16 fft_size;
-
- uint8 fft_order;
- uint8 feature_dimension;
- uint8 num_cepstra;
- uint8 remove_dc;
- uint8 log_spec;
- uint8 swap;
- uint8 dither;
- uint8 transform;
- uint8 remove_noise;
- uint8 remove_silence;
-
- float32 pre_emphasis_alpha;
- int32 seed;
-
- size_t sample_counter;
- uint8 start_flag;
- uint8 reserved;
-
- /* Twiddle factors for FFT. */
- frame_t *ccc, *sss;
- /* Mel filter parameters. */
- melfb_t *mel_fb;
- /* Half of a Hamming Window. */
- window_t *hamming_window;
- /* Storage for noise removal */
- noise_stats_t *noise_stats;
-
- /* Storage for VAD variables */
- vad_data_t *vad_data;
-
- /* Temporary buffers for processing. */
- /* FIXME: too many of these. */
- int16 *spch;
- frame_t *frame;
- powspec_t *spec, *mfspec;
- int16 *overflow_samps;
- int16 num_overflow_samps;
- int16 prior;
-};
-
-void fe_init_dither(int32 seed);
-
-/* Apply 1/2 bit noise to a buffer of audio. */
-int32 fe_dither(int16 *buffer, int32 nsamps);
-
-/* Load a frame of data into the fe. */
-int fe_read_frame(fe_t *fe, int16 const *in, int32 len);
-
-/* Shift the input buffer back and read more data. */
-int fe_shift_frame(fe_t *fe, int16 const *in, int32 len);
-
-/* Process a frame of data into features. */
-void fe_write_frame(fe_t *fe, mfcc_t *fea);
-
-/* Initialization functions. */
-int32 fe_build_melfilters(melfb_t *MEL_FB);
-int32 fe_compute_melcosine(melfb_t *MEL_FB);
-void fe_create_hamming(window_t *in, int32 in_len);
-void fe_create_twiddle(fe_t *fe);
-
-fixed32 fe_log_add(fixed32 x, fixed32 y);
-fixed32 fe_log_sub(fixed32 x, fixed32 y);
-
-/* Miscellaneous processing functions. */
-void fe_spec2cep(fe_t * fe, const powspec_t * mflogspec, mfcc_t * mfcep);
-void fe_dct2(fe_t *fe, const powspec_t *mflogspec, mfcc_t *mfcep, int htk);
-void fe_dct3(fe_t *fe, const mfcc_t *mfcep, powspec_t *mflogspec);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __FE_INTERNAL_H__ */