Площадь щели

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

1-ая модель, зависимость от степени открытия

где:

Sopen - минимальная площадь щели, 0 ... 0,2 см2

Smax - максимальная площадь открытой щели, 0,2 ... 0,4 см2

 

2-ая модель, зависимость от скорости открытия и закрытия

 

где:

Smax - максимальная площадь открытой щели, 0,2 ... 0,4 см2

 

Вид в зависимости от параметров

Вид в зависимости от параметров

3-я модель, сочетает зависимость от степени открытия и скорости

где:

Sopen - минимальная площадь щели, 0 ... 0,2 см2

Smax - максимальная площадь открытой щели, 0,2 ... 0,4 см2

alpha - скорость открытия, 0,5 ... 2.0, рекомендуемое значение 2

beta - скорость закрытия, 1.0 ... 4.0, рекомендуемое значение 1

Временные параметры

Параметры T1 и T2 относительно периода тона, при alpha = 2, beta = 1

 

Тип голоса

T1

T2

нейтральный голос

0,41

0,58

фальцет

0,48

0,72

придыхательный голос

0,46

0,77

скрипучий голос

0,3

0,5

Код

 /**

  * расчет площади голосовой щели

  * зависимость от степени раскрытия

  * @param Smax - максимальная площадь, 0.2 см^2

  * @param Sopen - начальная площадь раскрытия голосовой щели

  * @param phase - номер отсчета в периоде

  * @return площадь щели, Sopen...Smax

  */

   public double calculateGlottalArea(double Smax, double Sopen, int phase)

   {

         m_S = Sopen;

         if( phase < m_Topen )

                 m_S += 0.5 * Smax * Math.pow((Sopen - 2.0 * Smax) / (2.0 * Smax), 2) * ( 1 - Math.cos(Math.PI * phase / m_Topen) );

         else if ( phase < m_Tclose )

                 m_S += Smax * Math.pow((Sopen - 2.0 * Smax) / (2.0 * Smax), 2) * Math.cos( Math.PI * (phase - m_Topen) / 2 / (m_Tclose - m_Topen) );

         return m_S;

   }

 

 /**

  * расчет площади голосовой щели

  * зависимость от скорости открытия и закрытия

  * @param Smax - максимальная площадь, 0.2 см^2

  * @param alpha - скорость открытия, 0.5...2.0 (2)

  * @param beta - скорость закрытия, 1.0...4.0 (1)

  * @param phase - номер отсчета в периоде

  * @return площадь щели, 0...Smax

  */

   public double calculateGlottalArea(double Smax, double alpha, double beta, int phase)

   {

         m_S = 0;//площадь щели от времени

         if( phase < m_Topen )

                 m_S = Smax * Math.pow(Math.sin( Math.PI * phase / ( 2 * m_Topen ) ), alpha);

         else if ( phase < m_Tclose )

                 m_S = Smax * Math.pow(Math.cos( Math.PI * (phase - m_Topen) / (2 * ( m_Tclose - m_Topen ) ) ), beta);

         return m_S;

   }

 

 /**

  * расчет площади голосовой щели, учитывающий все параметры

  * @param Smax - максимальная площадь, 0.2 см^2

  * @param Sopen - начальная площадь раскрытия голосовой щели

  * @param alpha - скорость открытия, 0.5...2.0 (2)

  * @param beta - скорость закрытия, 1.0...4.0 (1)

  * @param phase - номер отсчета в периоде

  * @return площадь щели, Sopen...Smax

  */

   public double calculateGlottalArea(double Smax, double Sopen, double alpha, double beta, int phase)

   {

         m_S = Sopen;

             if( phase < m_Topen )

                 m_S += Smax * Math.pow((Sopen - 2.0 * Smax) / (2.0 * Smax), 2) * Math.pow( 0.5 * ( 1 - Math.cos(Math.PI * phase / m_Topen) ), alpha );

                 //m_S += Smax * Math.pow((Sopen - 2.0 * Smax) / (2.0 * Smax), 2) * Math.pow(Math.sin( Math.PI * phase / ( 2 * m_Topen ) ), alpha);

         else if ( phase < m_Tclose )

                 m_S += Smax * Math.pow((Sopen - 2.0 * Smax) / (2.0 * Smax), 2) * Math.pow( Math.cos( Math.PI * (phase - m_Topen) / 2 / (m_Tclose - m_Topen) ), beta );

         return m_S;

   }

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