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


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


这是stft功能的结果:

python - 如何通过pywt从wav文件中获取类似stft的2D小波?-LMLPHP

最佳答案

您可以按以下方式使用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')

关于python - 如何通过pywt从wav文件中获取类似stft的2D小波?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54179171/

10-12 18:09