繁体   English   中英

使用网络音频API进行峰值检测?

[英]Peak detection with the web audio API?

TL; DR-我想使用Javascript检测鼓手的点击声中的每一次点击(只有节拍的mp3),然后将它们替换为其他点击声音的.wav样本。 鼓手的喀嗒声不是固定的时间,因此我不能简单地检测BPM并替换其中的样本。

我有一个想使用Javascript和网络音频API来完成的任务,但是我不确定使用这两种方法是否真的可以实现...。

基本上,我会定期使用录制的曲目作为歌曲的伴奏,并使用自定义的点击采样(一个小节的第一个节拍为一个.wav采样,其余的节拍为另一个采样)替换默认的点击声轨(鼓手演奏的节拍器音轨)。在任何给定的栏中)。 令人烦恼的是,这些鼓手的喀嗒声轨道不是固定时间的-因此从头到尾没有恒定的BPM。

我想检测单击轨道中的每个单击(每个峰值声波),然后将其替换为.wav示例,然后将最终文件下载为MP3。 这可能吗?

WebAudio中没有内置方法可以做到这一点。 您将必须使用ScriptProcessorNodeAudioWorkletNode来实现峰值检测器。 一旦确定了每个峰值的位置,便可以安排替换点击以在点击时间开始播放。 使用OfflineAudioContext ,您可以获得得到的PCM结果。 要获得压缩版本(可能不是mp3),我认为您需要使用MediaRecorder

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM