Translate acoustic environments into text descriptions for agents. Sound events, voice activity, ambient profiles, and alerts — all as human-readable strings.
Part of the Plato ecosystem.
- AcousticScene — summary, sound level (dB), dominant frequency, detected events
- SoundEvent — label, confidence, timing, direction, frequency range
- Voice activity — speech detection with energy level and direction
- Ambient profiles — baseline noise characteristics for anomaly detection
- AcousticAlert — severity-ranked alerts for significant sounds
use plato_sonar_text::*; // Analyze an audio buffer let analyzer = SonarText::new(); let scene = analyzer.analyze(&audio_samples); println!("Scene: {}", scene.summary); println!("Level: {:.1} dB", scene.sound_level_db); println!("Voice: {}", scene.voice_active); for event in &scene.events { println!(" {} ({:.0}% from {:.0}°)", event.label, event.confidence * 100.0, event.direction); }
The text interface layer on top of signal processing. plato-correlator fuses sonar shadows with vision shadows. plato-shell presents acoustic scenes as room descriptions. openconstruct-jetson provides the GPU-accelerated FFT that feeds this module.
[dependencies] plato-sonar-text = "0.1"
MIT