我正在尝试评估生态音景的给定声音文件中有多少音频丢失。
Format: Wave
Samplingrate (Hertz): 192000
Channels (Mono/Stereo): Stereo
PCM (integer format): TRUE
Bit (8/16/24/32/64): 16
我的项目有一个二元水听器。这些元素是不同的品牌/型号,我们正在尝试确定在我们的特定实验中哪个元素表现更好。我们想要进行的一项分析是测量每个元素丢失或丢失信号的频率。这些丢失与信号幅度无关,换句话说,丢失不是由幅度最大化引起的。元件或相关电子设备刚刚发生故障。
我一直在尝试在 R 中执行此操作,因为这是我最熟悉的程序。我对 Matlab 和正则表达式的经验非常有限,但我愿意尝试这些程序/语言。我是生物学家,请原谅我的无知。
在 R 中,我一直在使用“seewave”包,虽然我已经能够生成一些非常漂亮的频谱图(公平地说,这是我之前使用过该包的唯一上下文)。我尝试在seewave(定时器)中使用包络和自动时间测量功能。我得到了一些有趣但相反的结果。
foo=readWave("Documents/DASBR/DASBR2_20131119$032011.wav", from=53, to=60, units="seconds")
timer(foo, f=96000, threshold=6.5, msmooth=c(30,5), colval="blue")
我已经无数次改变了 msmooth 和 threshold 的值,但这只是修修补补。该函数执行的是测量给定阈值处幅度峰值之间的持续时间。我需要它做什么a)在没有幅度的信号中找到样本或b)测量没有幅度的区域之间的持续时间。我可以使用这些输出中的任何一个。基本上我想反转阈值测量的方向,这有意义吗?因此,任何低于阈值的样本都会触发测量,而不是高于阈值的任何样本。
我仍在使用 seewave 来查看如何生成我需要的数据,但我正在寻找一些指导。也许seewave中有一个功能可以更有效地完成我想要做的事情。或者,如果无论如何要输出计时器生成的数值数据,我可以使用“quantmod”包函数“findValleys”来获取所有数据间隙的列表。
所以,是的,我要求的是指导,哦,数据处理之神。
干杯。