gpt4 book ai didi

javascript - processing.js 和 minim.js 中的节拍/赫兹检测不起作用

转载 作者:行者123 更新时间:2023-11-28 01:16:41 25 4
gpt4 key购买 nike

我刚刚编写了第二个处理脚本,我正在尝试将其放入 HTML5 页面中。我的脚本检测输入歌曲 (mp3) 中的频率强度,并将每个频率分配给图像的色调范围以对图像进行动画处理。我已经包含了processing.js 和Pomax 的minim.js。我收到以下错误:

Uncaught ReferenceError: FFT is not defined 

看起来当它到达终点线时就会发生这种情况

FFT fft; 

在我的处理草图中。我查看了 minim.js,它看起来像是 minim 库的一小部分。该页面正在绘制盒子,所以我认为它只是缺少 FFT 功能来分析音频。然而,我更倾向于视觉艺术方面,所以 minim.js 缺失的东西可能比我想象的要多得多。

有人知道如何在 minim.js 中实现 FFT 吗?在 HTML5 环境中它可能非常强大。我不确定我会做什么,但我想我可以找到另一个音频分析库。

我对这个世界还很陌生,所以如果您有任何疑问或需要代码,请告诉我。

谢谢!

最佳答案

这实际上是使用音频 API 的 javascript 中的 6 行代码,没有任何库,那么为什么您需要额外库的开销来实现不需要 6 行代码就能实现的功能呢?

var sfx = new AudioContext();
var mediaSourceNode = sfx.createMediaElementSource(document.getElementById("yourAudio"));
var analyser = sfx.createAnalyser();
var timeDomainData = new Uint8Array(analyser.frequencyBinCount);
mediaSourceNode.connect(analyser);
analyser.connect(sfx.destination);

你把你想要播放的音频放在html5 <audio>中元素并获取音频播放的基本用户界面。

为了从分析器调用中获取数据

analyser.getByteTimeDomainData(timeDomainData);

来自你的绘制循环。您的数据将位于var timeDomainData

有关将 javascript 与processing.js 结合使用的信息,请参阅 http://processingjs.org/articles/PomaxGuide.html

关于javascript - processing.js 和 minim.js 中的节拍/赫兹检测不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23750951/

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