BirdNET-Analyzer
BirdNET-Analyzer copied to clipboard
Is there demand for Kaleidoscope csv format Compatibility?
In our work we have found Kaleidoscope csv outputs to be very convenient to work with since it consolidates the ability to use a powerful software to quickly look at a lot of spectrograms of an audio dataset, as well as conveniently process a large csv with all of the annotations using Pandas, R, or excel.
We modified the deprecated BirdNET-Lite repo with this functionality, and we will likely rework our pipeline a bit to use these new models, but I am curious if there would be any demand for us to add an extra "rtype" parameter 'kaleidoscope' that produces a csv in that format on this repo? Not sure what the intersection of people that use Kaleidoscope and people that use BirdNET looks like.
If this git issue gets any traction, I can submit a PR request for this functionality.
Sounds very interesting! I use Kaleidoscope a lot, since it allows to go through a lot of spectrograms in little time. So, I would be interested in such a possibility. However, we also plan to use the R output format for further processing in R. Just an idea:
- would it make sense to have an
rtypeoption to simultaneously output TWO formats: Kaleidoscope csv and an R-compatible csv ?
@DD4WH I am not all that familiar with an R-compatible format. My understanding is that R can build dataframes off of any arbitrary csv file. Which would lead me to believe that it should work just fine with a csv file format that is compatible with Kaleidoscope. Are you referring to some specific kind of R library that you use?
Sorry for not being clear enough . . .
There is already an output option by BirdNET-Analyzer with --rtype 'r'.
For my -probably very specific purposes- it would be nice to have an option to output a csv compatible with Kaleidoscope and additionally the already implemented files of the --rtype 'r'
I would be open to it, if there is a need, we should support it. @JacobGlennAyers can you move ahead and make a PR as I am not very familiar with the Kaleidoscope format? If you do, please make sure to add the format to segments.py too. Thanks!
@DD4WH From my skim over this codebase that I am still getting used to, it would probably be tricky to handle two kinds of outputs. In cases like this, I usually write a small, personal Pandas script that can convert between different formats. I have done this several times for the sake of converting from the Raven format to the Kaleidoscope format.
Feel free to write up a small template of how the ideal output would look like here in the comments, I'd be happy to include it in the code if you think it would make things easier.
I don't have an example on the machine I am on right now, though I can provide this screenshot from my PyHa repository:

Full documentation can be found here: https://www.wildlifeacoustics.com/images/documentation/Kaleidoscope-Pro-5-User-Guide.pdf starting on page 84 It would probably be best to aim for the id.csv data layout described in this documentation
Ok, so it seems like we need id, folder, in file, channel, offset, duration and manual id. Do you know if manual id is required? Can we call it BirdNET ID or similar?
@kahst It seems that there is quite a bit more information (column names) that we don't normally use that is compatible with Kaleidoscope. My educated guess is that you wouldn't get the same functionality renaming the MANUAL ID csv column to BirdNET ID.
My educated guess is that you wouldn't get the same functionality renaming the MANUAL ID csv column to BirdNET ID.
This is true in my experience. You have to use their "names".
Support was added by #77.