Java读取/操作Wav文件
所以我可以得到一个wav文件中所有字节的数组,我只想知道如何将原始声音数据解码成我可以用来判断歌手何时说话/他的节拍(对不起,我不知道正确的音乐术语) 如果有一个API或教程可以链接到我,那就太棒了,因为我似乎找不到任何好的东西。一般来说,在wave文件中检测“有东西跳动时的情况”并不是人们一开始想象的那样 可能的第一步是将.wav转换为所谓的“光谱图” 我不认为Java有专门用于此目的的API,但通过谷歌搜索“Java spectrogram”可以为您提供许多第三方示例 我还发现可能与此相关Java读取/操作Wav文件,java,api,audio,wav,Java,Api,Audio,Wav,所以我可以得到一个wav文件中所有字节的数组,我只想知道如何将原始声音数据解码成我可以用来判断歌手何时说话/他的节拍(对不起,我不知道正确的音乐术语) 如果有一个API或教程可以链接到我,那就太棒了,因为我似乎找不到任何好的东西。一般来说,在wave文件中检测“有东西跳动时的情况”并不是人们一开始想象的那样 可能的第一步是将.wav转换为所谓的“光谱图” 我不认为Java有专门用于此目的的API,但通过谷歌搜索“Java spectrogram”可以为您提供许多第三方示例 我还发现可能与此相关
另外,我不是信号处理专家,所以欢迎更正。你能提前知道这个节拍吗?如果是这样的话,您可以选择这两个信号,并且此输出中的最高峰值将对应于时间延迟 除此之外,根据节拍开始前的声音,您可以转换到频域(via),查看出现的频率,并查看节拍开始时是否有显著变化 一些例子/额外的细节会有所帮助
如果您试图检测所述节拍的节拍,请忽略我所说的大部分内容。对于这一特定要求不太确定,但在音频文件方面,我曾经使用FFMpeg()。你可能会在那里找到一些好东西。社区也相当活跃。