18e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/********************************************************************
28e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels *                                                                  *
38e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
48e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
58e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
68e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
78e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels *                                                                  *
88e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009             *
98e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * by the Xiph.Org Foundation http://www.xiph.org/                  *
108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels *                                                                  *
118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels ********************************************************************
128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels function: key psychoacoustic settings for 44.1/48kHz
148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels last mod: $Id: psych_44.h 16962 2010-03-11 07:30:34Z xiphmont $
158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels ********************************************************************/
178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* preecho trigger settings *****************************************/
208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const vorbis_info_psy_global _psy_global_44[5]={
228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {8,   /* lines per eighth octave */
248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {20.f,14.f,12.f,12.f,12.f,12.f,12.f},
258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {-60.f,-30.f,-40.f,-40.f,-40.f,-40.f,-40.f}, 2,-75.f,
268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   -6.f,
278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  },
298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {8,   /* lines per eighth octave */
308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {14.f,10.f,10.f,10.f,10.f,10.f,10.f},
318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {-40.f,-30.f,-25.f,-25.f,-25.f,-25.f,-25.f}, 2,-80.f,
328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   -6.f,
338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  },
358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {8,   /* lines per eighth octave */
368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {12.f,10.f,10.f,10.f,10.f,10.f,10.f},
378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {-20.f,-20.f,-15.f,-15.f,-15.f,-15.f,-15.f}, 0,-80.f,
388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   -6.f,
398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  },
418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {8,   /* lines per eighth octave */
428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {10.f,8.f,8.f,8.f,8.f,8.f,8.f},
438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {-20.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-80.f,
448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   -6.f,
458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  },
478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {8,   /* lines per eighth octave */
488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {10.f,6.f,6.f,6.f,6.f,6.f,6.f},
498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {-15.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-85.f,
508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   -6.f,
518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  },
538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* noise compander lookups * low, mid, high quality ****************/
568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const compandblock _psy_compand_44[6]={
578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* sub-mode Z short */
588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{
598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    0, 1, 2, 3, 4, 5, 6,  7,     /* 7dB */
608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    8, 9,10,11,12,13,14, 15,     /* 15dB */
618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    16,17,18,19,20,21,22, 23,     /* 23dB */
628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    24,25,26,27,28,29,30, 31,     /* 31dB */
638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    32,33,34,35,36,37,38, 39,     /* 39dB */
648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  }},
658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* mode_Z nominal short */
668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{
678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels     0, 1, 2, 3, 4, 5, 6,  6,     /* 7dB */
688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels     7, 7, 7, 7, 6, 6, 6,  7,     /* 15dB */
698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels     7, 8, 9,10,11,12,13, 14,     /* 23dB */
708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    15,16,17,17,17,18,18, 19,     /* 31dB */
718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    19,19,20,21,22,23,24, 25,     /* 39dB */
728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  }},
738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* mode A short */
748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{
758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    0, 1, 2, 3, 4, 5, 5,  5,     /* 7dB */
768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    6, 6, 6, 5, 4, 4, 4,  4,     /* 15dB */
778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    4, 4, 5, 5, 5, 6, 6,  6,     /* 23dB */
788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    7, 7, 7, 8, 8, 8, 9, 10,     /* 31dB */
798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    11,12,13,14,15,16,17, 18,     /* 39dB */
808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  }},
818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* sub-mode Z long */
828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{
838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels     0, 1, 2, 3, 4, 5, 6,  7,     /* 7dB */
848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels     8, 9,10,11,12,13,14, 15,     /* 15dB */
858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    16,17,18,19,20,21,22, 23,     /* 23dB */
868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    24,25,26,27,28,29,30, 31,     /* 31dB */
878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    32,33,34,35,36,37,38, 39,     /* 39dB */
888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  }},
898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* mode_Z nominal long */
908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{
918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    0, 1, 2, 3, 4, 5, 6,  7,     /* 7dB */
928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    8, 9,10,11,12,12,13, 13,     /* 15dB */
938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    13,14,14,14,15,15,15, 15,     /* 23dB */
948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    16,16,17,17,17,18,18, 19,     /* 31dB */
958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    19,19,20,21,22,23,24, 25,     /* 39dB */
968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  }},
978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* mode A long */
988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{
998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    0, 1, 2, 3, 4, 5, 6,  7,     /* 7dB */
1008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    8, 8, 7, 6, 5, 4, 4,  4,     /* 15dB */
1018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    4, 4, 5, 5, 5, 6, 6,  6,     /* 23dB */
1028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    7, 7, 7, 8, 8, 8, 9, 10,     /* 31dB */
1038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    11,12,13,14,15,16,17, 18,     /* 39dB */
1048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  }}
1058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
1068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* tonal masking curve level adjustments *************************/
1088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const vp_adjblock _vp_tonemask_adj_longblock[12]={
1108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   /* 63     125     250     500       1       2       4       8      16 */
1128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{ -3, -8,-13,-15,-10,-10,-10,-10,-10,-10,-10,  0,  0,  0,  0,  0,  0}}, /* -1 */
1148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-10, -8, -4, -2,  0,  0,  0, 10,  0,  0,  0,  0,  0}},    0 */
1168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{ -4,-10,-14,-16,-15,-14,-13,-12,-12,-12,-11, -1, -1, -1, -1, -1,  0}}, /* 0 */
1178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  5,  0,  0,  0,  0,  0}},    1 */
1198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{ -6,-12,-14,-16,-15,-15,-14,-13,-13,-12,-12, -2, -2, -1, -1, -1,  0}}, /* 1 */
1208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    2 */
1228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-12,-13,-14,-16,-16,-16,-15,-14,-13,-12,-12, -6, -3, -1, -1, -1,  0}}, /* 2 */
1238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    3 */
1258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-15,-15,-15,-16,-16,-16,-16,-14,-13,-13,-13,-10, -4, -2, -1, -1,  0}}, /* 3 */
1268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}}, *//* 4 */
1288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7  -3, -1, -1 , 0}}, /* 4 */
1298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    5 */
1318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7  -3, -1, -1 , 0}}, /* 5 */
1328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    6 */
1348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -8, -4, -2, -2,  0}}, /* 6 */
1358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    7 */
1378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 7 */
1388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    8 */
1408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 8 */
1418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    9 */
1438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 9 */
1448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-15,-15,-15,-15,-15,-12,-10, -8,  0,  0,  0,  0,  0,  0,  0,  0,  0}},    10 */
1468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 10 */
1478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
1488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const vp_adjblock _vp_tonemask_adj_otherblock[12]={
1508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   /* 63     125     250     500       1       2       4       8      16 */
1518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{ -3, -8,-13,-15,-10,-10, -9, -9, -9, -9, -9,  1,  1,  1,  1,  1,  1}}, /* -1 */
1538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-14,-12,-10, -8, -4,  0,  0, 10,  0,  0,  0,  0,  0}},    0 */
1558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{ -4,-10,-14,-16,-14,-13,-12,-12,-11,-11,-10,  0,  0,  0,  0,  0,  0}}, /* 0 */
1568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  5,  0,  0,  0,  0,  0}},    1 */
1588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{ -6,-12,-14,-16,-15,-15,-14,-13,-13,-12,-12, -2, -2, -1,  0,  0,  0}}, /* 1 */
1598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    2 */
1618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-12,-13,-14,-16,-16,-16,-15,-14,-13,-12,-12, -5, -2, -1,  0,  0,  0}}, /* 2 */
1628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    3 */
1648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-15,-15,-15,-16,-16,-16,-16,-14,-13,-13,-13,-10, -4, -2,  0,  0,  0}}, /* 3 */
1658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    4 */
1678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7  -3, -1, -1 , 0}}, /* 4 */
1688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    5 */
1708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7  -3, -1, -1 , 0}}, /* 5 */
1718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    6 */
1738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -8, -4, -2, -2,  0}}, /* 6 */
1748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    7 */
1768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 7 */
1778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    8 */
1798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 8 */
1808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    9 */
1828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 9 */
1838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* {{-20,-20,-20,-20,-20,-18,-16,-14,-10,  0,  0,  0,  0,  0,  0,  0,  0}},    10 */
1858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2,  0}}, /* 10 */
1868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
1878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* noise bias (transition block) */
1898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const noise3 _psy_noisebias_trans[12]={
1908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  63     125     250     500      1k       2k      4k      8k     16k*/
1918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* -1 */
1928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  8,  8,  8,  8, 10, 12, 14, 20},
1938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2,  2,  2,  3,  6,  6, 15},
1948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
1958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 0
1968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
1978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4,  0,  0,  0,  0,  2,  4,  10},
1988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4,  -2}}},*/
1998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12, -6, -4,  0,  2,  4,  4,  5,  5,  5,  8,  10},
2008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4,  0,  0,  0,  0,  2,  3,   6},
2018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4,  -2}}},
2028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 1
2038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
2048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2,  0,  2,  8},
2058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},*/
2068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  4,  4,  5,  5,  5,  8,  10},
2078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2,  0,  1,   4},
2088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6,  -4}}},
2098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 2
2108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  2,  2,  4,  4,  5,  6,  10},
2118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2,  0,  2,  6},
2128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}}, */
2138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  2,  2,  4,  4,  5,  6,  10},
2148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -2, -1,  0,  3},
2158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -7, -4}}},
2168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 3
2178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  2,  2,  4,  4,  4,  5,  8},
2188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1,  1,  6},
2198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
2208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-12,-10, -8,  0,  2,  2,  2,  4,  4,  4,  5,  8},
2218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -2,  0,  2},
2228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
2238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 4
2248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1,  1,  5},
2268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
2278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -2, -1,  1},
2298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
2308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 5
2318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1,  2},
2338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}}, */
2348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -3, -1,  0},
2368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},
2378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 6
2388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2,  1},
2408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-26,-24,-18,-17,-15,-15,-15,-15,-13,-13,-12, -8}}},*/
2418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -5, -2,  0},
2438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}},
2448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 7
2458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-24,-18,-14,-12,-10, -8, -8, -8, -6, -4,  0},
2478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}},*/
2488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-20,-18,-14, -8, -1,  1,  1,  1,  2,  3,  3,  4,  7},
2498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-24,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2},
2508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-26,-26,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
2518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 8
2528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2,  0,  0,  0,  1,  2,  3,  7},
2538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-30,-30,-30,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2},
2548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-34,-30,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},*/
2558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2,  0,  0,  0,  1,  2,  3,  7},
2568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-30,-30,-30,-24,-20,-16,-16,-16,-16,-14,-12,-10, -7},
2578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-34,-30,-28,-26,-24,-30,-30,-30,-30,-30,-30,-24,-20}}},
2588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 9
2598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2,  2},
2608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-34,-32,-32,-28,-20,-16,-16,-16,-16,-14,-12,-10, -7},
2618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},*/
2628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2,  2},
2638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-38,-38,-38,-38,-36,-34,-34,-30,-24,-20,-20,-20,-20,-18,-16,-12,-10},
2648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-38,-35,-35,-35,-35,-35,-35,-35,-35,-30}}},
2658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 10 */
2668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-30,-30,-30,-30,-30,-30,-30,-28,-20,-14,-14,-14,-14,-14,-14,-12,-10},
2678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-20},
2688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
2698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
2708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
2718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/*  noise bias (long block) */
2728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const noise3 _psy_noisebias_long[12]={
2738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*63     125     250     500      1k       2k      4k      8k     16k*/
2748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* -1 */
2758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10, -4,  0,  0,  0,  6,  6,  6,  6, 10, 10, 12,  20},
2768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-10, -2,  0,  0,  0,  0,  0,  2,  4,  6,  15},
2778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-10, -6, -6, -6, -6, -6, -4, -4, -4, -2}}},
2788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
2798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 0 */
2808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-10,-10,-10,-10,-10,-10, -8,  2,  2,  2,  4,  4,  5,  5,  5,  8,  10},
2818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14, -6,  0,  0,  0,  0,  0,  2,  4,  10},
2828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}},*/
2838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10,-10, -8,  2,  2,  2,  4,  4,  5,  5,  5,  8,  10},
2848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14, -6,  0,  0,  0,  0,  0,  2,  3,  6},
2858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}},
2868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 1 */
2878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-10,-10,-10,-10,-10,-10, -8, -4,  0,  2,  4,  4,  5,  5,  5,  8,  10},
2888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2,  0,  2,  8},
2898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},*/
2908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10,-10, -8, -4,  0,  2,  4,  4,  5,  5,  5,  8,  10},
2918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2,  0,  1,  4},
2928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},
2938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 2 */
2948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-10,-10,-10,-10,-10,-10,-10, -8,  0,  2,  2,  2,  4,  4,  5,  6,  10},
2958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2,  0,  2,  6},
2968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
2978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10,-10,-10, -8,  0,  2,  2,  2,  4,  4,  5,  6,  10},
2988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -2, -1,  0,  3},
2998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
3008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 3 */
3018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-10,-10,-10,-10,-10,-10,-10, -8,  0,  2,  2,  2,  4,  4,  4,  5,  8},
3028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1,  1,  6},
3038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
3048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10,-10,-10, -8,  0,  2,  2,  2,  4,  4,  4,  5,  8},
3058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -2,  0,  2},
3068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -5}}},
3078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 4 */
3088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1,  1,  5},
3108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
3118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -2, -1,  1},
3138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -7}}},
3148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 5 */
3158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1,  2},
3178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},*/
3188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -3, -1,  0},
3208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -8}}},
3218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 6 */
3228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2,  1},
3248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12, -8}}},*/
3258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -5, -2,  0},
3278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12,-10}}},
3288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 7 */
3298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  1,  1,  1,  2,  3,  3,  4,  7},
3308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-24,-24,-24,-24,-24,-24,-24,-18,-14,-10, -8, -8, -8, -8, -6, -4,  0},
3318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-26,-26,-26,-26,-26,-26,-26,-22,-20,-19,-19,-19,-19,-18,-17,-16,-12}}},
3328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 8 */
3338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-15,-15,-15,-15,-15,-15,-15,-10, -4,  0,  0,  0,  0,  1,  2,  3,  7},
3348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-26,-26,-26,-26,-26,-26,-26,-20,-16,-12,-10,-10,-10,-10, -8, -6, -2},
3358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-28,-28,-28,-28,-28,-28,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
3368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 9 */
3378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-22,-22,-22,-22,-22,-22,-22,-18,-14, -8, -4, -4, -4, -4, -4, -2,  2},
3388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-26,-26,-26,-26,-26,-26,-26,-22,-18,-16,-16,-16,-16,-14,-12,-10, -7},
3398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
3408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 10 */
3418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-24,-24,-24,-24,-24,-18,-14,-14,-14,-14,-14,-12,-10},
3428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-20},
3438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
3448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
3458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
3468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* noise bias (impulse block) */
3478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const noise3 _psy_noisebias_impulse[12]={
3488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  63     125     250     500      1k      2k      4k      8k     16k*/
3498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* -1 */
3508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  8,  8,  8,  8, 10, 12, 14, 20},
3518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2,  2,  2,  3,  6,  6, 15},
3528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
3538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
3548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 0 */
3558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  4,  8,  8,  8, 10, 12, 14, 20},
3568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2,  0,  0,  0,  0,  2,  4,  10},
3578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},*/
3588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  4,  8,  8,  8, 10, 12, 14, 20},
3598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2,  0,  0,  0,  0,  2,  3,  6},
3608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
3618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 1 */
3628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-12,-12,-12,-12,-12, -8, -6, -4,  0,  4,  4,  4,  4, 10, 12, 14, 20},
3638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -4, -4, -2, -2, -2, -2,  2},
3648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8,-10,-10, -8, -8, -8, -6, -4}}},
3658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 2 */
3668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-14,-14,-14,-14,-14,-10, -8, -6, -2,  2,  2,  2,  2,  8, 10, 10, 16},
3678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2,  0},
3688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
3698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 3 */
3708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-14,-14,-14,-14,-14,-10, -8, -6, -2,  2,  2,  2,  2,  6,  8,  8, 14},
3718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2,  0},
3728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
3738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 4 */
3748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-16,-16,-16,-16,-16,-12,-10, -6, -2,  0,  0,  0,  0,  4,  6,  6, 12},
3758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2,  0},
3768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
3778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 5 */
3788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14,-10, -4,  0,  0,  0,  0,  4,  4,  6, 11},
3798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-22,-16,-10, -6, -8, -8, -6, -6, -6, -4, -2},
3808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-26,-24,-18,-14,-12,-12,-12,-12,-12,-10, -9, -5}}},
3818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 6
3828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14,-10, -4,  0,  0,  0,  0,  4,  4,  6, 11},
3838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-34,-34,-34,-34,-30,-30,-24,-20,-12,-12,-14,-14,-10, -9, -8, -6, -4},
3848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-34,-34,-34,-34,-34,-30,-26,-20,-16,-15,-15,-15,-15,-15,-13,-12, -8}}},*/
3858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14,-10, -4,  0,  0,  0,  0,  4,  4,  6, 11},
3868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-30,-30,-24,-16,-16,-16,-16,-16,-16,-14,-14,-12},
3878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-36,-34,-28,-24,-20,-20,-20,-20,-20,-20,-20,-18,-16}}},
3888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 7 */
3898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-22,-22,-22,-22,-22,-20,-14,-10, -6,  0,  0,  0,  0,  4,  4,  6, 11},
3908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-34,-34,-34,-34,-30,-30,-24,-20,-14,-14,-16,-16,-14,-12,-10,-10,-10},
3918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-34,-34,-34,-34,-32,-32,-30,-24,-20,-19,-19,-19,-19,-19,-17,-16,-12}}},*/
3928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-22,-22,-22,-22,-22,-20,-14,-10, -6,  0,  0,  0,  0,  4,  4,  6, 11},
3938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-24,-22},
3948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-30,-24}}},
3958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 8 */
3968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1,  3,  3,  5, 10},
3978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-34,-34,-34,-34,-30,-30,-30,-24,-20,-20,-20,-20,-20,-18,-16,-16,-14},
3988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-36,-36,-36,-36,-36,-34,-28,-24,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},*/
3998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1,  3,  3,  5, 10},
4008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-34,-32,-32,-30,-26,-26,-26,-26,-26,-26,-26,-26,-24},
4018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-30,-24}}},
4028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 9 */
4038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2,  2},
4048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-22,-20,-20,-18},
4058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},*/
4068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2,  2},
4078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26},
4088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
4098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 10 */
4108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-16,-16,-16,-16,-16,-14,-12},
4118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-26},
4128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
4138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
4148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* noise bias (padding block) */
4168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const noise3 _psy_noisebias_padding[12]={
4178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  63     125     250     500      1k       2k      4k      8k     16k*/
4188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* -1 */
4208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  8,  8,  8,  8, 10, 12, 14, 20},
4218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2,  2,  2,  3,  6,  6, 15},
4228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
4238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 0 */
4258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-10,-10,-10,-10,-10, -4,  0,  0,  4,  8,  8,  8,  8, 10, 12, 14, 20},
4268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2,  2,  3,  6,  6,  8, 10},
4278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -4, -4, -2,  0,  2}}},
4288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 1 */
4298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-12,-12,-12,-12,-12, -8, -6, -4,  0,  4,  4,  4,  4, 10, 12, 14, 20},
4308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4,  0,  0,  0,  2,  2,  4,  8},
4318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -6, -4, -2,  0}}},
4328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 2 */
4338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{{-14,-14,-14,-14,-14,-10, -8, -6, -2,  2,  2,  2,  2,  8, 10, 10, 16},
4348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4,  0,  0,  0,  2,  2,  4,  8},
4358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels      {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},*/
4368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-14,-14,-14,-14,-14,-10, -8, -6, -2,  2,  2,  2,  2,  8, 10, 10, 16},
4378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1,  0,  0,  2,  6},
4388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
4398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 3 */
4408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-14,-14,-14,-14,-14,-10, -8, -6, -2,  2,  2,  2,  2,  6,  8,  8, 14},
4418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1,  0,  0,  2,  6},
4428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
4438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 4 */
4448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-16,-16,-16,-16,-16,-12,-10, -6, -2,  0,  0,  0,  0,  4,  6,  6, 12},
4458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, -1,  0,  2,  6},
4468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
4478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 5 */
4488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14,-10, -4,  0,  0,  0,  0,  4,  6,  6, 12},
4498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -3, -3, -3, -3, -2,  0,  4},
4508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-26,-24,-18,-14,-10,-10,-10,-10,-10, -8, -5, -3}}},
4518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 6 */
4528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14,-10, -4,  0,  0,  0,  0,  4,  6,  6, 12},
4538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-30,-24,-20,-14, -8, -4, -4, -4, -4, -3, -1,  4},
4548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-34,-30,-26,-20,-16,-13,-13,-13,-13,-13,-11, -8, -6}}},
4558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 7 */
4568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-20,-20,-20,-20,-20,-18,-14,-10, -4,  0,  0,  0,  0,  4,  6,  6, 12},
4578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-30,-30,-24,-16,-10, -8, -6, -6, -6, -5, -3,  1},
4588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-32,-32,-28,-22,-18,-16,-16,-16,-16,-16,-14,-12,-10}}},
4598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 8 */
4608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-22,-22,-22,-22,-22,-20,-14,-10, -4,  0,  0,  0,  0,  3,  5,  5, 11},
4618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-34,-34,-34,-34,-30,-30,-30,-24,-16,-12,-10, -8, -8, -8, -7, -5, -2},
4628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-36,-34,-28,-22,-20,-20,-20,-20,-20,-20,-20,-16,-14}}},
4638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 9 */
4648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -2, -2, -2, -2,  0,  2,  6},
4658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-36,-36,-36,-36,-34,-32,-32,-24,-16,-12,-12,-12,-12,-12,-10, -8, -5},
4668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-32,-26,-24,-24,-24,-24,-24,-24,-20,-18}}},
4678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* 10 */
4688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-12,-12,-12,-12,-12,-10, -8},
4698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-25,-25,-25,-25,-25,-25,-15},
4708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
4718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
4728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const noiseguard _psy_noiseguards_44[4]={
4758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {3,3,15},
4768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {3,3,15},
4778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {10,10,100},
4788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {10,10,100},
4798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
4808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _psy_tone_suppress[12]={
4828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  -20,-20,-20,-20,-20,-24,-30,-40,-40,-45,-45,-45,
4838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
4848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _psy_tone_0dB[12]={
4858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  90,90,95,95,95,95,105,105,105,105,105,105,
4868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
4878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _psy_noise_suppress[12]={
4888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  -20,-20,-24,-24,-24,-24,-30,-40,-40,-45,-45,-45,
4898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
4908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const vorbis_info_psy _psy_info_template={
4928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* blockflag */
4938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  -1,
4948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* ath_adjatt, ath_maxatt */
4958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  -140.,-140.,
4968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* tonemask att boost/decay,suppr,curves */
4978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {0.f,0.f,0.f},     0.,0.,    -40.f, {0.},
4988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
4998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*noisemaskp,supp, low/high window, low/hi guard, minimum */
5008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  1,          -0.f,           .5f, .5f,         0,0,0,
5018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* noiseoffset*3, noisecompand, max_curve_dB */
5028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{-1},{-1},{-1}},{-1},105.f,
5038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /* noise normalization - noise_p, start, partition, thresh. */
5048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  0,-1,-1,0.,
5058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
5068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* ath ****************/
5088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _psy_ath_floater[12]={
5108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  -100,-100,-100,-100,-100,-100,-105,-105,-105,-105,-110,-120,
5118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
5128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _psy_ath_abs[12]={
5138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  -130,-130,-130,-130,-140,-140,-140,-140,-140,-140,-140,-150,
5148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
5158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* stereo setup.  These don't map directly to quality level, there's
5178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   an additional indirection as several of the below may be used in a
5188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   single bitmanaged stream
5198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels****************/
5218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* various stereo possibilities */
5238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* stereo mode by base quality level */
5258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const adj_stereo _psy_stereo_modes_44[12]={
5268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         -1  */
5278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  4,  4,  4,  4,  4,  4,  4,  3,  2,  2,  1,  0,  0,  0,  0},
5288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  5,  4,  3},
5298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  1,  2,  3,  4,  4,  4,  4,  4,  4,  5,  6,  7,  8,  8,  8},
5308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
5318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/*    0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         0  */
5338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  4,  4,  4,  4,  4,  4,  4,  3,  2,  1,  0,  0,  0,  0,  0},
5348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8,  8,  8,  8,  6,  6,  5,  5,  5,  5,  5,  5,  5,  4,  3},
5358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  1,  2,  3,  4,  4,  5,  6,  6,  6,  6,  6,  8,  8,  8,  8},
5368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
5378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         1  */
5408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  3,  3,  3,  3,  3,  3,  3,  3,  2,  1,  0,  0,  0,  0,  0},
5418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8,  8,  8,  8,  6,  6,  5,  5,  5,  5,  5,  5,  5,  4,  3},
5428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  1,  2,  3,  4,  4,  5,  6,  6,  6,  6,  6,  8,  8,  8,  8},
5438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         2  */
5478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  3,  3,  3,  3,  3,  3,  3,  2,  1,  1,  0,  0,  0,  0,  0},
5488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8,  8,  6,  6,  5,  5,  4,  4,  4,  4,  4,  4,  3,  2,  1},
5498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  3,  4,  4,  5,  5,  6,  6,  6,  6,  6,  6,  8,  8,  8,  8},
5508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         3  */
5528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  2,  2,  2,  2,  2,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0},
5538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  3,  2,  1},
5548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  4,  4,  5,  6,  6,  6,  6,  6,  8,  8, 10, 10, 10, 10, 10},
5558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         4  */
5578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  2,  2,  2,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  3,  3,  2,  1,  0},
5598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  6,  6,  6,  8,  8,  8,  8,  8,  8,  8, 10, 10, 10, 10, 10},
5608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         5  */
5628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  2,  2,  2,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  3,  3,  3,  3,  3,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0},
5648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  6,  7,  8,  8,  8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12},
5658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         6  */
5678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  3,  3,  3,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8,  8,  8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
5708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         7  */
5728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  3,  3,  3,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8,  8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
5758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         8  */
5778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
5808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14         9  */
5828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
5858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14        10  */
5878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
5898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   {  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4},
5908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
5918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
5928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
5938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* tone master attenuation by base quality mode and bitrate tweak */
5948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const att3 _psy_tone_masteratt_44[12]={
5958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 35,  21,   9},  0,    0}, /* -1 */
5968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 30,  20,   8}, -2, 1.25}, /* 0 */
5978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{ 25,  14,   4},  0,    0}, *//* 1 */
5988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 25,  12,   2},  0,    0}, /* 1 */
5998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  {{ 20,  10,  -2},  0,    0}, *//* 2 */
6008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 20,   9,  -3},  0,    0}, /* 2 */
6018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 20,   9,  -4},  0,    0}, /* 3 */
6028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 20,   9,  -4},  0,    0}, /* 4 */
6038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 20,   6,  -6},  0,    0}, /* 5 */
6048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 20,   3, -10},  0,    0}, /* 6 */
6058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 18,   1, -14},  0,    0}, /* 7 */
6068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 18,   0, -16},  0,    0}, /* 8 */
6078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 18,  -2, -16},  0,    0}, /* 9 */
6088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  {{ 12,  -2, -20},  0,    0}, /* 10 */
6098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
6118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* lowpass by mode **************/
6128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const double _psy_lowpass_44[12]={
6138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  15.1,15.8,16.5,17.9,20.5,48.,999.,999.,999.,999.,999. */
6148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  13.9,15.1,15.8,16.5,17.2,18.9,20.1,48.,999.,999.,999.,999.
6158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
6178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/* noise normalization **********/
6188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
6198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _noise_start_short_44[11]={
6208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  16,16,16,16,32,32,9999,9999,9999,9999 */
6218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  32,16,16,16,32,9999,9999,9999,9999,9999,9999
6228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _noise_start_long_44[11]={
6248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  128,128,128,256,512,512,9999,9999,9999,9999 */
6258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  256,128,128,256,512,9999,9999,9999,9999,9999,9999
6268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
6288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _noise_part_short_44[11]={
6298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    8,8,8,8,8,8,8,8,8,8,8
6308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const int _noise_part_long_44[11]={
6328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels    32,32,32,32,32,32,32,32,32,32,32
6338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
6358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const double _noise_thresh_44[11]={
6368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels  /*  .2,.2,.3,.4,.5,.5,9999.,9999.,9999.,9999., */
6378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels   .2,.2,.2,.4,.6,9999.,9999.,9999.,9999.,9999.,9999.,
6388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
6398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
6408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstatic const double _noise_thresh_5only[2]={
6418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels .5,.5,
6428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels};
643