c# - 获取音乐节奏或 BPM?

标签 c# windows-phone-7 xna fft

我目前正在使用 xna 在 Windows Phone 7 中构建游戏 我试图从背景歌曲中播放的歌曲中获得每分钟的节拍, 我也不太确定我想要的是 BPM,我想要的是音乐中的节奏或节奏,节奏更快, Sprite 移动得更快。我现在在想的是,BPM 是音乐中的频率达到定义的常数范围的程度,例如 20 Mhz - 30 MHz, 如果我错了,请随时纠正我,我不是很熟悉音频的东西,我试过使用 MediaLibrary XNA 的 VisualizationData,但在谷歌搜索后他们说 VisualizationData 不适用于 WP7,我也试过并且输出是 256 长度的 float 组包含 0 值,或者如果我可以用它做一些 fft,我会试一试 谢谢...

最佳答案

就像你说的,至于节拍,你不能直接得到它,但你必须解释这些数据。如果您个人可以预处理此音乐并将其与您的标题一起发布,那将是您最好的选择

在 XNA 中你真的只有 MediaPlayer.GetVisualizationData跟...共事。没有任何内置的东西可以让你预先确定这类事情。它的用法如下所示,并为您提供有关正在播放的不同频率的信息。

MediaPlayer.IsVisualizationEnabled = true;
VisualizationData visData = new VisualizationData();
MediaPlayer.GetVisualizationData(visData);

那么您如何利用这些频率信息并使其对您的应用有值(value)? on the App Hub forums in this thread called "Audio Analysis" in the reply by jwatte 关于如何执行此操作的详分割类.从本质上讲,您将查看低频并尝试找出节拍何时进入。没有什么是完美的,但希望您会得到您认可的东西。

祝你好运!

关于c# - 获取音乐节奏或 BPM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235575/

相关文章:

c# - 使用 WebBrowser Control 以编程方式登录网站时出现问题

Windows Phone 7 中的 MVVM

c# - 制作一个控件以沿着集合一次滑动一个图像,Windows Phone 7

c# - 我如何使用属性 { get; }?

c# - XNA Game Studio 在 2013 年过时了吗?

c# - Xact 与 AudioContent

c# - 如何最好地在 ASP.NET Core 中实现 Google 社交登录身份验证?

c# - 当字典键发生哈希冲突时会发生什么?

c# - ef 核心忽略导航属性

c# - 如何让 HttpWebRequest 尽可能同步运行?