gpt4 book ai didi

r - 在生态记录中查找和计数音频丢失

转载 作者:行者123 更新时间:2023-12-03 02:14:05 26 4
gpt4 key购买 nike

我正在尝试评估生态音景的给定声音文件中有多少音频丢失。

Format: Wave
Samplingrate (Hertz): 192000
Channels (Mono/Stereo): Stereo
PCM (integer format): TRUE
Bit (8/16/24/32/64): 16

我的项目有一个两元素水听器。这些元素是不同的品牌/型号,我们正在尝试确定在我们的特定实验中哪个元素的效果更好。我们要进行的一项分析是测量每个元素丢失或信号丢失的频率。这些丢失与信号幅度无关,换句话说,丢失不是由幅度最大化引起的。元素或关联的电子设备刚刚出现故障。

我一直试图在R中执行此操作,因为这是我最熟悉的程序。我在Matlab和regex方面的经验非常有限,但是愿意尝试这些程序/语言。我是生物学家,所以请原谅。

在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”来获取所有数据间隔的列表。

是的,指导就是我所要求的,哦,数据处理之神。

干杯。

最佳答案

这个问题听起来让人想起电气工程中经常出现的功率传输问题。解决该问题的一种方法是在一段时间内取信号中样本的RMS(均方根),并在短持续时间(也许几秒钟甚至更短)内取平均值。 RMS较低的持续时间就是辍学的时间。它类似于您有时在音频放大器上看到的VU表-表示功率已从放大器传递到扬声器。

关于r - 在生态记录中查找和计数音频丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21487434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com