From 908f22faca7a124f55564c3186c9fce22a2edc5e Mon Sep 17 00:00:00 2001 From: jawhinge Date: Mon, 29 Dec 2025 13:48:32 +0200 Subject: [PATCH] update README --- README.md | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9c18e93..01594aa 100644 --- a/README.md +++ b/README.md @@ -16,16 +16,16 @@ hear-on-out uses your geolocation to fetch current weather and air quality data, - Smooth transitions between progressions **Instruments** -- **Ambient Pad**: Day/night reactive foundation with triangle (day) or sine (night) oscillators -- **Main Arpeggio**: Temperature-reactive note patterns with variable speed (1n → 8n) and volume -- **Ping Arpeggio**: High-pitched reverse arpeggios that intensify with weather extremity, speed scales with temperature -- **Bass Synth**: Root note foundation with randomized release times +- **Ambient Pad**: Lush detuned fat oscillator (3 voices, 30 cent spread) with day/night reactive envelopes for rich, warm soundscapes +- **Main Arpeggio**: Temperature-reactive note patterns with variable speed (1n → 8n) and volume, bypasses filter for clarity +- **Ping Arpeggio**: High-pitched reverse arpeggios that intensify with weather extremity, speed scales with temperature (1n → 16n) +- **Bass Synth**: Root note foundation with randomized release times for subtle variation **Dynamic Audio Parameters** -- **BPM**: Scales with temperature (10 BPM at 0°C → faster at 30°C+, 2x multiplier for daytime) +- **BPM**: Scales linearly with temperature (5 BPM at 0°C → 30 BPM at 30°C) - **Reverb**: Wet signal responds to humidity (more humid = more reverb) - **Delay**: Time and feedback react to wind speed (faster wind = shorter delay, more feedback) -- **Filter**: Cutoff frequency darkens with cloud cover (clear sky = 8000Hz, overcast = 400Hz) +- **Filter**: Applied only to ambient pad, cutoff frequency brightens with temperature (0°C = 400Hz dark, 30°C = 8000Hz bright) - **Resonance**: Increases with wind speed for sharper filtering ### Air Quality Monitor @@ -37,10 +37,11 @@ hear-on-out uses your geolocation to fetch current weather and air quality data, ### Audio Visualization -- Real-time particle system using p5.js +- Real-time particle system using p5.js (40 particles for optimal performance) - FFT analysis for bass, mid, and treble frequency detection - Particles react to audio levels with dynamic size and movement - Connected particle network with proximity-based relationships +- Performance optimizations: 30fps rendering, reduced connection checks, pauses when tab not focused ## Technologies @@ -50,6 +51,16 @@ hear-on-out uses your geolocation to fetch current weather and air quality data, - **Tailwind CSS v4** - Styling with black/white monochrome theme - **Open-Meteo API** - Weather and air quality data +## Performance Optimizations + +The application includes several optimizations for smooth performance: + +- **Reduced particle count**: 40 particles (down from 60) with 30fps rendering +- **Selective updates**: Audio-reactive displacement updates every 3rd frame +- **Optimized connections**: Particle connections drawn every other frame with limited neighbor checking +- **Tab visibility**: Visualization pauses when tab is not focused to save resources +- **Efficient audio routing**: Arpeggios bypass filter for cleaner CPU usage + ## Setup ```bash