flash – 如何使用AS3 SoundMixer.computeSpectrum找出歌曲的模
现在,我正在努力想出一个歌曲的模式(节奏)来直观地表现它们.因此,例如,歌曲(鼓)的主要节拍将是红色正方形,次要节拍(低音)蓝色圆圈等等.因此,每次它们各自的节拍声音都会出现.
我知道一首歌可能有很多模式(节拍),这就是我遇到问题的原因.现在我正试图只获得主要节拍.我试图用这种方式解决它: 我正在使用SoundMixer.computeSpectrum来获得由强度/频率规格组成的ByteArray.这个ByteArray每1/10秒进给一次.我试图在词典中对类似的强度/频率数据进行分组以找出歌曲的模式. 我通过以下方式获得模式: >家庭(每个1/10的整个int / freq规范):然而,让一个家庭重复一首歌是非常罕见的.实际上从未发生过. 你知道是否有更好的方法来使用AS3 SoundMixer.computeSpectrum或任何其他对象/框架/ api来计算歌曲的模式(节奏)? PD:我没有音乐理论高级致谢. 解决方法
Julapy发布了一个演示和代码,可以检测到一些明显的节拍. Julapy聚集来自computeSpectrum的能量. Julapy聚集在一个宽频带上,而不是共同出现的窄带(家庭成员):
http://www.julapy.com/blog/2007/12/30/beat-detection-in-flash/
老实说,我从未对下面的算法进行编码,但文章“节拍检测算法”的第2页建议通过估计相同频段的周期来估算每分钟的节拍.听起来你可以增加Julapy的方法:http://archive.gamedev.net/archive/reference/programming/features/beatdetection/page2.html 顺便说一下,HYPE框架中的声音分析器演示和代码也以新颖的方式可视化computeSpectrum.虽然没有解决相同的问题,但与computeSpectrum相关的代码可能值得阅读:http://www.hypeframework.org/02_examples/soundanalyzer/content/01_soundanalyzer/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |