Spectrogram browser extension for iNaturalist - feedback welcome!

Thank you so much! This is truly so useful! And everyone contributing such helpful advice to make it even better.

2 Likes

Thank you so much for the feedback so far, everyone! I’ve implemented a toggle in the settings to switch between linear and logarithmic algorithms, so @orionlee01 you should find this helps with what you were seeing, once you update to v3.3.5

I’m also working on some of the other feedback from here and elsewhere, so hopefully another update soon for those changes! :D

4 Likes

@japh Thanks for listening and making the improvement!
For linear vs logarithmic scale in the case of birds, vladimir_fuka correctly points out that the typical resources all use linear scale. Nevertheless, having the options could be anyway.

1 Like

My pleasure! I hope you found the linear mode worked better for you. Logarithmic can be good for some other things like bats, etc.

I’m glad you found this option! Version 3.3.7 has just been published, and so now it will only appear on observation pages too, so you can have it turned on by default again without it interfering with the uploads page.

1 Like

Great tool and may be useful for many taxa. However, this is bot useful for bat calls as the display resolution and X-Y parameters are not standard so “pattern recognition” is not possible. Also it is critical that the call file be uploaded for review as many “Black box” auto ID programs get these wrong and therefore need to the manually vetted.

1 Like

Thank you for the feedback! Can you explain what you mean by “not standard” in this case? The X-Y parameters are adjustable, so you can match them to a standard in order to recognise patterns.

For anyone who’s interested in taking a look, version 3.3.8 is now available on the Chrome Web Store (and hopefully soon, once it’s passed review, on the Firefox equivalent).

This version should fix the “test pattern”-like issues that @orionlee01 and @karoopixie were seeing. Overall, the spectrogram should look much better, actually.

I also added a Mel-Frequency mode (in addition to the Linear and Logarithmic modes already available).

I’ve noticed performance needs work, so that’s next on the list, but of course any other feedback is also welcome! Thanks, everyone!

3 Likes

Great update! Both my weird spectrograms now look perfect (as does every other bird recording I’ve checked). Thank you very much for your effort.

1 Like

Oh fantastic, I’m glad to hear that, thank you! :D

Oh thank you so much! You rock, @japh :smiling_face_with_sunglasses:

Everything works perfectly!

You have worked so hard and made such elegant code. Much impressed! If you have the inclination, might you consider adding a “light theme” option? If not, that’s perfectly okay.

1 Like

Great! Thanks! And yes, I’d definitely consider that. I assume you’re referring to both the interface surrounding the spectrogram and the spectrogram itself? If so, I’ll need to work out what is a good light colour palette for a spectrogram that still gives good clarity and legibility.

I mucked about a bit with inverted colours but the program’s inversion makes the spectrogram red on pale green, which is no good at all, especially for colourblind peeps. Probably just shades of grey/black on white would work best?

2 Likes

Another nice “side effect” of having the spectrogram on the page is that now the clip shows the duration before one clicks “Play”. It never used to do that. Well done :-)

2 Likes

Having also played around a bit with this–in the live, moving ‘playhead’ style like Merlin does–I endes up partly unsatisfied with how approaches performed in client-side browser code when trying to get it very fined grained.

But perhaps there are clues in the BirdNET source for how to match it more closely as an async render

1 Like

Good news, if you’re a Firefox user, the extension is now available for Firefox as well! It’s version 3.3.9, which is currently being reviewed for the Chrome store too (they usually seem to only take a day or two, sometimes less, to review).

For version 3.3.9 the main improvement people will notice is probably improved resolution when zooming. Before, it kind of just stretched the spectrogram, but now it will actually re-render so you get a little more detail. I also added icons on the left side of the interface to toggle waveform and spectrogram views, if you just want one or the other instead of both.

Hope you all like it!

4 Likes

This is very cool! Thank you for your work in incorporating more tech into iNat!
I am sort of unfamiliar with the usage of spectrograms for identification. Is it the general “shape” of the peaks that you are looking at for an ID? Is this in combination with the frequency range that it occupies?
If anyone has any resources for becoming more familiar with the usage of recorded sound and spectrograms for identification that would be great thank you!

2 Likes

The spectrogram is a graph of the audio, with time on the x axis and frequency/pitch on the y axis (e.g. in a spectrogram formatted for birds, lower pitched sounds like bitterns and owls will be along the bottom, higher pitched sounds like kinglets and creepers will be at the top). Volume is indicated by the intensity of the marking (e.g. on a white background, grey is quiet and black is loud).

Here’s a fairly intuitive spectrogram of a White-throated Sparrow singing, where it has 3 descending notes and then a series of notes at the same pitch as the 3rd note:

I process information better visually than audially, so I find spectrograms pretty helpful for distinguishing similar-sounding species. For example the songs of Least Flycatcher and Yellow-bellied Flycatcher “look” much more different than they sound.

I haven’t tried bat vocalization ID yet so someone else can clarify on that, but I believe it can involve some combination of their shape, their frequency, and/or how fast calls are made in sequence. For cicadas I’ve worked with it was the latter; how fast are the individual notes repeated (we would hear that as the difference between a trill at the slow end and a constant buzz at the fast end).

2 Likes

Um, I’m having an issue with no sound when the extension is on. When I disable the extension the sound works.

Don’t know if this is a problem with the latest version of the extension or my computer? I have restarted wireplumber and pipewire coz those sometimes do go wonky, but this hasn’t made a difference.

Brave on Linux.

1 Like

It’s working today. Don’t know if that’s a change on my side or the extension’s, happy either way :-)

1 Like