As I’d indicated in my previous post, following the interesting outcome of the October 2022 AudioMoth deployment on Lady Bay reef, I intended to return and deploy a pair of AudioMoths to make further observations of the reef’s underwater environment.
You can go back to the previous post if you want a more detailed overview of this activity. But given it’s been a while since the last post, I thought I’d include a summary since it’s important to grasp the concept of the acoustic ecology index (ACI) and the methodology applied to the data analysis, which will be applied to the more recent data.
Review of the October 2022 AudioMoth deployment:
The AudioMoth was deployed over a 22-hour period from the 8th to the 9th of October and the resulting audio data – when computed as a measure of acoustic complexity (ACI) – revealed a strong association between high/low ACI and predicted low/high tide marks.
Here’s what the measure of ACI looked like over this period. The tide marks are indicated with the coloured triangles.

Aside from the two highest ACI points representing some heavy rain that arrived after I deployed the AudioMoth, it’s apparent that the ACI values trend upwards with the high tide mark and drop off with the tide’s retreat.
The high ACI values are due to the sound of the water’s movement and direct contact with the deployed AudioMoth.
The sound of the water movement is a complex acoustic phenomenon that dominates the frequency spectrum.
For example, here’s a spectrogram of one of the two heavy rain events (8/10, 12pm):

The rain making contact with the surface of the water (and likely the AudioMoth enclosure) covers a wide extent of the frequency spectrum and is relatively consistent throughout the recording. The loudness however, is mostly confined to the lower part of the frequency spectrum (< 1kHz)
And a spectrogram from a predicted high tide mark (8/10, 5:20 pm):

Note the instances of loud sounds encompassing the entire frequency spectrum – this is the tidal movement of the water, which is also carrying sand particles, seaweed detritus, etc.
And for contrast, a spectrogram from a predicted low tide mark later that same day (8/10, 11:30pm):

Aside from some energy in the lower part of the frequency spectrum, the rest of the spectrogram is very quiet aside from brief transients. The continuous pattern that you can see is an instance of self-noise from the AudioMoth. On this occasion I had forgotten to disable the LED on the device, so this is the likely cause.
There are, of course, other variables present in the underwater environment that result in high levels of acoustic complexity, so using ACI to determine low and high tides isn’t reliable unless the observations are made in a location that receives the tides, away from the influence of other factors.
When I returned to Lady Bay in December 2022, I wanted to explore parts of the reef I couldn’t access back in October, such as the reef’s seagrass meadows.
December 2022 – returning to Lady Bay with a low tide
As I mentioned in the introduction, for this visit to Lady Bay I came with two pre-configured AudioMoths. Like the October AudioMoth deployment, both were synchronised to record at ten-minute intervals for 60-seconds over a continuous 24-hour cycle. They were deployed before noon on the 23rd of December and were retrieved and deactivated around noon on the 31st of December.
Because the tide was extremely low, this allowed me to venture far out onto the reef and deploy the AudioMoths in the locations I had hoped to access.
Given there was a lot of data to pore over from both sites, for this post I’ll just cover the first site and cover the other one in a subsequent post.
AudioMoth location 1: Seagrass meadow cove

The first deployment location on the reef was an enclosed tide pool about 100 metres out from the shore. It was roughly circular in shape, half a metre in depth (at low tide) and about 8-10 metres in diameter. It consisted of soft white sands, patches of seaweed and a dense meadow of seagrass extending across one side of the pool.
I secured the AudioMoth with its velcro strap to an old dumbbell, along with a bright orange tag to assist locating it later on. I found a spot in the middle of the seagrass meadow and positioned the device there.
Seagrass meadows can be fascinating sonic environments. When I made some recordings of these environments on the reef back in January 2021 (with conventional hydrophones) I was amazed by the variety of sounds emanating beneath the dense canopy of the meadow. Aside from the grunt of fish and the scraping of crustaceans, the most surprising sound were hissing, wheezing and crackling sound that slowly rose and fell in pitch.
With little chance of accurately determining the origin of these sounds, I passed the recordings onto some colleagues for their opinion. Whilst not conclusive, it’s believed they’re coming from a) the sound of tiny underwater insects; and/or 2) the sound of the seagrass itself.
I’ll come back to these mysterious sounds, but first let’s have a look at the data collected from this site over the course of the week.
As usual, you can find the code and outputs for this analysis in the blog’s GitHub repository.
Plotting the acoustic complexity data
With the usual acoustic complexity processing and data tidying done, we can see that for the seagrass meadow site there are 1152 points of data representing seven 24-hour periods for 24th to 30th of December, (bookended by two shorter periods on the days of deployment and retrieval (23rd and 31st December))
data %>%
filter(index == "acoustic_complexity", site.name == "Meadow cove") %>%
nrow()
[1] 1152
I plot this with the 24-hour time on the x-axis and acoustic complexity on the y-axis:

As with the October 2022 plot, I’ve included the predicted high and low tide marks for each day here. The mean of the ACI is included with horizontal blue line.
Despite being a bit noisy (noisy in a data-sense), overall there is the semblance of a trend which indicates high ACI towards around midnight, followed by low ACI from late morning into the afternoon – this is where the projected smooth interpolation (with its margins of error) come in handy.
Let’s see some summary stats for these points (see the complete R script for the summary function I use here.)
Firstly, for all 1152 points of data:
wita13_overall.stats <- summary.stats(data %>% filter(index == "acoustic_complexity",
site.name == "Meadow cove"), "all")
wita13_overall.stats
# A tibble: 1 × 5
min max mean med std.dev
<dbl> <dbl> <dbl> <dbl> <dbl>
1 1693. 3341. 2525 2547. 369.
And for each of the days:
wita13_daily.stats <- summary.stats(data %>% filter(index == "acoustic_complexity",
site.name == "Meadow cove"), "daily")
wita13_daily.stats
# A tibble: 9 × 6
date min max mean med std.dev
<date> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2022-12-23 1866. 3276. 2328 2168. 383.
2 2022-12-24 1693. 3245. 2537 2592. 394.
3 2022-12-25 1940. 3309. 2572 2682. 424.
4 2022-12-26 1855. 3270. 2465 2535. 369.
5 2022-12-27 1865. 3305. 2481 2507. 358.
6 2022-12-28 1985. 3254. 2506 2456. 286.
7 2022-12-29 1917. 3300. 2556 2564. 352.
8 2022-12-30 1883. 3317. 2524 2543. 377.
9 2022-12-31 2024. 3341. 2755 2705. 229.
Overall, the mean for the total observations and the daily means are generally higher than the mean recorded back in October.
October 8-9/10/22 – ACI mean = 2118
December 23-31/10/22 – ACI mean = 2525
Whilst the ACI mean associated with the October data was almost entirely associated to the sound of water movement (and what it carried in it – e.g. sand particles, detritus), the higher ACI mean for the December data can be attributed to the seagrass environment that the AudioMoth was deployed in.
Here, there are additional factors determining the higher ACI values: the interaction of the tides on the seagrass meadow and the seagrass meadow on the AudioMoth enclosure.
I filtered the observations for the 24th of December and printed the five highest ACI values for this day.
data %>% filter(day == 24, site.name == "Meadow cove") %>% arrange(desc(value)) %>% head(n=5)
date time year month day mins hour index value site.name period season
<date> <time> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl> <chr> <chr> <chr>
1 2022-12-24 02:20 2022 12 24 20 2 acoustic_complexity 3245. Meadow cove pre-dawn Summer
2 2022-12-24 04:20 2022 12 24 20 4 acoustic_complexity 3210. Meadow cove pre-dawn Summer
3 2022-12-24 05:00 2022 12 24 0 5 acoustic_complexity 3203. Meadow cove dawn Summer
4 2022-12-24 04:00 2022 12 24 0 4 acoustic_complexity 3189. Meadow cove pre-dawn Summer
5 2022-12-24 02:50 2022 12 24 50 2 acoustic_complexity 3185. Meadow cove pre-dawn Summer
Let’s have a look at the data points again, but in order to get a better insight into the trends from day to day, I’ll plot the days side by side. Note: I’ve excluded the days for the 23rd and 31st since they’re not full days of observation.

And for the ease of your eyes, here’s each of the plots in greater detail which can be clicked through sequentially:
We can see that each of the days generally adhere to the same trend: high ACI late at night, dropping off towards dawn, then at its lowest from mid-morning into the afternoon before picking up again.
But what’s evident here is that – unlike the October observations – the high and low tide marks aren’t matching up with high and low ACI. Only the low tides around noon each day correspond with low ACI.
So, if you’re going to be determining tides using ACI, it’s my understanding – based on the research thus far – you can only really do it in open spaces with next to no interference from anything else but the water itself.
Still, more observations would be ideal – something to explore later this year perhaps.
Examining the 24th of December and seagrass ambience
At this point, we’re going to focus on the first full day of observation (24/12) and I’m going to direct you to the following video I made for this post. It’s something new, and I thought it would be a good way to incorporate the audio clips, spectrograms and some of the data plots all in one go.
There’s a quick summary of what Acoustic Complexity is, followed by an excerpt of the recording responsible for the high ACI value we looked at previously.
Now, remember how I mentioned the mysterious sounds of seagrass meadows? Well, it’s happening in the other audio recordings featured in this video.
As you’ll find in the video, these sounds are largely restricted to the periods of low ACI occurring between approximately 10am to 4pm on each day.
In order to get a better understanding of this seagrass soundscape and how distinguishable it is in terms of acoustic complexity, I’ve taken regular snippets of the one-minute audio recordings from the 24th of December and ‘time-compressed’ the day into a 12-minute version.
What this means is that I took every one-minute audio file for the 24th of December (144 in total) and put together a macro in Audacity to edit each file down to 5-second edits and then pasted them together in a sequence as a single audio file.
Here’s the audio recording:
And the accompanying spectrogram:

Can you tell where the low ACI and the seagrass sounds occurs? It’s fairly striking isn’t it?
Here’s the same spectrogram, but annotated with what the actual time is at given points:

I wrote a function to determine the actual time from a time compressed audio file. You can find the code in the blog repo in both R or Python scripts. The Python version is particularly useful, since you can execute it from the terminal and you don’t have to bother with booting an IDE every time you want to use it. This is one of the things that’s motivating me to learn and apply Python more.
So, you’re probably wondering how this spectrogram matches up with the plot of ACI for the same day.
Let’s have a look at it, with the same time marks annotated on the plot:


Something that I find particularly fascinating about this is just how much the quiet seagrass soundscape – occurring from 9am to 3pm – stands out against the rest of the day.
Since I’ve served up a sizeable chunk of information in this post, I’ll be continuing this exploration in the next instalment, along with a look at the data from the other AudioMoth deployment. Since both devices observe the same period at the same intervals, it will be interesting to see what differences and similarities occur!
Also, I promise not to take 4-5 months this time around.
In the meantime, if you have any thoughts, suggestions or feedback please pop them in the comments or get in touch with me directly.
Footnote: below is a data sheet containing some of the plots already generated, along with some tweaked parameters to illustrate the ACI trends over periods of the day. I’ve been gradually learning how to arrange plots together as a single composite image and I must give a recommendation (and much-deserved/long-overdue shout out) to Dan Oehm and his excellent data science and statistics blog, Gradient Ascending. I’ve been following his work ever since I started learning data science and his blog has been an essential resource for learning new skills, hacks and whenever I’m stuck for inspiration.







