Cug*_*gel 5 javascript audio spectrogram
对于辅助项目,我正在使用以下JS插件在浏览器中绘制音频文件的声谱图:
https://www.npmjs.com/package/spectrogram
var spectrogram = require('spectrogram');
var spectro = Spectrogram(document.getElementById('canvas'), {
audio: {
enable: false
}
});
var audioContext = new audioContext();
var request = new XMLHttpRequest();
request.open('GET', 'audio.mp3', true);
request.responseType = 'arraybuffer';
request.onload = function() {
audioContext.decodeAudioData(request.response, function(buffer) {
spectro.addSource(buffer, audioContext);
spectro.start();
});
};
request.send();
Run Code Online (Sandbox Code Playgroud)
(此处提供演示:https : //lab.miguelmota.com/spectrogram/example/)
但是,由于声音当前正在通过缓冲区播放,因此当前代码和示例会“逐行”绘制声谱图。
我想知道是否有一种方法可以实际读取文件,然后一次绘制整个频谱图?我尝试将数组缓冲区转换为Blob,但其余功能实际上希望声音会被缓冲...
所以我的问题是:有没有办法实现我想要的?(立即绘制完整的频谱图,而不是缓冲音频并“随时随地”绘制音频)
有没有更简单的方法来实现我的期望?
感谢您的时间和帮助。
| 归档时间: |
|
| 查看次数: |
915 次 |
| 最近记录: |