2014-09-11 56 views
0

因此,我可以获得一个wav文件的所有字节数组,我只想知道如何将原始声音数据解码为我可以用来分辨歌手何时说/他的节拍(我不知道适当的音乐条款,对不起)Java阅读/操作Wav文件

如果有一个API或教程在那里有人可以链接我,这将是膨胀,因为我似乎无法找到任何好东西。

+0

对这个特定的需求还不太确定,但是当我使用FFMpeg(https://www.ffmpeg.org/)来处理音频文件时。你可能会发现一些好的东西。社区也非常活跃。 – 2014-09-11 03:33:44

回答

0

你会提前知道这个节拍吗?如果是这样,你可以输出两个信号,并且这个输出中的最高峰值将对应于时间延迟。除此之外,根据节拍开始前的声音,您可以转换到频域(通过FFT)并查看存在的频率,并查看节拍开始时是否有显着变化。

一些示例/额外的细节将有所帮助。

如果您正在尝试检测节拍的节奏,请忽略 所有内容 我所说的大部分内容。

0

一般来说,检测波形文件中“某些事件发生时的情况”并不像人们想象的那样想象。

可能的第一步是将您的.wav转换为所谓的“光谱图”。 我不认为Java为此具有专门的API,但使用“java spectrogram”搜索会给你一些第三方示例。

我也发现this question可能是相关的。

P.S.我不是信号处理专家,所以我们欢迎更正。