Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,71 +1,96 @@
|
|
| 1 |
---
|
| 2 |
-
language:
|
|
|
|
| 3 |
license: mit
|
| 4 |
tags:
|
| 5 |
- bioacoustics
|
| 6 |
- audio-classification
|
|
|
|
|
|
|
|
|
|
| 7 |
- protoclr
|
| 8 |
- unsupervised-learning
|
| 9 |
- umap
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
metrics:
|
| 11 |
- clustering_density
|
| 12 |
pipeline_tag: audio-classification
|
|
|
|
|
|
|
|
|
|
| 13 |
---
|
| 14 |
|
| 15 |
-
# 🦅
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
|
| 21 |
-
--
|
| 22 |
|
| 23 |
-
|
| 24 |
|
| 25 |
-
|
| 26 |
|
| 27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
---
|
| 30 |
|
| 31 |
-
## 🛠️ Integrated
|
| 32 |
-
|
| 33 |
-
When you open the unified application notebook, you gain instant access to two distinct software modules running concurrently in your runtime memory:
|
| 34 |
|
| 35 |
-
### 1. 🎙️
|
| 36 |
-
* **
|
| 37 |
-
* **
|
| 38 |
-
* **Strict
|
| 39 |
|
| 40 |
-
### 2. 🎵 168-Species
|
| 41 |
-
* **
|
| 42 |
-
* **
|
| 43 |
-
* **On-Demand Memory Playback:** Strips, normalizes, and re-inflates targeted binary files directly in your browser, generating an instant, interactive HTML5 playback controller strip.
|
| 44 |
|
| 45 |
---
|
| 46 |
|
| 47 |
-
##
|
| 48 |
|
| 49 |
-
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
-
|
| 52 |
-
*
|
|
|
|
|
|
|
|
|
|
| 53 |
|
| 54 |
---
|
| 55 |
|
| 56 |
-
##
|
| 57 |
-
> ### ⚠️ The Real-World Challenge: Domain Shift
|
| 58 |
-
> When transitioning from a prototype to a commercial smartphone application (competing directly with industry standards like Cornell's Merlin bird app), training purely on pristine, studio-quality wildlife recordings creates a severe data distribution mismatch. Real-world users record audio using cheap smartphone microphones inside reflective environments filled with city static.
|
| 59 |
-
|
| 60 |
-
To bridge this gap and engineer an production-grade model, the next phase requires implementing **In-Pipeline Data Augmentation**. Instead of feeding the transformer clean audio vectors, we intentionally corrupt the training data before it hits the Vision Transformer layers. This forces the neural network to ignore environmental noise and focus strictly on underlying biological frequency shapes.
|
| 61 |
-
|
| 62 |
-
| Augmentation Strategy | Technical Implementation Mechanism | Operational Objective |
|
| 63 |
-
| :--- | :--- | :--- |
|
| 64 |
-
| **Additive White Noise** | Inject Gaussian white noise arrays directly into the audio tensors at variable Signal-to-Noise Ratios (SNRs) using `torch.randn_like(waveform)`. | Simulates wind rustle, rain interference, and atmospheric outdoor friction. |
|
| 65 |
-
| **Convoluted Reverb** | Convolve the raw bird audio waveforms with real-world Impulse Response (IR) files representing physical spaces via `torchaudio.functional.fftconvolve`. | Digitally simulates sound waves bouncing off hard bedroom walls or tree canopies, neutralizing acoustic room coloration. |
|
| 66 |
-
| **Dynamic Low-Pass Filtering** | Apply biquad low-pass frequency cuts (`torchaudio.functional.lowpass_biquad`) with randomized cutoff frequencies between 4kHz and 8kHz. | Artificially muffles high-frequency harmonics to match the hardware response limits of budget phone microphones. |
|
| 67 |
|
| 68 |
-
|
|
|
|
| 69 |
|
| 70 |
---
|
| 71 |
-
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- en
|
| 4 |
license: mit
|
| 5 |
tags:
|
| 6 |
- bioacoustics
|
| 7 |
- audio-classification
|
| 8 |
+
- bird-sound-identification
|
| 9 |
+
- digital-signal-processing
|
| 10 |
+
- dsp
|
| 11 |
- protoclr
|
| 12 |
- unsupervised-learning
|
| 13 |
- umap
|
| 14 |
+
- hdbscan
|
| 15 |
+
- data-augmentation
|
| 16 |
+
- audio-transformers
|
| 17 |
+
- pytorch
|
| 18 |
+
datasets:
|
| 19 |
+
- ilyassmoummad/Xeno-Canto-6s-16khz
|
| 20 |
metrics:
|
| 21 |
- clustering_density
|
| 22 |
pipeline_tag: audio-classification
|
| 23 |
+
library_name: pytorch
|
| 24 |
+
co2_eq_emissions:
|
| 25 |
+
emissions: 0.01
|
| 26 |
---
|
| 27 |
|
| 28 |
+
# 🦅 Global Bioacoustic Audio Classification Engine & Interactive Avian Jukebox
|
| 29 |
|
| 30 |
+
[](https://colab.research.google.com/drive/1EL5VS_vAKvojPf5UPuQVFbK5gkgP51hB?usp=sharing)
|
| 31 |
+
[](https://huggingface.co/sukriramli/tiny-bird-diffusion)
|
| 32 |
+
[](https://xeno-canto.org)
|
| 33 |
|
| 34 |
+
This open-source machine learning repository hosts a **Decoupled Bioacoustic Artificial Intelligence Pipeline** designed for automated wild avian species identification, semantic frequency clustering, and on-demand audio streaming.
|
| 35 |
|
| 36 |
+
By utilizing self-supervised **Vision Transformers (ProtoCLR)** combined with multi-dimensional manifold learning algorithm arrays (**UMAP / HDBSCAN**), this system maps wild audio waveforms into an interactive, high-density geometric coordinate map spanning **168 unique biological species** and **149 autonomous eco-acoustic clusters**.
|
| 37 |
|
| 38 |
+
---
|
| 39 |
|
| 40 |
+
## 🔍 Core Machine Learning Architecture
|
| 41 |
+
|
| 42 |
+
```
|
| 43 |
+
[Live Microphone / Jukebox Audio Input]
|
| 44 |
+
│
|
| 45 |
+
▼
|
| 46 |
+
[DSP Noise Filters & Dynamic Energy VAD]
|
| 47 |
+
│
|
| 48 |
+
▼
|
| 49 |
+
[ProtoCLR Vision Transformer] -> Extracts 512-D Latent Embeddings
|
| 50 |
+
│
|
| 51 |
+
▼
|
| 52 |
+
[UMAP Decomposition] -> Reduces Dimensionality to 2D Coordinates
|
| 53 |
+
│
|
| 54 |
+
▼
|
| 55 |
+
[HDBSCAN Density Profiler] -> Maps Target Vector to Biological Class
|
| 56 |
+
```
|
| 57 |
|
| 58 |
---
|
| 59 |
|
| 60 |
+
## 🛠️ Integrated System Capabilities
|
|
|
|
|
|
|
| 61 |
|
| 62 |
+
### 1. 🎙️ Real-Time DSP Microphone Classification Agent
|
| 63 |
+
* **Digital Signal Processing (DSP):** Utilizes hardware-level browser processing layers—including `autoGainControl`, `noiseSuppression`, and `echoCancellation`—to strip room echoes and isolate target signals over ambient noise floors.
|
| 64 |
+
* **Intelligent Energy Voice Activity Detector (VAD):** Employs an automated, sliding-window amplitude tracking script that captures 6 seconds of streaming data and extracts the peak continuous 3-second biological wave slice, bypassing initial track silence.
|
| 65 |
+
* **Strict Safety Distance Guard:** Implements a strict mathematical Euclidean proximity boundary gate (`Fail Limit: 0.8`) to accurately classify environmental artifacts as `NO BIRD DETECTED` rather than generating false-positive taxonomic assignments.
|
| 66 |
|
| 67 |
+
### 2. 🎵 168-Species Global Streaming Jukebox
|
| 68 |
+
* **On-Demand Archive Bypassing:** Employs low-level Python network streaming hooks to parse metadata indexes without downloading massive multi-gigabyte source dataset archives.
|
| 69 |
+
* **Native HTML5 Media Injection:** Resolves unique Xeno-Canto sound registration tokens dynamically from database CSV dictionaries to serve real-time, interactive stream wrappers directly to client UI components.
|
|
|
|
| 70 |
|
| 71 |
---
|
| 72 |
|
| 73 |
+
## 📊 Telemetry and Real-World Domain Validation
|
| 74 |
|
| 75 |
+
| Operational Testing Profile | Input Stream Channel | Target Mapping Accuracy | System Development Status |
|
| 76 |
+
| :--- | :--- | :--- | :--- |
|
| 77 |
+
| **Direct Digital Vector Injection** | Pure Data Shard Bitstream | **~100% Deterministic** | Production-Ready / Fully Verified |
|
| 78 |
+
| **Live Microphone Array Capture** | Physical Ambient Speakers | **Variable (Acoustic Domain Shift)** | Experimental / In Active Optimization |
|
| 79 |
|
| 80 |
+
### 🧪 Overcoming Acoustic Domain Shift via Data Augmentation
|
| 81 |
+
To resolve hardware-level **Acoustic Coloration** (where phone/laptop speakers distort frequency bands and wall reflections smear mel spectrogram visual layouts), the cloud-streaming data pipeline features an inline data corruption model simulating physical field acoustics:
|
| 82 |
+
* **White Noise Convolution:** Adds a `0.008` Gaussian static overlay to simulate environmental wind friction.
|
| 83 |
+
* **Convoluted Echo Reverb:** Generates a 60-millisecond audio frame delay buffer to mimic indoor wall reflection dynamics.
|
| 84 |
+
* **Biquad Low-Pass Muffling:** Dynamically clips audio high-frequencies at `4500Hz` to simulate low-performance mobile microphone hardware constraints.
|
| 85 |
|
| 86 |
---
|
| 87 |
|
| 88 |
+
## 📁 Documented Repository Assets
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
|
| 90 |
+
* `trained_cluster_brain.joblib`: Python dictionary package containing the pre-fit multi-dimensional UMAP manifold transformers and HDBSCAN mathematical coordinate boundaries.
|
| 91 |
+
* `acoustic_atlas_metadata.csv`: Normalized relational datatables mapping deep network vector identifiers directly to scientific taxonomy classifications.
|
| 92 |
|
| 93 |
---
|
| 94 |
+
### 🤖 Crawler Semantics and Semantic Graph Index
|
| 95 |
+
* **Primary Search Intents:** Python audio classification, bird sound identification AI, self-supervised bioacoustics, UMAP dimensional reduction, HDBSCAN audio clustering, PyTorch Mel Spectrogram processing.
|
| 96 |
+
* **Geographical Application:** Scaled for global ecosystem deployments using Xeno-Canto repository data structures. Optimized for high-speed performance across edge networks.
|