Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将scipy.signal.stft数据传递到librosa.feature.melspectrogram_Python_Scipy_Librosa - Fatal编程技术网

Python 将scipy.signal.stft数据传递到librosa.feature.melspectrogram

Python 将scipy.signal.stft数据传递到librosa.feature.melspectrogram,python,scipy,librosa,Python,Scipy,Librosa,我的源代码如下所示 它显示了类似于 librosa.util.exceptions.ParameterError: Audio data must be floating-point 我还不清楚如何设置librosa.feature.melspectrogram参数 我应该如何改变 sample_wave = './data/mywave.wav' wav=wave.open(sample_wave) data=wav.readframes(wav.getnframes()) data =

我的源代码如下所示

它显示了类似于

librosa.util.exceptions.ParameterError: Audio data must be floating-point
我还不清楚如何设置librosa.feature.melspectrogram参数

我应该如何改变

sample_wave = './data/mywave.wav'
wav=wave.open(sample_wave)

data=wav.readframes(wav.getnframes())
data = np.frombuffer(data,dtype=np.int16)
f,t,stft_data=sp.stft(data,fs=wav.getframerate(),window='hann',nperseg=256,noverlap=128)

S = librosa.feature.melspectrogram(y=stft_data, sr=44100, n_mels=128, hop_length=256, n_fft=128) # It shows the error

log_S = librosa.power_to_db(S, ref_power=np.max)
print(log_S.shape)
plt.figure(figsize=(12, 4))
librosa.display.specshow(data=log_S, sr=sr, hop_length=hop_length, x_axis='time', y_axis='mel')
plt.colorbar(format='%+2.0f dB')
plt.title('Mel spectrogram')
plt.tight_layout()