Put it down over winter but just picking it back up.
Bat detection/identification with ultrasonic recordings. It's been fun building the data pipeline to manage the ~30GB+ of WAV files generated every night, run through some identification processes (currently using https://github.com/rdz-oss/BattyBirdNET-Analyzer) and build a UI (mostly vibe coded lol) to help with replay, cataloging, etc.
I'm using an AudioMoth currently (https://www.openacousticdevices.info/audiomoth), am thinking about extending it to do some of the preprocessing in the field to scale things up a bit.
I’m working on a friendlier version of BirdNET-Pi with support of the latest BirdNET 3.0 model, also planning to add the BattyBirdNET later. https://github.com/Suncuss/BirdNET-PiPy
Sorry if this is not the place to do it. I live in a city that has bat at nights, so if you live above 6th floor and you leave your windows open, there are chances some confused bats go into your apartment.
Even worse, they can go into the blind box of your rollover. After two traumatic events where I had bats going into my apartment (and it took me 5 days/nights where I didnt sleep at all to take them out alive), I put something in the opening of the blind box to avoid them getting into it.
However, I don't feel safe. I wake up in the middle of the night with any sound thinking they are trying to get into.
All this introduction is to ask if there is something that detracts bats going near my window. Maybe some kind of ultrasound (that I could play with some kind of speaker), or odor? I don't know, but I'd like to try something that could make me sleep more relaxed.
I asked about this to people who put meshes but they said the mesh goes into the window (it's mostly for mosquitoes), and the open would be outside the mesh, so it wouldn't cover it. I would be OK but I can't find anyone who would be willing to put the mesh on the outside of the window.
Yeah there's quite a bit of opportunity to reduce processing time along the way.
Couple cool things I've learned about bats.
- They are *extremely* loud in the ultrasound range, 130db echolocation calls from something the size of a mouse.
- On an average recording, the ultrasonic range is almost exclusively filled with sound from wildlife (bugs, birds, etc). I'd expected to see lots of harmonics and whatnot from human-generated sounds but there just aren't that many. It's quiet up there.
- You can leverage these two in combination for sampling by just strapping the recording device to the roof of your car and driving around. The wind and road noise is basically absent and the echolocation calls come through loud and clear. The AudioMoth can be fitted with a GPS receiver to correlate the calls to location (and time ofc)
- There are three primary types of echolocation calls: Search - Semiregular calls just to see what's out there. Approach - Faster rate of calls once prey has been identified. Terminal - Aka feeding buzz, very high rate (200hz) of echolocation calls in the last meter or so of approach. Most of the recordings of bat calls you see on YouTube are slowed down 10x to bring the audio into listening range, but this also slows the call tempo by just as much. They make lots of calls.
- Most bat calls use frequency sweeps rather than continuous tones to pick up both distance and relative velocity of the target (akin to FMCW radar).
- There are more bats around than I realized. I started off by looking for 'good spots', but now I just set the device out on a porch. Many times you'll hear me walking up to the recording device at the end of a recording and there will be 2-3 bats overhead that I was perfectly unaware of.
Thanks jcims for sharing this amazing info! However, I wonder how these very loud bats, all in close proximity, don't get confused by each others' calls? Is the answer their frequency sweeping? Or does each have something analogous to a unique "voice"?
Good question! Yes they definitely have unique voices and call signatures. A single string of calls from a single bat will have variation between calls as well (especially in search phase).
It'd imagine there's a lot of neurophysical adaptation involved as well, just like listening to a single conversation in a crowded room.
That said, hunting in an area filled with bats is probably not as effective as being in a quiet place.
Microphone selection is super important and can get extremely spendy very quickly. The AudioMoth device I use comes with a simple mems ultrasonic mic and it's perfectly adequate for what I'm using it for, but loud signals can cause artifacts that wouldn't be present on more expensive ones.
UnitedNuclear has these and a bunch of other interesting tidbits if anyone wants to give it a try. I bought a small bottle of heavy water as well, which I of course sampled and can confirm it has a slightly sweet taste to it.
You really have to get your eyes adjusted to the dark to see anything with the spinthariscope. It ends up looking mostly like static on a green crt, but if your only reference frame is a cloud chamber, the volume of particles that are emitted from such a weak source is pretty remarkable.
>The reference implementation is JavaScript, whereas our pipeline is in Go. So for years we’ve been running a fleet of jsonata-js pods on Kubernetes - Node.js processes that our Go services call over RPC. That meant that for every event (and expression) we had to serialize, send over the network, evaluate, serialize the result, and finally send it back.
But either way, we're talking $25k/mo. That's not even remotely difficult to believe.
The link to the changelog on the page got me wondering what the change history looks like (as best we can see).
I asked chatgpt to chart the number of new bullet points in the CHANGELOG.md file committed by day. I did nothing to verify accuracy, but a cursory glance doesn't disagree:
Bat detection/identification with ultrasonic recordings. It's been fun building the data pipeline to manage the ~30GB+ of WAV files generated every night, run through some identification processes (currently using https://github.com/rdz-oss/BattyBirdNET-Analyzer) and build a UI (mostly vibe coded lol) to help with replay, cataloging, etc.
I'm using an AudioMoth currently (https://www.openacousticdevices.info/audiomoth), am thinking about extending it to do some of the preprocessing in the field to scale things up a bit.
reply