/*****************************************************/
/**  Autogenerated clustergen voice for cmu_us_awb    */
/*****************************************************/

#include "flite/cg/cg.hpp"
#include "flite/stats/cart.hpp"
#include "flite/utils/string.hpp"

extern const cst_cart* const cmu_us_awb_single_f0_carts[];
extern const cst_cart cmu_us_awb_spamf0_phrase_cart;
extern const cst_cart cmu_us_awb_spamf0_accent_cart;
extern const float* const cmu_us_awb_spamf0_accent_vectors[];
#define cmu_us_awb_spamf0_accent_num_channels 8
#define cmu_us_awb_spamf0_accent_num_frames 95

extern const cst_cart* const cmu_us_awb_single_mcep_carts[];
#define cmu_us_awb_single_num_channels 114
#define cmu_us_awb_single_num_frames 8855
extern const unsigned short* const cmu_us_awb_single_model_vectors[];
extern const dur_stat* const cmu_us_awb_dur_stats[];
extern const cst_cart cmu_us_awb_dur_cart;
extern const char* const* cmu_us_awb_phone_states[];

extern const char* const cmu_us_awb_types[] = {
    "zh_204",
    "zh_205",
    "zh_206",
    "oy_131",
    "oy_132",
    "oy_133",
    "ch_41",
    "ch_42",
    "ch_43",
    "aw_21",
    "aw_22",
    "aw_23",
    "ow_126",
    "ow_127",
    "ow_128",
    "b_36",
    "b_37",
    "b_38",
    "g_76",
    "g_77",
    "g_78",
    "ng_121",
    "ng_122",
    "ng_123",
    "uw_179",
    "uw_180",
    "uw_181",
    "sh_156",
    "sh_157",
    "sh_158",
    "uh_174",
    "uh_175",
    "uh_176",
    "hh_81",
    "hh_82",
    "hh_83",
    "ae_6",
    "ae_7",
    "ae_8",
    "y_194",
    "y_195",
    "y_196",
    "k_101",
    "k_102",
    "k_103",
    "aa_1",
    "aa_2",
    "aa_3",
    "ay_31",
    "ay_32",
    "ay_33",
    "w_189",
    "w_190",
    "w_191",
    "m_111",
    "m_112",
    "m_113",
    "pau_142",
    "ao_16",
    "ao_17",
    "ao_18",
    "th_169",
    "th_170",
    "th_171",
    "ah_11",
    "ah_12",
    "ah_13",
    "v_184",
    "v_185",
    "v_186",
    "dh_51",
    "dh_52",
    "dh_53",
    "d_46",
    "d_47",
    "d_48",
    "n_116",
    "n_117",
    "n_118",
    "jh_96",
    "jh_97",
    "jh_98",
    "r_146",
    "r_147",
    "r_148",
    "ey_66",
    "ey_67",
    "ey_68",
    "pau_141",
    "pau_143",
    "f_71",
    "f_72",
    "f_73",
    "ih_86",
    "ih_87",
    "ih_88",
    "ax_27",
    "ax_28",
    "p_136",
    "p_137",
    "p_138",
    "iy_91",
    "iy_92",
    "iy_93",
    "l_106",
    "l_107",
    "l_108",
    "z_199",
    "z_200",
    "z_201",
    "pau_161",
    "s_151",
    "s_152",
    "s_153",
    "eh_56",
    "eh_57",
    "eh_58",
    "t_164",
    "t_165",
    "t_166",
    "er_61",
    "er_62",
    "er_63",
    "ax_26",
    NULL};
#define cmu_us_awb_num_types 124

extern const float cmu_us_awb_model_min[] = {
    0.000000,
    0.000000,
    2.207580,
    0.057156,
    -0.882864,
    0.063750,
    -1.242540,
    0.067814,
    -0.511836,
    0.060803,
    -0.933365,
    0.053314,
    -0.957039,
    0.050297,
    -0.428726,
    0.047405,
    -0.582891,
    0.047169,
    -0.581457,
    0.046013,
    -0.463338,
    0.038787,
    -0.681063,
    0.046070,
    -0.445197,
    0.040290,
    -0.472793,
    0.049565,
    -0.540015,
    0.043288,
    -0.398685,
    0.047900,
    -0.360142,
    0.040782,
    -0.408985,
    0.047505,
    -0.220534,
    0.041957,
    -0.381290,
    0.035000,
    -0.308998,
    0.045737,
    -0.193389,
    0.043622,
    -0.276992,
    0.039609,
    -0.227851,
    0.039243,
    -0.233262,
    0.036922,
    -0.268724,
    0.049328,
    -0.837734,
    0.026259,
    -0.646392,
    0.024492,
    -0.530662,
    0.028717,
    -0.241172,
    0.025368,
    -0.225957,
    0.023754,
    -0.246071,
    0.021972,
    -0.120331,
    0.021325,
    -0.225308,
    0.021569,
    -0.177582,
    0.021463,
    -0.153084,
    0.019848,
    -0.141242,
    0.023086,
    -0.099331,
    0.019868,
    -0.101974,
    0.022054,
    -0.123620,
    0.023440,
    -0.072975,
    0.021353,
    -0.084732,
    0.020267,
    -0.121363,
    0.022049,
    -0.067162,
    0.020604,
    -0.062079,
    0.022163,
    -0.065289,
    0.018997,
    -0.044378,
    0.020723,
    -0.052159,
    0.021494,
    -0.051390,
    0.017899,
    -0.048436,
    0.018563,
    -0.063176,
    0.024431,
    0.068072,
    0.000983,
    0.416506,
    0.006395,
    0.241647,
    0.036669,
    0.215272,
    0.063214,
    0.203880,
    0.042892,
    0.000000,
    0.000000,
};
extern const float cmu_us_awb_model_range[] = {
    177.154999,
    57.597801,
    5.485710,
    1.352794,
    4.516004,
    0.800875,
    2.641110,
    0.520430,
    2.363436,
    0.461930,
    2.063095,
    0.396009,
    1.428239,
    0.391127,
    1.060952,
    0.275935,
    0.964840,
    0.260488,
    0.925302,
    0.267316,
    0.808153,
    0.287093,
    0.976302,
    0.224190,
    0.848084,
    0.241784,
    0.742597,
    0.213179,
    0.905935,
    0.233471,
    0.692303,
    0.194461,
    0.550227,
    0.159073,
    0.574039,
    0.165777,
    0.538991,
    0.187214,
    0.593177,
    0.193424,
    0.516205,
    0.154087,
    0.403441,
    0.152421,
    0.381194,
    0.145177,
    0.320679,
    0.129504,
    0.382310,
    0.139271,
    0.441297,
    0.184814,
    2.225184,
    0.747157,
    1.618200,
    0.371240,
    0.794678,
    0.259086,
    0.578982,
    0.174639,
    0.438937,
    0.163313,
    0.441376,
    0.146516,
    0.271299,
    0.109305,
    0.409341,
    0.111490,
    0.276791,
    0.095679,
    0.256144,
    0.089451,
    0.271867,
    0.082652,
    0.178832,
    0.084961,
    0.210707,
    0.086863,
    0.232688,
    0.074446,
    0.182041,
    0.076355,
    0.140123,
    0.079239,
    0.196149,
    0.082597,
    0.127547,
    0.077981,
    0.117591,
    0.067924,
    0.110693,
    0.070933,
    0.084907,
    0.069098,
    0.101284,
    0.066440,
    0.096677,
    0.072283,
    0.093152,
    0.066840,
    0.105072,
    0.058676,
    0.930160,
    0.366638,
    0.573306,
    0.232405,
    0.697018,
    0.241193,
    0.612477,
    0.184484,
    0.683725,
    0.210166,
    10.000000,
    5.050760,
};
float cmu_us_awb_dynwin[] = {-0.5, 0.0, 0.5};
#define cmu_us_awb_dynwinsize 3
extern const double cmu_us_awb_me_filter_0[] = {
    -0.000399,
    -0.000699,
    -0.001099,
    -0.001637,
    -0.002312,
    -0.003074,
    -0.003809,
    -0.004351,
    -0.004484,
    -0.003962,
    -0.002541,
    -0.000000,
    0.003823,
    0.009004,
    0.015512,
    0.023196,
    0.031787,
    0.040907,
    0.050093,
    0.058835,
    0.066610,
    0.072934,
    0.077398,
    0.079708,
    0.079708,
    0.077398,
    0.072934,
    0.066610,
    0.058835,
    0.050093,
    0.040907,
    0.031787,
    0.023196,
    0.015512,
    0.009004,
    0.003823,
    -0.000000,
    -0.002541,
    -0.003962,
    -0.004484,
    -0.004351,
    -0.003809,
    -0.003074,
    -0.002312,
    -0.001637,
    -0.001099,
    -0.000699,
    -0.000399};
extern const double cmu_us_awb_me_filter_1[] = {
    0.000496,
    -0.000058,
    -0.001005,
    -0.002381,
    -0.003945,
    -0.005039,
    -0.004653,
    -0.001797,
    0.003915,
    0.011720,
    0.019506,
    0.024199,
    0.022732,
    0.013331,
    -0.003381,
    -0.023975,
    -0.042828,
    -0.053712,
    -0.051874,
    -0.035904,
    -0.008641,
    0.023315,
    0.051428,
    0.067831,
    0.067831,
    0.051428,
    0.023315,
    -0.008641,
    -0.035904,
    -0.051874,
    -0.053712,
    -0.042828,
    -0.023975,
    -0.003381,
    0.013331,
    0.022732,
    0.024199,
    0.019506,
    0.011720,
    0.003915,
    -0.001797,
    -0.004653,
    -0.005039,
    -0.003945,
    -0.002381,
    -0.001005,
    -0.000058,
    0.000496};
extern const double cmu_us_awb_me_filter_2[] = {
    0.000201,
    0.001321,
    0.000959,
    -0.002283,
    -0.004482,
    -0.001078,
    0.003495,
    0.001813,
    -0.000020,
    0.008175,
    0.013508,
    -0.004814,
    -0.029146,
    -0.020370,
    0.009818,
    0.010703,
    -0.006372,
    0.025894,
    0.083862,
    0.038460,
    -0.122700,
    -0.193589,
    -0.023811,
    0.210551,
    0.210551,
    -0.023811,
    -0.193589,
    -0.122700,
    0.038460,
    0.083862,
    0.025894,
    -0.006372,
    0.010703,
    0.009818,
    -0.020370,
    -0.029146,
    -0.004814,
    0.013508,
    0.008175,
    -0.000020,
    0.001813,
    0.003495,
    -0.001078,
    -0.004482,
    -0.002283,
    0.000959,
    0.001321,
    0.000201};
extern const double cmu_us_awb_me_filter_3[] = {
    0.001506,
    -0.001866,
    0.000040,
    0.000245,
    0.001315,
    0.001553,
    -0.007738,
    0.004472,
    0.006691,
    -0.006614,
    -0.000051,
    -0.010459,
    0.019514,
    0.010167,
    -0.042837,
    0.019609,
    0.013218,
    0.010271,
    -0.008695,
    -0.096298,
    0.140882,
    0.048727,
    -0.264734,
    0.161309,
    0.161309,
    -0.264734,
    0.048727,
    0.140882,
    -0.096298,
    -0.008695,
    0.010271,
    0.013218,
    0.019609,
    -0.042837,
    0.010167,
    0.019514,
    -0.010459,
    -0.000051,
    -0.006614,
    0.006691,
    0.004472,
    -0.007738,
    0.001553,
    0.001315,
    0.000245,
    0.000040,
    -0.001866,
    0.001506};
extern const double cmu_us_awb_me_filter_4[] = {
    -0.001754,
    0.002357,
    -0.002671,
    0.002435,
    -0.001539,
    0.000393,
    -0.000077,
    0.001963,
    -0.006807,
    0.013808,
    -0.020365,
    0.023037,
    -0.019545,
    0.010865,
    -0.002081,
    0.001031,
    -0.014854,
    0.045806,
    -0.088445,
    0.129996,
    -0.154339,
    0.148291,
    -0.107518,
    0.039308,
    0.039308,
    -0.107518,
    0.148291,
    -0.154339,
    0.129996,
    -0.088445,
    0.045806,
    -0.014854,
    0.001031,
    -0.002081,
    0.010865,
    -0.019545,
    0.023037,
    -0.020365,
    0.013808,
    -0.006807,
    0.001963,
    -0.000077,
    0.000393,
    -0.001539,
    0.002435,
    -0.002671,
    0.002357,
    -0.001754};
extern const double* const cmu_us_awb_me_h[] = {
    cmu_us_awb_me_filter_0,
    cmu_us_awb_me_filter_1,
    cmu_us_awb_me_filter_2,
    cmu_us_awb_me_filter_3,
    cmu_us_awb_me_filter_4};

#define cmu_us_awb_num_f0_models 1
#define cmu_us_awb_num_dur_models 1
#define cmu_us_awb_num_param_models 1
int cmu_us_awb_num_channels[] = {
    cmu_us_awb_single_num_channels};
int cmu_us_awb_num_frames[] = {
    cmu_us_awb_single_num_frames};
extern const cst_cart** cmu_us_awb_f0_carts[] = {
    (const cst_cart**)cmu_us_awb_single_f0_carts};
extern const unsigned short** cmu_us_awb_model_vectors[] = {
    (const unsigned short**)cmu_us_awb_single_model_vectors};
extern const cst_cart** cmu_us_awb_mcep_carts[] = {
    (const cst_cart**)cmu_us_awb_single_mcep_carts};
extern const dur_stat** cmu_us_awb_dur_stats_table[] = {
    (const dur_stat**)cmu_us_awb_dur_stats};
extern const cst_cart* cmu_us_awb_dur_cart_table[] = {
    &cmu_us_awb_dur_cart};

extern const cst_cg_db cmu_us_awb_cg_db = {
    "cmu_us_awb",
    cmu_us_awb_types,
    cmu_us_awb_num_types,
    16000,
    132.000000,
    25.000000,
    cmu_us_awb_num_f0_models,
    cmu_us_awb_f0_carts,
    cmu_us_awb_num_param_models,
    cmu_us_awb_mcep_carts,
    NULL, /* &cmu_us_awb_spamf0_accent_cart */
    NULL, /* &cmu_us_awb_spamf0_phrase_cart */
    cmu_us_awb_num_channels,
    cmu_us_awb_num_frames,
    cmu_us_awb_model_vectors,
    cmu_us_awb_spamf0_accent_num_channels,
    cmu_us_awb_spamf0_accent_num_frames,
    cmu_us_awb_spamf0_accent_vectors,
    cmu_us_awb_model_min,
    cmu_us_awb_model_range,
    NULL, /* no qtable */
    CST_CG_MODEL_SHAPE_BASE_MINRANGE,
    0.005000, /* frame_advance */
    cmu_us_awb_num_dur_models,
    cmu_us_awb_dur_stats_table,
    cmu_us_awb_dur_cart_table,
    cmu_us_awb_phone_states,
    1, /* 1 if mlpg required */
    cmu_us_awb_dynwin,
    cmu_us_awb_dynwinsize,
    0.420000, /* mlsa_alpha */
    0.400000, /* mlsa_beta */
    0,        /* cg:multimodel */
    1,        /* cg:mixed_excitation */
    5,
    48, /* filter sizes */
    cmu_us_awb_me_h,
    0,
    /* 1, */ /* cg:spamf0 */
    1.5      /* gain */
};
