我有一个wav文件,我想计算声学复杂指数在每一秒,并收到一个时间序列输出。
我知道如何在seewave::ACI()
这样的函数中修改其他设置,但我无法找到如何输出一个时间序列 Dataframe ,其中每行是一秒的时间,并具有相应的ACI值。
作为一个可重现的示例,这个音频文件是20秒,所以我希望输出有20行,每行打印1秒时间的ACI。
library(soundecology)
data(tropicalsound)
acoustic_complexity(tropicalsound)
其实,我想达到这一点的是其他几个指标,例如:
soundecology::ndsi(tropicalsound)
soundecology::acoustic_evenness(tropicalsound)
1条答案
按热度按时间xmjla07d1#
您可以根据
wav
文件包含的样本来对它进行子集化。由于采样频率可以从wav
对象获得,因此我们可以获得文件的一秒子集,并对每个子集执行计算。注意,您必须将簇大小设置为1秒,因为默认值为5秒。这使我们能够创建一个逐秒的 Dataframe ,表示每个测量的时间序列:
请注意,这只是演示“如何”实现所需的输出;您需要查阅文献,以确定在如此短的时间内使用这些措施是否合适。