加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash – 如何使用AS3 SoundMixer.computeSpectrum找出歌曲的模

发布时间:2020-12-15 07:28:26 所属栏目:百科 来源:网络整理
导读:现在,我正在努力想出一个歌曲的模式(节奏)来直观地表现它们.因此,例如,歌曲(鼓)的主要节拍将是红色正方形,次要节拍(低音)蓝色圆圈等等.因此,每次它们各自的节拍声音都会出现. 我知道一首歌可能有很多模式(节拍),这就是我遇到问题的原因.现在我正试图只获得主
现在,我正在努力想出一个歌曲的模式(节奏)来直观地表现它们.因此,例如,歌曲(鼓)的主要节拍将是红色正方形,次要节拍(低音)蓝色圆圈等等.因此,每次它们各自的节拍声音都会出现.

我知道一首歌可能有很多模式(节拍),这就是我遇到问题的原因.现在我正试图只获得主要节拍.我试图用这种方式解决它:

我正在使用SoundMixer.computeSpectrum来获得由强度/频率规格组成的ByteArray.这个ByteArray每1/10秒进给一次.我试图在词典中对类似的强度/频率数据进行分组以找出歌曲的模式.

我通过以下方式获得模式:

>家庭(每个1/10的整个int / freq规范):然而,让一个家庭重复一首歌是非常罕见的.实际上从未发生过.
>家庭成员(个人int / freq ids):家庭成员通常是重复的,但是一个人,他们没用.
>家庭成员双胞胎兄弟(家庭成员总是在一起听起来):这是有效的,但我有很多孪生兄弟群体,因此很难分析它们并找出哪些是主要的节拍.

你知道是否有更好的方法来使用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/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读