4

我正在尝试提取 wav 文件的一些功能,我有这个:

https://s3-us-west-2.amazonaws.com/music-emotions/ambient/13+Clock+in+the+Morning+-+Waiters+the+Free+Music+Archive+(No+Copyright+Music) .wav

我正在使用 pyAudioAnalysis 库的特征提取工具:

https://github.com/tyiannak/pyAudioAnalysis/wiki/3.-Feature-Extraction

问题是我收到了reshape()numpy 函数的错误。我正在遵循如何在 wiki 中使用特征提取器的指南,如下所示:

[Fs, x] = audioBasicIO.readAudioFile('13 Clock in the Morning - Waiters the  Free Music Archive (No Copyright Music).wav')
F = audioFeatureExtraction.stFeatureExtraction(x, Fs, 0.050 * Fs, 0.025 * Fs)

这是我得到的错误:

      1 [Fs, x] = audioBasicIO.readAudioFile("song-wavs/"+song.name)
----> 2 F = audioFeatureExtraction.stFeatureExtraction(x, Fs, 0.050 * Fs, 0.025 * Fs)

pyAudioAnalysis/audioFeatureExtraction.pyc in stFeatureExtraction(signal, Fs, Win, Step)
    575         curFV[0] = stZCR(x)                              # zero crossing rate
    576         curFV[1] = stEnergy(x)                           # short-term energy
--> 577         curFV[2] = stEnergyEntropy(x)                    # short-term entropy of energy
    578         [curFV[3], curFV[4]] = stSpectralCentroidAndSpread(X, Fs)    # spectral centroid and spread
    579         curFV[5] = stSpectralEntropy(X)                  # spectral entropy

pyAudioAnalysis/audioFeatureExtraction.pyc in stEnergyEntropy(frame, numOfShortBlocks)
     49             frame = frame[0:subWinLength * numOfShortBlocks]
     50     # subWindows is of size [numOfShortBlocks x L]
---> 51     subWindows = frame.reshape(subWinLength, numOfShortBlocks, order='F').copy()
     52 
     53     # Compute normalized sub-frame energies:

ValueError: cannot reshape array of size 4400 into shape (220,10)

谁能告诉我如何解决重塑的问题以及我做错了什么?

4

1 回答 1

4

我有同样的错误,但根据https://github.com/tyiannak/pyAudioAnalysis/issues/72,我将立体声音乐转换为单声道,它为我解决了问题。

于 2017-10-05T08:21:00.320 回答