在调用scipy.signal.spectrogram之后,是否可以确定给定分段的不同频率的强度?
即在执行以下命令后:
fs, data = wavfile.read(waveFile)
sampleFreqs, segmentTimes, sxx= signal.spectrogram(data, fs, nperseg=256, noverlap=128, nfft=512, window=('hamming'))
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12,4))
ax1.pcolormesh((len(segmentTimes)*segmentTimes/segmentTimes[-1]), sampleFreqs, 10*np.log10(sxx))
ax1.set_title('Spectrogram');
ax1.set_xlabel('Segment')
ax1.set_ylabel('Frequency')它产生诸如this的语谱图。
例如,我可以从sxx中找出第10段的最强频率是多少吗?
干杯,大卫
发布于 2017-01-22 07:36:39
看看numpy.argmax吧。您的数据看起来足够干净,因此应该可以工作,不需要过滤。
https://stackoverflow.com/questions/41780164
复制相似问题