-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Currently, we are able to run audio tools on two levels: from the spectrogram player and from the dashboard recordings table.
We need to generalise the implementation of tools, by allowing users to run any tool on either collections, recordings (or time- and frequency-bound snippets of those), or tags (#611 ), from the dashboard or the spectrogram player.
The detection of the corresponding libraries or tools installed within the python architecture module should be automatic, as well as the extraction of the metadata of the packages and the contained functions (e.g. package name, name, description, input parameters) so that the users can choose the appropriate one. This should facilitate future updates by requiring less hard-coding.
Currently, these are the available tools and how they should be categorised:
Pre-processing:
- resampling (built-in, SoX?)
- band-pass/low-pass/high-pass filtering (built-in, SoX?)
Visualisation:
- FFT generation (built-in, py script)
- waveform generation (Waveform display #373 )
Analysis:
- all Alpha acoustic indices (scikit-maad)
- all other acoustic features of scikit-maad (implement remaining scikit-maad acoustic feature functions #629 )
- Frequency of maximum energy (built-in function)
Annotation:
- BirdNET vX.X
- batdetect2 v1.X
- insect model (Add custom insect ML model #562 )
- template matching (scikit-maad)
The user should be able to select the category in the modal (or four buttons could be offered for different modals), and also be able to search the functions based on their names and their description (Example: temporal_median - Computes the median of the envelope of an audio signal). Links to the original documentation should be provided. Several aspects remind us of the current acoustic index modal.
The execution of the functions found within each category will lead to different outputs: Pre-processing will create sound files that need to be stored in new sound collections; Visualisation will create images/matrices that could be stored in tables; Analysis will create text or matrices that needs to be stored similarly to the current IndexLogs; Annotation will create tags.