gpt4 book ai didi

flash - 如何使用 AS3 SoundMixer.computeSpectrum 找出歌曲的模式(节奏)?

转载 作者:行者123 更新时间:2023-12-04 21:22:39 27 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




现在,我正在努力找出歌曲的模式(节奏)以直观地表示它们。因此,例如,歌曲(鼓)的主要节拍将是红色方块,次要节拍(低音)蓝色圆圈等。因此,每次它们各自的节拍响起时,它们都会出现。

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

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

A figure that explains it better.

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

  • 家庭(整个 int/freq 规范每个 1/10):然而,让一个家庭在一首歌中重复出现真的很少见。几乎永远不会发生。
  • 家庭成员(个人 int/freq id) : 家里人经常重复,但是一个人,没用。
  • 家庭成员孪生兄弟(总是听起来在一起的家庭成员):这是有效的,但我得到了很多双胞胎兄弟组,因此很难分析它们并找出哪些是主要节拍。

  • 你知道是否有更好的方法来使用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相关的代码可能值得一读:http://www.hypeframework.org/02_examples/soundanalyzer/content/01_soundanalyzer/

    关于flash - 如何使用 AS3 SoundMixer.computeSpectrum 找出歌曲的模式(节奏)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451225/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com