I configured a bank of 8 AM last night using Firmware 1.4.3 and config app 1.3.4 with:
Sleep duration (s) : 1
Recording duration (s) : 10
As expected this recorded onto the Sandisc Extremes a file every 11 secs right through the night without fail on all the AM.
However every file recorded is actually 9 secs long. Is this?
A bug in config App or firmware?
A oddity of writing to the Sd cards with such a small sleep?
A "design feature" to prevent small sleep settings?
Perhaps this is fixed in Config App. 1.3.5?? 😉
Thanks a lot for the explanations. Well 0.5 seconds maximum would have been nicer but 1 second maximum is already good enough for my purposes. I´m looking forward for the mentioned further improvement of an already good device. Thomas
Yes, the times are rounded down so the precise timing of any file is really +/- 1 second.
There is another source of error which is while AudioMoth can sample at exactly 384kHz (and each fraction of this), the sample rate at 256kHz is not quite so accurate due to rounding in the number of ticks of the 48MHz clock to wait between samples.
This hasn't been an issue previously as recordings were generally quite short. However, now it is easy to make longer recordings we should probably revisit it through an update to the configuration app.
We'll revisit this and see if we can improve it.
Thank you very much Alex for the helpful explanations. I tried it with the 2nd option with continous recording. This resulted with my 256khz settings in roughly 2hrs files. Unfortunately I had 22s gaps between those recordings. I tried to play with different allocation sizes on my exfat 128GB formatted SD cards. Unfortunately without any effect on the gap length between recordings. I then returned to a sleep/recording schedule (0s sleep). To minimize recording gaps between files I increased the recording duration to 20 min (1200s) instead of 10 min and oddly I get now 0 s gaps between recordings during 12hrs scheduled on all 8 tested devices (consisting of new and old hardware version as well as 128gb and 256gb cards and with and without use of the advanced filters all formatted with exfat) for one 12hr schedule. I expect still some gaps between the files but they should be lower than 1 second which is good enough for my purposes. :-) Just out of curiosity, is the filename the result of rounded time at file creation (so the gaps should be shorter than 0.5 s in my case) or is it always rounded down?
Below the settings (for 4 devices, the other 4 were the same just without any filter or amplitude threshold settings): Device ID : 24CE97035AA4EF3F Firmware : AudioMoth-Firmware-Basic (1.4.3) Time zone : UTC+2 Sample rate (Hz) : 256000 Gain : Medium Sleep duration (s) : 0 Recording duration (s) : 1200 Active recording periods : 2 Recording period 1 : 00:00 - 06:00 (UTC) Recording period 2 : 18:00 - 24:00 (UTC) Earliest recording time : ---------- --:--:-- Latest recording time : ---------- --:--:-- Filter : High-pass (80.0kHz) Amplitude threshold : 112 Enable LED : true Enable low-voltage cutoff : true Enable battery level indication : true
Another option is to record a continuous file and then chop it up. If you rename the file with a 'T.WAV' at the end, or use amplitude threshold recording with the minimum positive threshold of '2', you'll get a continuous file which you can then break into separate files with the 'Expand AudioMoth Recordings' option.
Many thanks for the explination Alex. What I was seeing was so consistent I did suspect it was "by design".
From my point of view I think you are right to "keep to schedule". I'm currently testing with a bank of 8 AMs, noting the effect of varying one of the settings across the bank. It is very useful to be have all the AM sycronised so I can look in detail at one particular bat call, in the same filename across the bank.
I find the AM's stay within 0.5s of each other throughout a night which is excelent.
Hi very intersting topic,
I'm using Audiomoth since 2018 every year for lesser horseshoe bats inside roosts meanwhile with 30 devices and they all are still working very well.
I also observed this behavior with 10 min recordings and 0 s sleep @256 kHz. The files were just 9 min 59s long. I am using the newest app and firmware like described by andya. Additionally I use/test triggered recording over 112 amp and a highpass filter over 80kHz ( and 24/7 for testing, in field it will be every night for 12hrs) . After reading out the recording time from the file names and adding expanded file length I still get 1 second gaps to the next recordings (in very rare cases the gaps can reach up to 4 seconds) .
Since I try to count entering and exiting bats this year additionally I try to minimize the gaps between recordings. I'm currently running different allocation sizes for my 128gb u3 exfat cards (Samsung Evo) reaching from 128 KB to 16MB to potentially get higher access speed with larger cluster sizes. I hopefully will know more on the impact of exfat cluster sizes on Monday. Or is the bottleneck somewhere else than on the access time on the sd card?
Is there any way to shorten this gap further? And would large 4.3 gb wave files be an alternative or would the processing time be too long once a file is closed and create a very long gap between recording files? And is it possible to expand those T.wav files if the expanded file size would result in files larger than 4.3 gb?
Sorry to expand the question about the shortened file lengths by that much.
An alternative implementation we considered was also to drop the idea of actually keeping to a schedule and just record to the length specified and sleep for the maximum of what is specified and what is actually possible. This works well in the setting of very short sleep periods but doesn't work so well for schedules such as above where you want the recordings synchronised to actual times (e.g. first 10 minutes of each hour, or first five minutes of each 15 minutes) as you then get different recording times depending on the time at which you switch to CUSTOM mode and lots of people use AudioMoth in this way.
This change in strategy is also visible when you first switch to CUSTOM mode. Previously if you had a schedule such as record for 5 minutes and sleep for 10 minutes, and you switched to CUSTOM at 10:03:00, then the AudioMoth would wait until 10:15:00 to actually make the first 5 minute recording. Now it will start immediately but make a 2 minute recording.
This is the design choice to address short sleep periods. The recording/sleep cycle schedule aims to keep the recordings on a fixed 11 second (10 + 1) cycle starting from the start of the record period. However, 1 second isn't actually long enough to close and open a file. Previously if the AudioMoth found it was running behind the schedule it would skip a recording to keep on track. However, this results in missed recordings which isn't really desirable. The alternative approach which is implemented now is that when the AudioMoth finds it is running behind it will reduce the length of the recording to keep on schedule. The actual sleep period is irreducible so the recording length is the only variable that the AudioMoth can reduce to stay on schedule.