首页 > 解决方案 > 如何在 r 中为 .wav 文件分配插槽

问题描述

希望这将是一个手掌,因为错过了一些东西。使用 R Consol,我正在尝试分析 .wav 文件。我已经加载了 seewave、tuneR、soundecology、warbleR 和许多支持包。这就是我得到的信息;

生物声学::read_wav("A1.wav", time_exp=1, from=NULL, to=NULL)

波形对象采样数:1584000 持续时间(秒):33 采样率(赫兹):48000 通道(单声道/立体声):单声道 PCM(整数格式):TRUE 位(8/16/24/32/64):24

fspec("A1.wav",channel=left,FFT_size=256,FFT_overlap=0.875, FFT_win="hann",LPF,HPF=0,tlim=NULL,flim=NULL, rotate=FALSE,to_dB=TRUE) 错误slot(wave, "samp.rate") : 无法从“字符”类型的对象中获取插槽 ("samp.rate") 我如何/在哪里使用此 .wav 信息分配插槽。谢谢你的帮助,劳雷尔

标签: rwavslots

解决方案


如果我正确阅读了您问题中的代码,您可能应该这样做:

myWave <- bioacoustics::read_wav("A1.wav", time_exp=1, from=NULL, to=NULL)

bioacoustics::fspec(myWave, channel=left, FFT_size=256, FFT_overlap=0.875,
                    FFT_win="hann", LPF, HPF=0, tlim=NULL, flim=NULL,
                    rotate=FALSE, to_dB=TRUE)

错误消息表明您已将字符类型的对象(即"A1.wav")传递给fspec函数,而该函数需要一个由 .Wave创建的对象bioacoustics::read_wav。该Wave对象包含一个名为 的插槽"samp.rate",因此一切都应该没问题。


推荐阅读