• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*---------------------------------------------------------------------------*
2  *  all_defs.h  *
3  *                                                                           *
4  *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
5  *                                                                           *
6  *  Licensed under the Apache License, Version 2.0 (the 'License');          *
7  *  you may not use this file except in compliance with the License.         *
8  *                                                                           *
9  *  You may obtain a copy of the License at                                  *
10  *      http://www.apache.org/licenses/LICENSE-2.0                           *
11  *                                                                           *
12  *  Unless required by applicable law or agreed to in writing, software      *
13  *  distributed under the License is distributed on an 'AS IS' BASIS,        *
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
15  *  See the License for the specific language governing permissions and      *
16  *  limitations under the License.                                           *
17  *                                                                           *
18  *---------------------------------------------------------------------------*/
19 
20 
21 #ifndef _h_all_defs_
22 #define _h_all_defs_
23 
24 #include "ptypes.h"
25 #include "setting.h"
26 
27 #define USE_CONFIDENCE_SCORER 1
28 
29 /* constants */
30 /* Model constants */
31 #define MAX_LABEL       40      /* Maximum permitted label length */
32 #define MAX_STRING      1024    /* Maximum permitted string length */
33 #define MAX_FILE_NAME 256     /* Maximum permitted filename length */
34 #define ALLOC_BLOCK     100
35 #define MAX_STREAM      32      /* max no. of streams in prog, not file */
36 #define MAX_DIMEN 64
37 #define MAX_PELS        128
38 
39 /* Likelihood calculations */
40 #define ADD_LOG_LIMIT    8
41 #define SCORE_ADJUST     4
42 #define SIGMA_BIAS       4
43 #define MUL_SCALE        6.4F
44 #define WT_SCALE         6.4F /* log weights */
45 #define WT_ADJUST  2 /* in bits, for exp table lookup */
46 #define WEIGHT_SHIFT  10
47 #define WEIGHT_SCALE  (0x01 << WEIGHT_SHIFT) /* absolute weights */
48 #define MAX_WTS   400 /* Needs to be tuned, dependent on some scales */
49 #define IMELDA_SCALE     14 /* Applicable only for grand variance */
50 #define EIGEN            1      /* for full covariance probability calc. */
51 #define EUCLID_SHIFT     14 /* Scaling for FIXED_POINT in shifts */
52 
53 /* MLLR and Baum-Welch */
54 /*dahan20070525
55 #define MEAN_SCALE 20 // MLLR coefficients
56 #define MEAN_OFFSET 128 // MLLR coefficients
57 #define MAX_MLLR_TRANSFORMS 50
58 #define EPSILON         0.001F
59 #define MAX_OCCUPANCY   1000
60 #define ITEM_WEIGHT     1       // item weighting for covariance calc.
61 // otherwise gamma weighted
62 #define GAMMA_SIGNI     0.0001  // minimum occupancy accumulates
63 */
64 
65 /* state duration constants */
66 #define DUR_BIAS        0       /* duration penalty bias, changed elsewhere */
67 #define NEWTON_FACTOR   10.0F   /* for converting duration to penalties */
68 #define DEFAULT_UNIT_PER_FRAME 1
69 #define FRAME_RATE_IN_MS 10
70 #define UTB_MEAN        127.5F  /* mean of parameters in utb file */
71 
72 /* utterence constants */
73 #define NORM_IN_IMELDA     0 /* Do channel normalization in IMELDA space */
74 #define MAX_CEP_DIM     12
75 #define MAX_CHAN_DIM     36
76 #define MAX_FILTER_NUM     32 /* spectrum filter read as frontend pars  (centre freq, spread)*/
77 #define NEW_UTB      1 /* support for latest (version 5) UTB files */
78 /* with this set to zero supports version 3 files */
79 
80 
81 /* phonemes and contexts */
82 #define MAX_PHONEMES     128
83 #define MAX_PHONE_STATES 6
84 
85 #define True  ESR_TRUE /*  Boolean constants */
86 #define False  ESR_FALSE
87 
88 #define LITTLE          0       /* endian types */
89 #define BIG             1
90 /*  Configuration options
91     useful arithmetic functions and constants */
92 #ifndef MAX
93 #define MAX(X,Y)        ((X) > (Y) ? (X) : (Y))
94 #endif
95 #ifndef MIN
96 #define MIN(X,Y)        ((X) < (Y) ? (X) : (Y))
97 #endif
98 #ifndef RANGE
99 #define RANGE(X,Y,Z)        ((X) < (Y) ? (Y) : (X) > (Z) ? (Z) : (X))
100 #endif
101 #define SQR(X)          ((X) * (X))
102 #define MAKEBYTE(X)     ((X) > 255 ? 255: ((X) < 0 ? 0 : (X)))
103 #define ROUNDOFF(X) ((int)((X) >= 0 ? ((X) + 0.5) : ((X) - 0.5)))
104 
105 #ifndef M_PI
106 #define M_PI            3.14159265358979323846
107 #endif /* M_PI */
108 
109 #define MAX_LOG  1000000                 /* Check this value against types */
110 #define FIXED_MAX 32767
111 
112 
113 #define D_SHORT         1L            /* Frame data types */
114 #define D_LONG          2L
115 #define D_FLOAT         3L
116 #define D_PTR           4L
117 #define D_CHAR          5L
118 #define D_UCHAR         6L
119 #define D_USHORT        7L
120 #define D_INT           8L
121 #define D_UINT          9L
122 #define D_ULONG        10L
123 #define D_DOUBLE       11L
124 
125 #define USE_SYSTEM_MEMMOVE  1  /* memmove redefinitions, do not change */
126 
127 #endif
128