The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Сэмплированный источник

Сэмплированный источник

Предыдущая  Содержание  Следующая  V*D*V

Ниже приведены данные из программы синтезатора  Клатта, содержащие информацию о сэмплированном голосовом импульсе, а так же код, производящий интерполяцию данных для любого значения частоты дискретизации.

Код

 //сэмплированная производная объемной скорости

 private static final double SAMPLE_FACTOR = 0.01;

 private static final int natural_samples[] =

 {

         -310, -400, 530, 356, 224, 89, 23, -10, -58, -16,

         461, 599, 536, 701, 770, 605, 497, 461, 560, 404,

         110, 224, 131, 104, -97, 155, 278, -154, -1165, -598,

         737, 125, -592, 41, 11, -247, -10, 65, 92, 80,

         -304, 71, 167, -1, 122, 233, 161, -43, 278, 479,

         485, 407, 266, 650, 134, 80, 236, 68, 260, 269,

         179, 53, 140, 275, 293, 296, 104, 257, 152, 311,

         182, 263, 245, 125, 314, 140, 44, 203, 230, -235,

         -286, 23, 107, 92, -91, 38, 464, 443, 176, 98,

         -784, -2449, -1891, -1045, -1600, -1462, -1384, -1261, -949, -730

 };

 /**

  * возвращает значение сэмплированной производной объемной скорости

  * @param period - период тона

  * @param phase - фаза

  * @return производная объемной скорости, -24.49...+7.70

  */

 public static double getSampledPulse(int period, int phase)

 {

         long id = ((phase * (natural_samples.length-1)) << 15) / period;

         int i = (int)(id >> 15);

         int p = natural_samples[i];

         int n = natural_samples[i + 1];

         int res = p + (n - p) * (int)(id&0x7fff) / 32768;

         return res * SAMPLE_FACTOR;

 }

Предыдущая  Содержание  Следующая