![]() |
MATLAB中的节拍提取
我没有MATLAB的经验,但是不幸的是我的项目是MATLAB的。
基本上,目标是将音乐源(最好是mp3格式,但.wav也可以)读入MATLAB,然后应用低通滤波器,以使其滤除节拍以外的所有内容。然后,它应该获取每个节拍发生的时间,并将结果写入文本文件。 [B]回答:[/B] 我认为使用.wav文件要容易得多,尽管Matlab很好地具有处理此类问题的实用程序,但实际上确实如此: [URL="http://www.mathworks.com/help/techdoc/ref/wavread.html"]读取.wav[/URL] 实现低通滤波器的最简单方法是移动平均滤波器。 最简单的方法是遍历数据并取每组n个值的平均值。我不确定截止频率将如何取决于n,但是您可以尝试一下。 否则,我知道有一个用于Octave的信号处理工具包,我认为Matlab具有内置的过滤器功能: [URL="https://ccrma.stanford.edu/~jos/fp/Matlab_Filter_Implementation.html"]https[/URL] : [URL="https://ccrma.stanford.edu/~jos/fp/Matlab_Filter_Implementation.html"]//ccrma.stanford.edu/~jos/fp/Matlab_Filter_Implementation.html[/URL] 最重要的第三种方法是执行FFT并在频域中进行滤波。 一旦获得了信号的低频部分,您就可以检查样本是否超过幅度阈值,并输出在数据中找到这些样本的位置。 [url=https://stackoverflow.com/questions/4619903]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:29。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.