Tu jardín tiene más datos de los que crees

¿Cuántas especies distintas de aves pasan por tu patio cada día? Si tienes una Raspberry Pi sin usar y un micrófono USB, puedes responder esa pregunta de forma automática y cuantitativa. BirdNET Pi convierte tu Raspberry Pi en una estación de bioacústica: graba el audio del exterior 24/7, identifica las llamadas de aves usando un modelo de IA entrenado por el Cornell Lab of Ornithology, y publica los resultados en una interfaz web local. De forma opcional, también puede subirlos al mapa global de BirdWeather.

Al final de esta guía vas a tener tu Pi escuchando y clasificando aves en tiempo real, accesible desde el navegador de tu celular, con espectrogramas y grabaciones revisables. Y vas a entender los detalles que la mayoría de los tutoriales omiten: por qué el modelo es solo de 64 bits, qué micrófono comprar hoy en Chile, y cómo proteger el conjunto a la intemperie.

Interfaz web de BirdNET Pi mostrando el panel de detección en tiempo real

El requisito que rompe instalaciones: 64 bits obligatorio

Antes de partir, esto es lo más importante que debes saber: BirdNET Pi no funciona en Raspberry Pi OS de 32 bits. El modelo de TensorFlow Lite que usa está compilado para aarch64. Si instalas el script en una Pi corriendo Raspberry Pi OS de 32 bits, la instalación se queja al final con errores crípticos.

Lo que necesitas:

  • Raspberry Pi 3, 4 o 5 (la Pi 3 fue la primera con soporte de 64 bits oficial)
  • Raspberry Pi OS de 64 bits (Trixie o Bookworm), instalación limpia recomendada
  • Pi dedicada al proyecto: BirdNET Pi tiene servicios pesados (audio, modelo, web y base de datos SQLite), así que no le pongas otras cosas encima

Hardware: el micrófono USB importa más que el modelo de Pi

Una Pi 3B+ funciona perfectamente, no necesitas la Pi 5. Lo que realmente afecta la calidad de detección es el micrófono. Tres opciones según presupuesto:

Opción Tipo Ventaja Desventaja
Micrófono USB barato (~$5.000 CLP) Condensador omnidireccional Plug and play Recoge ruido ambiente
Lavalier USB (~$15.000 CLP) Lavalier con receptor USB Cable largo, fácil de colocar afuera Necesita protección
Tarjeta de sonido USB con cápsula electret Tarjeta USB más cápsula externa Modular, intercambiable Más cableado

Si vas a instalar afuera, planifica antes el gabinete a prueba de agua: una caja IP65 con un agujero pequeño y una membrana acústica (la espuma de un audífono roto sirve). Sin protección, la primera lluvia te mata el micrófono.

Setup paso a paso

1. Preparar el sistema

Asume que tienes Raspberry Pi OS de 64 bits limpio, micrófono USB conectado, e IP estática asignada vía reserva DHCP en tu router (no en /etc/dhcpcd.conf: la reserva en el router sobrevive a los reflasheos de la microSD).

Actualiza todo:

Bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl

2. Instalar BirdNET Pi

Un solo comando descarga el script de instalación y lo ejecuta. La instalación toma entre 15 y 30 minutos: descarga el modelo, instala dependencias de Python, configura nginx, los servicios systemd y SQLite. La Pi se reinicia automáticamente al terminar.

Bash
curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash

Si la instalación falla, lo más común es:

  • Falta de espacio en la microSD (necesitas mínimo 8 GB libres después de Raspberry Pi OS)
  • Estás en 32 bits (uname -m debe responder aarch64, no armv7l)
  • Conexión inestable a GitHub (vuelve a intentar)

3. Acceder a la interfaz web

Después del reinicio, obtén la IP de la Pi:

Bash
hostname -I

Abre en tu navegador http://<IP_DE_LA_PI>. La detección de aves arranca automáticamente. Para entrar a la configuración, busca el botón Tools en la esquina superior derecha.

Página principal de BirdNET Pi con el botón Tools destacado en la esquina superior derecha

4. Abrir la configuración

Dentro del menú Tools vas a ver varias opciones de administración. Haz clic en Settings para entrar a la pantalla de configuración principal.

Menú Tools de BirdNET Pi con el botón Settings destacado

Cuando se te pida, ingresa con el usuario birdnet (sin contraseña por defecto).

5. Configurar latitud y longitud (crítico)

La detección depende fuertemente del contexto geográfico: el modelo prioriza las especies probables en tu zona. Por defecto BirdNET Pi adivina tu ubicación por IP, lo que en Chile suele estar errado por cientos de kilómetros. Para corregirlo, en la pantalla de Settings:

  1. Completa los campos Latitude y Longitude (en Google Maps haz clic derecho sobre tu casa y copia las coordenadas).
  2. Si quieres subir tus detecciones al mapa global, pega tu BirdWeather Token en la sección BirdWeather (necesitas crear una cuenta gratuita en su sitio).
  3. Haz clic en Update Settings al final de la página.

Sección de Location y BirdWeather en la configuración de BirdNET Pi, con los campos de latitud, longitud y token destacados

6. Asegurar la interfaz de administración

Por defecto las páginas de administración solo piden el usuario birdnet sin contraseña, así que cualquiera en tu red local puede tocar la configuración. Para ponerle contraseña:

  1. Entra a Advanced Settings (botón al final de la página de Settings).
  2. Llena el campo Password (solo letras y números, sin símbolos especiales).
  3. Haz clic en Update Settings.

Cómo funciona internamente (lo que el tutorial original no explica)

BirdNET no es magia: es un modelo CNN (red neuronal convolucional) que recibe un espectrograma mel de 3 segundos de audio y devuelve probabilidades sobre más de 6.000 especies. La arquitectura es similar a EfficientNet, pero entrenada con muestras reales de Xeno Canto y librerías privadas del Cornell Lab.

El pipeline en tu Pi corre así, cada 3 segundos:

  1. Captura 3 segundos de audio del micrófono USB.
  2. Computa el espectrograma mel (FFT más bancos de filtros mel).
  3. Pasa la imagen resultante por la CNN.
  4. Las predicciones con confianza sobre el umbral (por defecto 0.7) se guardan en la base SQLite.
  5. Si BirdWeather está habilitado, sube la detección a la API.

Por eso necesitas 64 bits: el modelo está cuantizado a int8 y compilado contra librerías aarch64 específicas.

Variantes y mejoras

Cosas que el tutorial original no menciona y que son prácticas en el día a día:

  • Backup automático de la base SQLite a un NAS o a la nube: las grabaciones se acumulan rápido. Un script bash más rclone te las copia cada noche y libera la microSD.
  • Notificación a Telegram cuando aparece una especie rara: BirdNET Pi tiene webhooks. Si llega una detección con score sobre 0.85 de una especie poco común en tu zona, te llega un push al celular. Útil para observadores de aves serios.
  • Visualización histórica con Grafana: como BirdNET Pi guarda las detecciones en SQLite, puedes exponerlas a Grafana con un datasource SQLite y armar dashboards mensuales o anuales (especies por hora del día, tendencias estacionales).

Personalización para Chile

Componentes con stock local en MechatronicStore para completar este proyecto:

  • Micro SD tarjeta de memoria 64 GB ($11.990 CLP). Necesitas mínimo 32 GB; 64 GB te da espacio para meses de grabaciones.
  • Cable de Red Ethernet 1.5 mt ($2.990 CLP). Muy recomendado: el procesamiento de audio sobre WiFi puede causar cortes, y el cable Ethernet elimina ese factor.
  • Caja Plástica para proyectos 120x120x90 mm ($4.290 CLP). Base para el gabinete a prueba de agua: le agregas espuma más una membrana acústica casera.

Para el micrófono USB en sí, cualquier lavalier USB o webcam con micrófono (incluso vieja, sin video) sirve. No necesitas un micrófono de estudio. Y si ya tienes una Raspberry Pi 3, 4 o 5 de proyectos anteriores, la reutilizas tal cual.

Recursos

Versión chilena con componentes en stock local en MechatronicStore.