0

Hoping this will be a palm to the forehead for missing something. Using R Consol and I'm trying to analyze .wav files. I've loaded seewave, tuneR, soundecology, warbleR, and many supporting packages. And this is the message I get;

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

Wave Object Number of Samples: 1584000 Duration (seconds): 33 Samplingrate (Hertz): 48000 Channels (Mono/Stereo): Mono PCM (integer format): TRUE Bit (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) Error in slot(wave, "samp.rate") : cannot get a slot ("samp.rate") from an object of type "character" How/where do I assign the slots with this .wav information. Thanks for helping, Laurel

1 Answers1

0

If I read the code in your question correctly, you should probably do:

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)

The error message indicates that you have passed an object of type character (i.e. "A1.wav") to the fspec function, which instead expects a Wave object, as created by bioacoustics::read_wav. The Wave object contains a slot called "samp.rate", so then everything should be fine.

RolandASc
  • 3,863
  • 1
  • 11
  • 30
  • I still seem to be having an issue getting the slots right. Using the code, here's the error msg; 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) Error in slot(wave, channel) : object 'left' not found – Laurel Golden Mar 08 '19 at 22:55
  • I tried the ACI in seewave and it works. I'll keep at bioacoustics to see what it wants. Thanks for the help. – Laurel Golden Mar 08 '19 at 23:24