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()