bark                   package:emu                   R Documentation

_C_o_n_v_e_r_t _H_e_r_t_z _t_o _B_a_r_k _a_n_d _B_a_r_k _t_o _H_e_r_t_z

_D_e_s_c_r_i_p_t_i_o_n:

     The calculation is done using the formulae Traunmueller (1990)

_U_s_a_g_e:

      ## S3 method for class 'spectral':
      bark(f,...)
      ## Default S3 method:
      bark(f,inv=FALSE,...)

_A_r_g_u_m_e_n_t_s:

       f: A vector or matrix of data or a spectral object.

     inv: A single element logical vector. If F, data are converted
          from Hertz to Bark, if T, data are converted from Bark to
          Hertz. (Does not apply if 'data' is an oject of class
          'spectral'.

     ...: for generic only

_D_e_t_a_i_l_s:

     If 'data' is a spectral object, then 

     the frequencies are changed so that they are proportional

     to the Bark scale and such that the Bark intervals

     between frequencies are con     stant between the lowest

     and highest frequencies. More specifically, 

     suppose that a spectral object has frequencies

     at 0, 1000, 2000, 3000, 4000 Hz. Then the corresponding

     frequencies extend in Bark between 0 and 17.46329 Bark

     in four equal intervals, and linear interpolation

     is used with the 'approx' function to obtain

     the dB values at those frequencies. Negative frequencies

     which are obtained for values of about less than 40 Hz

     are removed in the case of spectral objects.

_V_a_l_u_e:

     A vector or matrix or spectral object  of the same length and
     dimensions as data.

_A_u_t_h_o_r(_s):

     Jonathan Harrington

_R_e_f_e_r_e_n_c_e_s:

     Traunmueller, H. (1990) "Analytical expressions for the tonotopic
     sensory scale" J. Acoust. Soc. Am. 88: 97-100.

_S_e_e _A_l_s_o:

     'mel',  

     'plot.spectral'

_E_x_a_m_p_l_e_s:

        # convert Hertz values to Bark

             vec <- c(500, 1500, 2500)

             vec

             bark(vec)


             

             # convert Hertz values to Bark and back to Hertz

             bark(bark(vec, inv=TRUE))

             


             # convert the \$data values in a trackdata object to Bark

             # create a new track data object

             t1 <- dip.fdat

             t1[1]

             


             # convert Hertz to Bark

             t1$data <- bark(t1$data)

             t1[1]


     # warp the frequency axis of a spectral object such

     # that it is proportional to the Bark scale.

     w = bark(e.dft)

     par(mfrow=c(1,2))

     plot(w, type="l")


     # The values of w are at equal Bark intervals. Compare

     # with

     plot(e.dft, freq=bark(trackfreq(e.dft)))

     # the latter has a greater concentration of values

     # in a higher frequency range.

