如何从wav文件中通过pywt像stft获取2D小波?

时间:2019-01-14 09:58:18

标签: python wavelet pywt

我正在尝试从声音文件(.wav)中获取功能;

  1. 我尝试用stft来获取2D特征(x是时间,y是频率)
  2. 我尝试了pywt,但是得到了一维数组。如果我输入一维(1000,)wav数组,则会得到(500,)的数组
  3. 如何使用pywt获得2D功能,例如stft got?

这是stft功能的结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以按以下方式使用PyWavelet来获取音频wav文件的连续小波变换。但是,操作有点慢。

  import pywt
  import scipy.io.wavfile

  wavefile = 'path to the wavefile'
  # read the wavefile
  sampling_frequency, signal = scipy.io.wavfile.read(wavefile)
  #
  scales = (1, len(signal))
  coefficient, frequency = pywt.cwt(signal, scales, 'wavelet_type')