How morpheu5/soundrise-app works
SoundRise is a browser-based speech-therapy learning application. A user opens the play experience, starts microphone listening, and receives live visual feedback derived from voice pitch, intensity, and Italian-vowel estimates; the sun’s position, size, and color communicate those results. The main stages are capture, signal analysis and vowel classification, event-based UI updates, and visual rendering. The home and about pages introduce the product and explain its visual mappings. Detector internals are only partially sampled, so the graph shows documented analysis roles without asserting uncertain processing details.
Main entry points: play/page.tsx Play Page · Listener.ts Audio Listener · root.tsx Page Router · about/page.tsx About Guide
Components 17
User Experience
- Page Router
src/root.tsx - Home Page
src/App.tsx - About Guide
src/pages/about/page.tsx - Play Page
src/pages/play/page.tsx - Navigation
src/components/Header.tsx
Audio Capture
- Audio Listener
src/classes/Listener.ts
Voice Analysis
- Formant Detector
src/audio/formantVowelDetector.ts - ML Vowel Detector
src/audio/frigatoMLVowelDetector.ts - Voice Mapping
src/audio/setDimsValue.ts - Shared Voice Types
src/soundrise-types.ts
Visual Feedback
- Awake Sun
src/components/SunAwake.tsx - Sleeping Sun
src/components/SunSleep.tsx
Other components
- Learner
- Browser Microphone
- Web Audio API
- Meyda Features
- Brain.js Model
Connections 24
- Learner → Page Router: opens app
- Page Router → Home Page: routes home
- Page Router → About Guide: routes about
- Page Router → Play Page: routes play
- Home Page → Navigation: renders
- Home Page → Awake Sun: renders
- About Guide → Navigation: renders
- About Guide → Awake Sun: illustrates mappings
- About Guide → Sleeping Sun: illustrates silence
- Play Page → Navigation: renders
- Play Page → Audio Listener: starts listening
- Play Page → Audio Listener: selects detector
- Play Page → Awake Sun: renders feedback
- Play Page → Sleeping Sun: renders silence
- Audio Listener → Browser Microphone: requests stream
- Audio Listener → Web Audio API: processes stream
- Audio Listener → Formant Detector: requests vowel estimate
- Audio Listener → ML Vowel Detector: requests vowel estimate
- ML Vowel Detector → Meyda Features: extracts MFCC
- ML Vowel Detector → Brain.js Model: runs model
- Audio Listener → Voice Mapping: maps pitch and volume
- Audio Listener → Play Page: dispatches parameters
- Play Page → Awake Sun: passes visual state
- Play Page → Sleeping Sun: passes idle state