File webroot/changelog.md changed (mode: 100644) (index e39f209..12dbb9b) |
... |
... |
on a software tool "Characterizing acoustic features of marine animal sounds". |
113 |
113 |
> Aggregate Bandwidth, Intensity, Duration, Amplitude Modulation, Frequency Modulation, |
> Aggregate Bandwidth, Intensity, Duration, Amplitude Modulation, Frequency Modulation, |
114 |
114 |
> Short-term Bandwidth, Center Frequency, and Amplitude Frequency Interaction. |
> Short-term Bandwidth, Center Frequency, and Amplitude Frequency Interaction. |
115 |
115 |
|
|
116 |
|
This seems like a perfect fit, to gain various statistical properties from the signals time and frequency domain. |
|
|
116 |
|
The paper further asks: |
117 |
117 |
|
|
118 |
|
An implementation, of some (but not all) of the acoustic features functions, exists in the popular [seewave][seewave.acoustat] library, |
|
119 |
|
written in the [statistical computing language R][R] by Jerome Sueur. |
|
|
118 |
|
> Do the differences in these sound features remain distinctive as the scope of comparison widens? |
|
119 |
|
> With our own ears, we can often distinguish acoustic features that appear to be species-specific, |
|
120 |
|
> and sometimes features unique to individual animals; |
|
121 |
|
> can we specify numerical algorithms that objectively recognize these distinctions? |
|
122 |
|
|
|
123 |
|
The mentioned "Aggregated Bandwidth" or "aggregate power spectrum" function, exists in the popular [seewave][seewave.acoustat] library, |
|
124 |
|
written in the [statistical computing language R][R] by Jerôme Sueur. |
120 |
125 |
|
|
121 |
126 |
The [manual][seewave.acoustat] states: |
The [manual][seewave.acoustat] states: |
122 |
127 |
|
|
123 |
128 |
> acoustat was originally developed in Matlab language by Fristrup and Watkins (1992). The R function was kindly checked by Kurt Fristrup. |
> acoustat was originally developed in Matlab language by Fristrup and Watkins (1992). The R function was kindly checked by Kurt Fristrup. |
124 |
129 |
|
|
125 |
|
Other methods are to be explored in the future. |
|
|
130 |
|
There are a few things to note, on the default `acoustat()` implementation parameters, compared to the workflow described in the paper. |
|
131 |
|
|
|
132 |
|
- There is no noise filter |
|
133 |
|
- The fraction defaults to 10%/90% instead of the papers 25%/75% |
|
134 |
|
|
|
135 |
|
For now the `acoustat()` parameters are **left to the defaults**. |
126 |
136 |
|
|
127 |
137 |
#### Implementation |
#### Implementation |
128 |
138 |
|
|
|
... |
... |
Running the analysis *effectively* requires a task management tool. It keeps tra |
134 |
144 |
A bash script can run the task in parallel but [GNU Make][make] provides a clear _state_; how far the processing of all sound clips has progressed. |
A bash script can run the task in parallel but [GNU Make][make] provides a clear _state_; how far the processing of all sound clips has progressed. |
135 |
145 |
It does that by keeping track of input and output files. If an output JSON file does not exists, the job is not done. |
It does that by keeping track of input and output files. If an output JSON file does not exists, the job is not done. |
136 |
146 |
|
|
137 |
|
This simplified `Makefile` defines `*.wav` files as INPUTS and `*.acoustat.json` as `ACOUSTAT` outputs using `acoustat.json.r` as job processor. |
|
|
147 |
|
This **simplified** `Makefile` defines `*.wav` files as INPUTS and `*.acoustat.json` as `ACOUSTAT` outputs using `acoustat.json.r` as job processor. |
138 |
148 |
|
|
139 |
149 |
```Makefile |
```Makefile |
140 |
150 |
DIR = $(abspath .) |
DIR = $(abspath .) |
|
... |
... |
The number should equal the number of available CPU cores. |
186 |
196 |
```bash |
```bash |
187 |
197 |
make -j 8 |
make -j 8 |
188 |
198 |
``` |
``` |
189 |
|
A single output JSON file looks like this: |
|
|
199 |
|
A single output JSON file looks like this, with P1 and P2 being the lower and upper estimates mentioned in [Fristrup and Watkins (1992 ) report][1912/3055], |
|
200 |
|
chapter 2.6 "Aggregate Bandwidth". |
190 |
201 |
|
|
191 |
202 |
```json |
```json |
192 |
203 |
{ |
{ |
|
... |
... |
A single output JSON file looks like this: |
220 |
231 |
} |
} |
221 |
232 |
``` |
``` |
222 |
233 |
|
|
223 |
|
The meaning of each value is documented in the [acoustat manual][seewave.acoustat]. |
|
|
234 |
|
The meaning of each value is also documented in the [acoustat manual][seewave.acoustat]. |
224 |
235 |
|
|
225 |
236 |
#### Indexing |
#### Indexing |
226 |
237 |
|
|
|
... |
... |
jq --raw-output --compact-output -f acoustat.jq *.acoustat.json | curl -s -H "Co |
264 |
275 |
|
|
265 |
276 |
#### Results and Discussion |
#### Results and Discussion |
266 |
277 |
|
|
267 |
|
With small changes on the existing Web UI the acoustic features are now available as search filters, but how can they be used during research? |
|
|
278 |
|
With small changes to the existing Web UI the acoustic features are available as search filters, but how can they be used during research? |
268 |
279 |
|
|
269 |
280 |
The [1992 Fristrup and Watkins report][1912/3055] outlines the design of the features. |
The [1992 Fristrup and Watkins report][1912/3055] outlines the design of the features. |
270 |
281 |
|
|
|
... |
... |
The [1992 Fristrup and Watkins report][1912/3055] outlines the design of the fea |
272 |
283 |
|
|
273 |
284 |
The paper further explains a correlation test with a subset of 200 sounds clips, to see if species could be distinguished using the statistical features. |
The paper further explains a correlation test with a subset of 200 sounds clips, to see if species could be distinguished using the statistical features. |
274 |
285 |
|
|
275 |
|
It further notes: |
|
|
286 |
|
It notes: |
276 |
287 |
|
|
277 |
288 |
> The short-term bandwidth statistics in Table 5, the aggregate bandwidth statistics in |
> The short-term bandwidth statistics in Table 5, the aggregate bandwidth statistics in |
278 |
289 |
> Table 6, and the center frequency statistics of Table 7 were the most diagnostic for this set |
> Table 6, and the center frequency statistics of Table 7 were the most diagnostic for this set |
279 |
290 |
> of sound sequences. They apparently separated the sounds of different species. |
> of sound sequences. They apparently separated the sounds of different species. |
280 |
291 |
|
|
|
292 |
|
Due to the mentioned differences in parameters and workflow (and probably sample size), the values from `Table 6` don't translate 1:1 on the current results. |
|
293 |
|
A correlation test over the current full result set, might highlight the exact values to distinguish between species. |
|
294 |
|
|
|
295 |
|
For now the technical workflow, of processing all sound clips effectively, is established. |
|
296 |
|
More refined parameters and methods are to be explored in the future. |
281 |
297 |
|
|
282 |
298 |
#### References |
#### References |
283 |
299 |
|
|