【发布时间】:2015-12-16 22:18:12
【问题描述】:
我正在寻找如何将 WAV 文件中的数据分成其组成注释的方法。 我加载 WAV 文件:
import scipy.io.wavfile as wavfile
rate, data = wavfile.read('scale.wav')
time = np.arange(len(data[:,0]))*1.0/rate
和绘图
plt.plot(time, data[:,0])
plt.show()
这给了我this picture,这是一个有八个音符的钢琴音阶。我想要一种方法来隔离每个音符,这样我就可以找到它的频率并找出正在播放的音符。隔离笔记后,我就可以处理其余的事情了。
我已经尝试找到最大值,但是需要多次迭代才能将其降至我想要的最大值,这是一种不可靠的方法,因为进行太多迭代会消除一些较低幅度的峰值.及时获得笔记的长度也很好。
编辑:所以这很复杂,就像各位先生所说的那样。我现在想我只想找到“极端”峰值,然后找到这些峰值之后的极端最小值,并将其用作我的笔记,因为我们不需要太大的数据片段来计算是频率。我遇到的问题是,有很多峰,很难只找到我想要的峰。有什么想法吗?
【问题讨论】: