Overview
SonoWing (v1.1.0) is an open-source native Rust bioacoustics workbench built for analyzing bat echolocation calls, bird songs, and full-spectrum ecological soundscapes. Studying nocturnal bats or dense dawn choruses requires inspecting ultrasonic frequencies well above human hearing (up to 250 kHz and beyond), extracting individual call contours, tracking harmonic overtones, and clustering hundreds of field recordings by acoustic similarity. Many field biologists rely on fragmented proprietary viewers or slow scripts to open large WAV files with embedded GUANO metadata. SonoWing brings high-speed STFT spectrograms, automated call extraction, harmonic ridge tracking, MFCC/UMAP acoustic clustering, ecoacoustic diversity indices, live microphone monitoring, and GUANO-compliant WAV export into one safe-Rust desktop studio. Source code, documentation, and companion apps are listed at https://crvscience.com/apps.
1. Real-World Context & Why This Problem Matters
Seeing Ultrasonic Wildlife Calls That Humans Cannot Hear
Every night above forests, wetlands, rivers, and farmlands, bats navigate and hunt using rapid frequency-modulated and constant-frequency ultrasonic pulses sweeping between 20 kHz and 150 kHzโfar above the 20 kHz ceiling of human hearing. At dawn, songbirds layer complex harmonic phrases across overlapping audible frequency bands. Passive acoustic monitors deployed in the field now capture terabytes of full-spectrum audio across entire seasons, turning wildlife monitoring into a challenge of rapid visual inspection, standardized metadata management, and quantitative feature extraction.
Field ecologists, wind-energy monitors, and conservationists need tools that can compute crisp spectrograms instantaneously, isolate individual pulses from background wind or insect noise, measure start, end, peak, and slope frequencies, summarize community-level soundscape indices[1], and group unfamiliar calls objectively[2]. SonoWing delivers a fast, self-contained Rust desktop console tailored for both ultrasonic bat surveys and audible avian bioacoustics.
Think of SonoWing as an acoustic microscope paired with a structured field notebook: time-expansion synthesis slows 100 kHz bat chirps down into audible clicks our ears can follow, while embedded GUANO wildlife tags and SQLite sessions keep every survey measurement organized and traceable.
Unified Waveform, Spectrogram, Harmonic, and Cluster Inspection
SonoWing (v1.1.0) pairs a bundled 250 kHz Pacific Northwest Myotis lucifugus demo recording and synthetic echolocation presets with real-time FFT spectral analysis, GUANO metadata reading and writing, and local SQLite session storage. Because the entire DSP and GUI stack compiles natively in safe Rust, field biologists can inspect large ultrasonic recordings on standard laptops without internet access or expensive proprietary licenses.
Equally important in acoustic ecology is bridging raw signal physics with biological interpretation. A bat navigating through dense forest clutter emits steep, broadband frequency-modulated chirps lasting only a few milliseconds so it can resolve nearby branches accurately, whereas an open-sky forager uses longer, narrower-band calls tuned for long-range insect detection. By displaying the time-domain envelope, full-spectrum STFT spectrogram, extracted pulse parameters, harmonic overtone ridges, and MFCC cluster embeddings inside one synchronized workspace, SonoWing lets researchers and students connect acoustic geometry directly to foraging ecology and species behavior without juggling multiple disconnected viewers.
2. Conceptual Design & How SonoWing Works
DSP Spectrograms, Harmonic Tracking, and MFCC/UMAP Clustering
SonoWing's 15-module signal-processing pipeline starts in wav_guano.rs and dsp.rs, decoding uncompressed PCM WAV recordings up to 250 kHz+ along with embedded GUANO wildlife metadata chunks (species tags, detector model, coordinates, and timestamps) and computing configurable Hann-windowed STFT spectrograms with adjustable FFT sizes and overlap. Individual acoustic pulses are segmented automatically by call_extractor.rs, while harmonic_tracker.rs traces fundamental frequencies alongside second and third harmonic ridges.
For multi-call comparison and landscape-scale soundscape analysis, mfcc_cluster.rs extracts Mel-frequency cepstral coefficients and projects calls onto 2D UMAP-style similarity maps, while soundscape_indices.rs calculates the Acoustic Complexity Index (ACI)[1], bioacoustic entropy, and frequency-band occupancy across time windows.
Additional modulesโtaxa_library.rs, synth_presets.rs, ultrasonic_audio.rs, live_mic.rs, exporters.rs, storage.rs, and gui.rsโprovide regional bat and avian species reference profiles, synthetic ultrasonic/audible test presets, time-expanded ultrasonic playback, live microphone input monitoring via cpal, CSV/PNG/WAV exports, and SQLite session management. Core signal correctness is verified by tests/bioacoustic_suite.rs (5/5 bioacoustic checks passing).
In addition to analyzing pre-recorded field detectors, SonoWing's built-in synthetic call generator lets instructors and field technicians test spectrogram settings against clean, known frequency-modulated sweeps, constant-frequency pulses, and multi-harmonic bird whistles before heading out into the field. Combining live microphone capture with calibrated synthetic benchmarks helps teams verify dynamic range, clipping thresholds, and window-overlap trade-offs directly on the laptop they plan to carry to the survey site.
| Module / Crate | What It Does | Citation |
|---|---|---|
dsp.rs & wav_guano.rs | STFT spectrogram engine, windowing, and WAV PCM decoder/encoder with GUANO wildlife metadata. | Araya-Salas & Smith-Vidaurre (2016) [2] |
call_extractor.rs & harmonic_tracker.rs | Automated pulse segmentation and fundamental/overtone harmonic ridge contour tracking. | Araya-Salas & Smith-Vidaurre (2016) [2] |
mfcc_cluster.rs & soundscape_indices.rs | MFCC feature extraction, 2D call clustering, Acoustic Complexity Index (ACI), and band entropy. | Pieretti et al. (2011) [1] |
taxa_library.rs & synth_presets.rs | Reference bat and avian call profiles plus synthetic ultrasonic/audible test presets. | CRV Science Apps Network [3โ19] |
ultrasonic_audio.rs & live_mic.rs | Time-expanded ultrasonic audio synthesis and live microphone input monitoring via cpal. | CRV Science Apps Network [3โ19] |
gui.rs, exporters.rs & storage.rs | Interactive spectrogram canvas, CSV/WAV export, and SQLite session persistence. | CRV Science Apps Network [3โ19] |
3. Walkthrough of Capabilities & Quantitative Findings
Extracting Call Contours and Separating Acoustic Guilds
Loading the bundled 250 kHz Willamette Valley Myotis recording immediately displays crisp downward-sweeping FM echolocation pulses in the spectrogram viewer alongside synchronized time-domain waveform peaks. Running the automated call extractor isolates each pulse's start frequency, end frequency, minimum and maximum bounds, peak-energy frequency, and duration, while the harmonic tracker separates fundamental sweeps from second and third overtone energy so researchers can distinguish rapid terminal foraging buzzes from steady search-phase calls.
Across longer multi-minute or multi-night soundscapes, the MFCC clustering view groups similar call shapes together[2] so analysts can spot distinct acoustic guilds or candidate species clusters visually, while the ecoacoustic index panel quantifies how avian dawn choruses or nocturnal bat passes shift across frequency bands[1].
Users can also adjust time-expansion ratios (such as 10x slowdown) to audition ultrasonic sequences through ordinary headphones, compare unknown field pulses against reference taxon envelopes in taxa_library.rs, and export clean CSV call tables alongside GUANO-annotated WAV snippets. Every spectral transform, pulse boundary, and cluster coordinate flows directly from deterministic Rust DSP code rather than opaque heuristics.
Walking through a field recording in SonoWing demonstrates how quickly raw detector audio turns into structured ecological evidence. Opening the bundled 250 kHz Pacific Northwest Myotis WAV file immediately decodes embedded GUANO survey tagsโshowing site coordinates, sample rate, and detector metadataโwhile rendering the synchronized waveform and Hann-windowed STFT spectrogram. Adjusting FFT window length lets an analyst trade time sharpness for frequency precision, clearly resolving steep downward frequency-modulated sweeps from 85 kHz down to 40 kHz alongside fainter second-harmonic ridges above. Clicking the call extractor automatically segments every pulse above the noise floor, tabulating duration, minimum and maximum frequencies, peak energy frequency, and spectral slope into an inspectable table. Switching to the soundscape and clustering panels computes Acoustic Complexity Index (ACI) scores[1] across dawn or nocturnal bands and projects extracted MFCC call vectors onto a 2D similarity map[2], visually separating search-phase cruising calls from rapid feeding buzzes or neighboring species guilds. Exporting the annotated subset preserves GUANO tags intact so downstream archival repositories keep complete provenance.
| Subsystem | Verified Scope | Suite Result |
|---|---|---|
| GUANO WAV & STFT | 250 kHz PCM WAV decoding & Hann-windowed STFT | Verified in tests/bioacoustic_suite.rs |
| Calls & Harmonics | Pulse segmentation & 2nd/3rd harmonic ridge tracking | 5/5 bioacoustic checks passed |
| Clustering & Indices | MFCC/UMAP grouping, ACI & time-expanded audio | 15 Rust modules (v1.1.0) |
4. Practical Scenarios: Who Uses SonoWing & How
Wildlife Surveys, Wind-Energy Monitoring, and Bioacoustics Labs
Bat biologists, wildlife agencies, and environmental consultants use SonoWing to inspect ultrasonic detector recordings, measure call bandwidth and slope against regional species libraries, and preserve GUANO survey metadata cleanly during exports. Pre-construction wind-energy and forestry acoustic surveys benefit from fast offline triage of full-spectrum WAV archives. Rather than waiting on remote cloud uploads or manually scrolling through hours of silent night intervals, biologists can scan overnight recordings in seconds, isolate high-activity passes, verify harmonic overtone signatures against regional species envelopes, and export clean call-metric CSVs ready for regulatory review. Paired with reproducible SQLite worksets and crisp PNG spectrogram snapshots, SonoWing gives both seasoned bioacousticians and university field classes a reliable, transparent acoustic workstation.
University ecology and signal-processing courses use the synthetic call presets and real-time spectrogram controls to teach Fourier time-frequency resolution trade-offs, harmonic structure, and acoustic niche partitioning. Because SonoWing runs completely offline in native Rust without external runtime dependencies, it works equally well in remote field stations and teaching computer labs. Instructors can project live 250 kHz spectrograms during lectures, toggle Hann window sizes to show uncertainty-principle blurring in real time, and let students extract pulse durations and peak frequencies directly from the built-in Myotis demo recording.
For conservation volunteers, nature-center educators, and backyard wildlife listeners, SonoWing also makes an invisible nocturnal world approachable. Most people walk outside at dusk without realizing the airspace overhead is filled with dozens of distinct ultrasonic chirps, sweeps, and feeding buzzes every minute. Opening a 250 kHz detector file in SonoWing reveals those hidden echoes immediately as crisp color-mapped arcs across the spectrogram, while time-expansion playback translates high-pitched bat navigation into clear audible clicks. Listeners can compare the steep frequency-modulated sweeps of cluttered-forest Myotis bats against flatter, lower-frequency open-air cruisers, or switch to audible bird-song recordings to see how dawn-chorus species divide frequency bands to avoid masking one another's calls.
Meanwhile, keeping GUANO metadata intact throughout inspection and export solves one of the most common headaches in community bioacoustics. Instead of losing site coordinates, microphone height, or species annotations inside separate spreadsheets, every trimmed clip and CSV summary exported from SonoWing carries standardized provenance fields ready for regional biodiversity archives. Whether reviewing a single nocturnal foraging pass or clustering hundreds of dawn-chorus phrases across an entire season, biologists keep every spectrogram measurement, harmonic contour, and ecoacoustic index linked cleanly to its original recording.
5. Open Access & Connections Across the CRV Science App Network
Open Access and Connections Across the CRV Science App Network
SonoWing is dual-licensed under MIT or Apache-2.0 with full Rust source code, unit and bioacoustic integration suites, and a 250 kHz demo WAV recording on GitHub. Every exported CSV, spectrogram PNG, and GUANO WAV retains full measurement traceability. By combining fast Hann-windowed spectral rendering, automated call extraction, harmonic overtone tracking, and MFCC acoustic clustering inside one offline executable, SonoWing removes the friction that often separates field recording from quantitative biodiversity analysis.
Across the CRV Science Apps suite[3โ19], SonoWing complements AeroFlyway's continental nocturnal flight-call and Doppler radar migration framework, PopBio-Studio's population-dynamics and haplotype-network tools, and OSABT's field biostatistics calculators. Ecologists, educators, and wildlife volunteers can move seamlessly from acoustic call measurements to broader habitat and population studies using consistent open data formats.
References
- [1] Pieretti, N., Farina, A., & Morri, D. (2011). A new methodology to infer the singing activity of an avian community: The Acoustic Complexity Index (ACI). Ecological Indicators. https://doi.org/10.1016/j.ecolind.2010.11.005
- [2] Araya-Salas, M., & Smith-Vidaurre, G. (2016). warbleR: an r package to streamline analysis of animal acoustic signals. Methods in Ecology and Evolution. https://doi.org/10.1111/2041-210x.12624
- [3] White, B. P. (2026). The CRV Science App Network: Seventeen Open-Source Rust Programs for Science, Data, and Simulation. CRV Science App Preprint APP-PREPRINT-01 [cs.SE, cs.CE, q-bio.QM], v1.0.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222398
- [4] White, B. P. (2026). AeroFlyway: Tracking Bird Migration with Weather Radar, Skyglow Maps, and Nighttime Flight Calls. CRV Science App Preprint APP-PREPRINT-13 [q-bio.PE, physics.ao-ph, cs.GR], v0.6.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222366
- [5] White, B. P. (2026). BeoFold: Simulating How Proteins Fold Using Distributed Computing and State Networks. CRV Science App Preprint APP-PREPRINT-02 [q-bio.BM, physics.chem-ph, cs.DC], v1.4.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222370
- [6] White, B. P. (2026). Calc-Lab: Interactive Calculus, Linear Algebra, and Differential Equation Solver Workbench. CRV Science App Preprint APP-PREPRINT-03 [math.NA, cs.MS, cs.CY], v0.5.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222372
- [7] White, B. P. (2026). Causal-Atlas: Tracing How Genes and Drugs Turn Biological Pathways On and Off. CRV Science App Preprint APP-PREPRINT-04 [q-bio.MN, q-bio.GN, stat.ML], v0.2.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222376
- [8] White, B. P. (2026). Cit-Atlas: Mapping Citation Networks and Research Impact Across Scientific Papers. CRV Science App Preprint APP-PREPRINT-05 [cs.DL, cs.SI, physics.soc-ph], v1.8.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222380
- [9] White, B. P. (2026). EpiLedger: Privacy-Safe Disease Tracking, Clinical Text Screening, and Outbreak Monitoring. CRV Science App Preprint APP-PREPRINT-06 [cs.CR, q-bio.PE, stat.AP], v2.0.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222382
- [10] White, B. P. (2026). ITME: Simulating Four Billion Years of Life, Oceans, and Atmosphere Evolution. CRV Science App Preprint APP-PREPRINT-07 [q-bio.PE, nlin.AO, physics.bio-ph], v2.3.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222386
- [11] White, B. P. (2026). OSABT: All-in-One Toolkit for Plant Physiology, Survival Curves, Genetics, and Enzyme Kinetics. CRV Science App Preprint APP-PREPRINT-08 [q-bio.QM, stat.AP, cs.SE], v2.0.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222388
- [12] White, B. P. (2026). SAR-Atlas: Drug Design, Body Distribution Modeling, and Candidate Screening in Rust. CRV Science App Preprint APP-PREPRINT-09 [physics.chem-ph, q-bio.BM, cs.LG], v3.8.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222390
- [13] White, B. P. (2026). TerraTwin: Fast Climate Projections for Global Warming, Sea-Level Rise, and Arctic Change. CRV Science App Preprint APP-PREPRINT-10 [physics.ao-ph, cs.CE, stat.AP], v2.5.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222392
- [14] White, B. P. (2026). Urban-Grid: Modeling City Traffic, Emergency Response Coverage, and Earthquake Evacuation. CRV Science App Preprint APP-PREPRINT-11 [physics.soc-ph, cs.MA, cs.CE], v5.2.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222394
- [15] White, B. P. (2026). WildFront BattleGrounds: Turn-Based Hex Strategy Game with Voxel Graphics and Procedural Map Generation. CRV Science App Preprint APP-PREPRINT-12 [cs.GT, cs.GR, math.CO], v3.4.1. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24222396
- [16] White, B. P. (2026). HelioProbe: Simulating Spacecraft Orbits, Deep-Space Telescopes, and Comet Tails in 3D. CRV Science App Preprint APP-PREPRINT-14 [astro-ph.EP, astro-ph.IM, cs.GR], v2.3.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24244083
- [17] White, B. P. (2026). PopBio-Studio: Interactive Population Biology, Adaptive Landscapes, and Genetic Skyline Simulator. CRV Science App Preprint APP-PREPRINT-15 [q-bio.PE, q-bio.QM, stat.AP], v1.2.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24244085
- [18] White, B. P. (2026). QuantaCrypt-Studio: Simulating Quantum Circuits, Quantum Key Distribution, and Post-Quantum Cryptography. CRV Science App Preprint APP-PREPRINT-16 [quant-ph, cs.CR, cs.MS], v2.2.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24244089
- [19] White, B. P. (2026). SwarmForge: 3D Isometric Automated Factory and Swarm Robotics Simulation Game. CRV Science App Preprint APP-PREPRINT-18 [cs.MA, cs.RO, cs.GT], v1.3.0. Hosted via CRV Science Apps Hub (https://crvscience.com/apps). https://doi.org/10.5281/zenodo.24244093