问题标签 [beat-detection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
89771 浏览

algorithm - 如何在php中检测歌曲的BPM

如何以编程方式确定歌曲的速度/BPM?常用的算法有哪些,需要注意什么?

0 投票
1 回答
1612 浏览

android - 用于 Android 上 BPM 跟踪的 Aubio

我正在开发一个需要 BPM 跟踪的 android 音频项目。我决定自己写不是一个好主意,环顾四周后,我发现了一些进行 BPM 跟踪的库,例如 aubio、vamp、echonest 等。在很多情况下,aubio 似乎是一个不错的选择。问题是我找不到可以帮助理解如何使用该库的好的文档,例如兼容哪种输入音频格式(我应该在将音频传递给函数之前对其进行预处理)等。

您能否向我指出一些开源项目的一些文档或 aubio 实现(在 android 上将是一个奖励)。

如果您认为有一种更简单的方法(另一种算法/库)可以移植到 android(最好在 c 中),请告诉我。

谢谢。

0 投票
3 回答
9391 浏览

python - 以同步方式检测节拍和播放 (wav) 文件

我正在尝试使用这种节拍检测算法在 python 中进行音频处理。我已经实现了上述文章中的第一个(非优化版本)。虽然它会打印一些结果,但我无法检测它是否能以某种准确度工作,因为我不知道如何用它播放声音。

目前,我Popen在进入计算循环之前使用歌曲异步启动我的媒体播放器,但我不确定这种策略是否有效并给出同步结果。

为了以时间同步的方式获得音频输出和算法(控制台)输出,我可以对脚本进行哪些修改/添加?即当控制台输出特定帧的结果时,该帧必须在扬声器上播放。

0 投票
1 回答
763 浏览

javascript - 如何在 js 中生成和同步包含音频的每个节拍信息 (bpm) 的 xml/json 文件

我需要为类似游戏的“吉他英雄”生成与音乐 bpm 同步的 js 事件。

第一个问题:

如何从节拍检测中生成曲目文件(每个 bpm 都像乐谱一样存储)?该文件将在以前不需要即时生成。

第二个问题:

如何将它与 js 声音库同步?

任何的想法 ?提前致谢

0 投票
1 回答
1782 浏览

audio - 寻找用于编辑音频文件的音频库

所以我一直在谷歌搜索和浏览堆栈溢出,并且找不到任何符合我的音频编辑库规范的东西。我不需要处理实时流,只需处理预先存在的文件。我正在寻找的关键内容:

  • BPM 检测(这似乎是最罕见的一种)
  • 改变播放速度而不影响音高
  • 将两个文件相加并保存为 mp3
  • 改变音量

有人知道执行所有这些的库吗?我真的不在乎它使用什么语言,但 C/C++、C# 或 Java 可能是最好的。

提前致谢。

0 投票
1 回答
577 浏览

audio-streaming - 如何在 vvvv 中播放音乐和使用节拍检测器

有谁知道在节拍检测器与 vvvv 一起工作时如何收听歌曲的音频?现在我可以将文件流节点的输出引脚连接到节拍检测器节点并且它可以工作,我也可以将输出引脚连接到音频输出节点并听歌曲,但我不能同时做这两个.. 。 可能吗?

谢谢!

0 投票
1 回答
953 浏览

matlab - 如何使用 matlab 以高 BPM 准确输出我生成的心跳信号?

解决了!

当我在 matlab 中使用 Sound 播放信号并在外部心率监视器上测量它时,我在输出生成的心跳信号时遇到问题。我得到与模拟值不同的读数。但似乎只在 60 Bpm 到 100 Bpm 时才是正确的。需要包括高达 200 Bpm 的心率。换句话说,我在高 Bpm 时得到了很多不稳定的输出。

0 投票
2 回答
645 浏览

java - 延迟布尔值从切换回 false

所以,我正在开发一款需要节拍检测的游戏。在这一点上,我有工作节拍检测代码,但它在它自己的独立 Java 小程序中,而我正在努力解决问题,所以我不会在游戏代码中造成任何问题。我的问题是,当代码检测到节拍时,它会切换回不比用户点击屏幕快的节拍。

我创建了一个简单的布尔值,只要发生节拍,它就会将 isBeat 从 false 切换为 true,并且打印出单词“True”和“False”。当程序运行时,你几乎看不到“真”这个词,因为它只在屏幕上出现了几分之一秒。有什么办法可以延迟 isBeat 从 true 到 false 的切换?

基本上在这一点上,我希望单词“True”(意味着刚刚发生的节拍)在屏幕上保留 1 秒钟。1 秒后,它会切换到“False”并等待下一个节拍。1 秒有点长,但我现在可以通过这种方式更好地测试它。它不能简单地延迟更改屏幕上的绘图,但它需要延迟整个布尔值的切换,因为我将在最终游戏中使用 isBeat 布尔值。当节拍发生时,isBeat 将切换为 true,并在切换回 false 之前给玩家一小段时间来点击屏幕。屏幕上不会出现任何文字让他们知道像现在这样发生了节拍。

这是代码。这是使用 minim 库以及 eclipse 内部的处理。

}

我已经进行了一些谷歌搜索并尝试了一些类似 wait() 的方法,但要么我做错了,要么它也不打算按照我想要的方式工作。似乎是一个我无法弄清楚的简单问题......

0 投票
0 回答
117 浏览

android - 我怎么知道它是否是Android中当前mp3音乐的节拍

我正在尝试开发这样一个android应用程序:当它正在播放当前播放的音乐时,我可以做一些事情。所以我应该先分析当前的音乐,然后再判断它现在是否在跳动!我已经测试了Android Api Demo,使用MediaPlayer和Visualizer类我可以得到原始字节数据,但我怎么知道它现在是否在跳动?我是新来的......对不起,如果我没有清楚地描述并且任何答案都是感激的!这是我刷新android视图的部分代码:

0 投票
1 回答
522 浏览

javascript - Web Audio API 对进行比实时更快的音频分析有用吗?

我一直在尝试确定Web Audio API是否可用于ArrayBuffer比实时更快地分析音频数据。可能的应用程序将在浏览器中进行节拍检测、音高检测等,而不是将文件传递给服务器来完成这项工作。

AnalyserNode界面似乎非常适合此类任务,但感觉很笨拙,因为它仍然需要在获取任何数据之前链接到 aAudioBufferSourceNode和ing 它。start()而且,要比实时更快地完成它,需要提高它的速度,playbackRate这会降低分析的质量。

或者,使用dsp.js可能更合适,但它的存储库几年来几乎不活跃,这并不是一个巨大的信任投票。

我想根本问题是:Web Audio API 是用于分析工作还是它的唯一目的(以及它的设计和优化目的)性能和播放?如果不是,是否有任何其他标准或工具被提议或专门用于音频分析?我是否通过提及 dsp.js 来回答我自己的问题?