/usr/include/jkGetF0.h is in libsnack2-dev 2.2.10-dfsg1-12build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | /*
* This software has been licensed to the Centre of Speech Technology, KTH
* by Microsoft Corp. with the terms in the accompanying file BSD.txt,
* which is a BSD style license.
*
* "Copyright (c) 1990-1996 Entropic Research Laboratory, Inc.
* All rights reserved"
*
* Written by: David Talkin
* Checked by:
* Revised by:
* @(#)f0.h 1.4 9/9/96 ERL
* Brief description:
*
*/
/* f0.h */
/* Some definitions used by the "Pitch Tracker Software". */
typedef struct f0_params {
float cand_thresh, /* only correlation peaks above this are considered */
lag_weight, /* degree to which shorter lags are weighted */
freq_weight, /* weighting given to F0 trajectory smoothness */
trans_cost, /* fixed cost for a voicing-state transition */
trans_amp, /* amplitude-change-modulated VUV trans. cost */
trans_spec, /* spectral-change-modulated VUV trans. cost */
voice_bias, /* fixed bias towards the voiced hypothesis */
double_cost, /* cost for octave F0 jumps */
mean_f0, /* talker-specific mean F0 (Hz) */
mean_f0_weight, /* weight to be given to deviations from mean F0 */
min_f0, /* min. F0 to search for (Hz) */
max_f0, /* max. F0 to search for (Hz) */
frame_step, /* inter-frame-interval (sec) */
wind_dur; /* duration of correlation window (sec) */
int n_cands, /* max. # of F0 cands. to consider at each frame */
conditioning; /* Specify optional signal pre-conditioning. */
} F0_params;
/* Possible values returned by the function f0(). */
#define F0_OK 0
#define F0_NO_RETURNS 1
#define F0_TOO_FEW_SAMPLES 2
#define F0_NO_INPUT 3
#define F0_NO_PAR 4
#define F0_BAD_PAR 5
#define F0_BAD_INPUT 6
#define F0_INTERNAL_ERR 7
/* Bits to specify optional pre-conditioning of speech signals by f0() */
/* These may be OR'ed together to specify all preprocessing. */
#define F0_PC_NONE 0x00 /* no pre-processing */
#define F0_PC_DC 0x01 /* remove DC */
#define F0_PC_LP2000 0x02 /* 2000 Hz lowpass */
#define F0_PC_HP100 0x04 /* 100 Hz highpass */
#define F0_PC_AR 0x08 /* inf_order-order LPC inverse filter */
#define F0_PC_DIFF 0x010 /* 1st-order difference */
extern F0_params *new_f0_params();
extern int atoi(), eround(), lpc(), window(), get_window();
extern void get_fast_cands(), a_to_aca(), cross(), crossf(), crossfi(),
autoc(), durbin();
#define Fprintf (void)fprintf
/* f0_structs.h */
#define BIGSORD 100
typedef struct cross_rec { /* for storing the crosscorrelation information */
float rms; /* rms energy in the reference window */
float maxval; /* max in the crosscorr. fun. q15 */
short maxloc; /* lag # at which max occured */
short firstlag; /* the first non-zero lag computed */
float *correl; /* the normalized corsscor. fun. q15 */
} Cross;
typedef struct dp_rec { /* for storing the DP information */
short ncands; /* # of candidate pitch intervals in the frame */
short *locs; /* locations of the candidates */
float *pvals; /* peak values of the candidates */
float *mpvals; /* modified peak values of the candidates */
short *prept; /* pointers to best previous cands. */
float *dpvals; /* cumulative error for each candidate */
} Dprec;
typedef struct windstat_rec { /* for lpc stat measure in a window */
float rho[BIGSORD+1];
float err;
float rms;
} Windstat;
typedef struct sta_rec { /* for stationarity measure */
float *stat;
float *rms;
float *rms_ratio;
} Stat;
typedef struct frame_rec{
Cross *cp;
Dprec *dp;
float rms;
struct frame_rec *next;
struct frame_rec *prev;
} Frame;
extern Frame *alloc_frame();
|