Las señales acústicas animales son ampliamente utilizadas en diversas áreas de investigación debido a la facilidad con la que se pueden registrar en una gran variedad de grupos taxonómicos y escenarios de investigación. Sin embargo, la investigación bioacústica puede generar grandes conjuntos de datos que pueden ser difíciles de analizar manualmente. Por eso, hay muchas herramientas disponibles para la detección automática de sonidos, pero elegir el método adecuado puede ser difícil y solo algunas herramientas proporcionan un marco para evaluar el rendimiento de la detección. Cabe aclarar que el uso de las herramientas de deteccion automatica van a depender de los objetivos y la pregunta de investigación.
ohun es un paquete de R que facilita la detección automática de eventos sonoros en bioacústica. Ofrece funciones para diagnosticar y optimizar las rutinas de detección, comparar el rendimiento entre diferentes enfoques y evaluar la precisión en la localización temporal de los eventos.
Análisis de detección: El paquete usa anotaciones de referencia que contienen la posición temporal de los sonidos objetivo en un conjunto de datos de entrenamiento para evaluar el rendimiento de las rutinas de detección usando índices comunes de la teoría de detección de señales. Esto se puede hacer tanto con las salidas de rutina importadas de otro software como con las detecciones realizadas dentro del paquete.
Métodos de detección: El paquete también incluye métodos de detección basados en la energía y en plantillas, dos enfoques automáticos comúnmente utilizados en la investigación bioacústica. En el articulo del paqute muestran ejemplos de cómo usar ohun para detectar automáticamente señales vocales con estudios de caso de canciones de machos adultos de pinzón cebra Taenopygia gutata y llamadas sociales ultrasónicas del murciélago de disco de Spix Thyroptera tricolor, principalmente llamados de consulta. Nosotros evaluaremos el desempeño del paquete para llamados de consulta de Thyroptera tricolor.
APLICACIONES A OTROS CAMPOS DE LA BIOLOGÍA
Neurobiologia y comportamiento: se puede utilizar para responder preguntas sobre el comportamiento vocal en distintos contextos. Como por ejemplo en el aprendizaje vocal de los pericos Melopsittacus undulatus en donde se utilizó la función optimize_energy_detector para generar umbrales basados en la amplitud, rango de frecuencia y parámetros de duración y mejorar la detección de las vocalizaciones requeridas para este estudio. Con eso lograron determinar que los individuos viejos mantienen niveles de aprendizaje equivalentes a los de los adultos jóvenes (Moussaoui et al., 2023).
Ecología de comnidades: se podrían usar las funciones de detección por plantillas (template detection) para detectar las vocalizaciones de las especies que se encuentran en un sitio específico. Para esto se debe de tener primero referencias acústicas de las especies que podrían encontrarse en el sitio y luego compararlas con las obtenidas.
Ecoacústica y Conservación: la Ecoacústica estudia la relación que tienen los sonidos, los seres vivos y su entorno. Y se puede emplear el paquete de las misma forma que la Ecologia de Comunidades y terminar complementando con otros programas o paquetes de índices de diversidad acústica. Además, en conservación podria usarse la función optimize_energy_detector para detectar sonidos fuera de los patrones normales de la naturaleza como el sonido de una motosierra, disparos de armas, maquinaria, etc., para monitoreo y manejo de áras protegidas.
#Paquetes necesarios library(ohun)
Please cite 'ohun' as:
Araya-Salas, M., Smith-Vidaurre, G., Chaverri, G., Brenes, J. C., Chirino, F., Elizondo-Calvo, J., & Rico-Guevara, A. 2023. ohun: an R package for diagnosing and optimizing automatic sound event detection. Methods in Ecology and Evolution. https://doi.org/10.1111/2041-210X.14170
Primero se deben descargar los datos proporcionados por el ejemplo del paquete, que viene con una tabla de referencia de ejemplo que contiene anotaciones de cantos de colibríes ermitaños de pico largo de dos archivos de sonido. Los datos de ejemplo se pueden cargar y explorar de la siguiente manera:
# Cargar los datos de ejemplo del paquetedata("lbh1", "lbh2", "lbh_reference")# descargar los archivos de audiotuneR::writeWave(lbh1, file.path(tempdir(), "lbh1.wav"))tuneR::writeWave(lbh2, file.path(tempdir(), "lbh2.wav"))# seleccionar un subset de los datoslbh2_reference <- lbh_reference[lbh_reference$sound.files =="lbh2.wav",]lbh2_reference
Object of class 'selection_table'
* The output of the following call:
`[.selection_table`(X = lbh_reference, i = lbh_reference$sound.files == "lbh2.wav")
Contains: * A selection table data frame with 9 rows and 6 columns:
* A data frame (check.results) generated by check_sels() (as attribute)
created by warbleR < 1.1.21
Luego se puede graficar el espectrocrama con las seleciones de referencia, otros paquetes que se pueden usar para graficar espectrogramas son seewavetuneR o dynaSpec
La función get_templates() sirve para encontrar una plantilla más cercana a la estructura acústica promedio de los eventos sonoros en una tabla de referencia. Esto se hace encontrando los eventos sonoros más cercanos al centroide del espacio acústico. El fundamento de esto es que un evento sonoro más cercano a la estructura acústica promedio tiene más probabilidades de compartir características estructurales con la mayoría de los sonidos en el espacio acústico que un evento sonoro en la periferia del espacio. Estas plantillas de “estructura media” se pueden obtener de la siguiente manera:
# get mean structure templatetemplate <-get_templates(reference = lbh2_reference, path =tempdir())
The first 2 principal components explained 0.58 of the variance
Luego se va a ejecutar una detección en los datos de ejemplo ‘lbh1’
# primero se optienen las correlacionescorrelations <-template_correlator(templates = template,files ="lbh2.wav",path =tempdir())correlations
Object of class 'template_correlations'
* The output of the following template_correlator() call:
* Contains 1 correlation score vector(s) from 1 template(s):
lbh2.wav-6
... and 1 sound files(s):
lbh2.wav
* Created by ohun 1.0.0
# A Partir de correlations se pueden detectar eventos de sonidos detection <-template_detector(template.correlations = correlations, threshold =0.7)detection