+ -
当前位置:首页 → 问答吧 → 频谱模式识别的问题

频谱模式识别的问题

时间:2011-08-25

来源:互联网

我想做一个从钢琴演奏中分辨出哪些声音在响的程序,然后就可以依此把谱弄出来,这样即使找不到谱,也可以练习一些曲子。

对于钢琴,按下一个键之后,将会发出音高对应频率的基音,以及基因频率整数倍的泛音。例如,如果我按下A4键,将会有基音频率为440Hz的最强峰,其余会有880Hz、1320Hz、1760Hz等等的泛音峰。

如果按下多个键,大致可以认为是哪些键各自的基音泛音的加和。看起来模式似乎挺简单的。

然后我就写了个神经网络,非常简单的2层后传网,输入为傅立叶变换产生的频谱(只使用强度信息,不使用相位信息),第二层只有1个节点,其输出表示某个音是不是在响,但效果不理想:能够训练成识别单个音的,但是如果给双音和声的输入,就识别不了;而如果训练的时候把和声的输入也塞进去,就训练不出来……

原先试过第二层88个节点,每个节点表示一个音,效果更加不理想,连单音识别都训练不出来。

大家有什么建议?比如换一种更简单的方法?

作者: jiandingzhe   发布时间: 2011-08-25

这个跟语音识别是不是类似啊。 人家说话那么多音都可以识别,你也可以考虑他们那种办法?

不是说现在的都是基于统计学的什么算法来作的?不了解阿

作者: lvyinghong   发布时间: 2011-08-25

引用 1 楼 lvyinghong 的回复:

这个跟语音识别是不是类似啊。 人家说话那么多音都可以识别,你也可以考虑他们那种办法?

不是说现在的都是基于统计学的什么算法来作的?不了解阿

我觉得肯定可以识别,而且这个的模式明显比语音简单好多,应当不难才对。
可我在训练BP网络时采用了各种策略,最好只做到了识别各个单个按键之间,一和声就挂了。

作者: jiandingzhe   发布时间: 2011-08-25