This commit addresses issue #1354 by: 1. Fixing portals.json syntax error (duplicate params field) 2. Adding the Sovereign Sound Playground as a new portal 3. Including the complete playground application Changes: - Fixed JSON syntax error in portals.json (line 41-44) - Added playground/playground.html - Complete interactive audio-visual experience - Added playground/README.md - Documentation and usage guide - Updated portals.json with playground portal entry The playground portal is configured with: - Online status - Visitor access mode - Local destination URL - Creative tool portal type This resolves the issue and provides a working playground accessible through the Nexus portal system.
95 lines
2.5 KiB
Markdown
95 lines
2.5 KiB
Markdown
# Sovereign Sound Playground
|
|
|
|
An interactive audio-visual experience that lets you paint with sound and create music visually.
|
|
|
|
## Live Version
|
|
|
|
**LIVE:** https://playground.alexanderwhitestone.com/playground.html
|
|
|
|
## Features
|
|
|
|
### Core Functionality
|
|
- **Visual Piano Keyboard**: 26 keys mapped to keyboard (QWERTY layout)
|
|
- **6 Visual Modes**:
|
|
- FREE: Freeform painting with sound
|
|
- GRAVITY: Notes gravitate toward cursor
|
|
- RAIN: Musical rain falls from above
|
|
- CONSTELLATION: Notes connect in constellation patterns
|
|
- BPM: Grid pulses to the beat
|
|
- MIRROR: Mirror notes across vertical axis
|
|
- **5 Color Palettes**:
|
|
- AURORA: Warm rainbow colors
|
|
- OCEAN: Cool blues and teals
|
|
- EMBER: Warm reds and oranges
|
|
- FOREST: Natural greens
|
|
- NEON: Vibrant neon colors
|
|
|
|
### Audio Features
|
|
- **Ambient Beat**: Automatic chord progressions with kick, snare, and hi-hat
|
|
- **Chord Detection**: Real-time chord recognition (major, minor, 7th, etc.)
|
|
- **Mouse Playback**: Hover over painted notes to hear them again
|
|
- **Touch Support**: Works on mobile devices
|
|
|
|
### Tools
|
|
- **Recording**: Press R to record your session
|
|
- **Export**: Press S to save your creation as PNG
|
|
- **Clear**: Press Backspace to clear the canvas
|
|
- **Mode Switch**: Press Tab to cycle through modes
|
|
- **Palette Switch**: Press 1-5 to switch color palettes
|
|
|
|
## Controls
|
|
|
|
### Keyboard
|
|
- **A-Z**: Play notes and paint
|
|
- **Space**: Toggle ambient beat
|
|
- **Backspace**: Clear canvas
|
|
- **Tab**: Switch mode
|
|
- **R**: Toggle recording
|
|
- **S**: Save as PNG
|
|
- **1-5**: Switch color palette
|
|
|
|
### Mouse
|
|
- **Click**: Play random note and paint
|
|
- **Drag**: Continuous painting
|
|
- **Hover over notes**: Replay sounds
|
|
|
|
### Touch
|
|
- **Touch and drag**: Paint with sound
|
|
|
|
## Technical Details
|
|
|
|
- Zero dependencies
|
|
- Pure HTML5 Canvas + Web Audio API
|
|
- No external libraries
|
|
- Self-contained single HTML file
|
|
|
|
## Integration
|
|
|
|
The playground is integrated into The Nexus as a portal:
|
|
- **Portal ID**: `playground`
|
|
- **Portal Type**: `creative-tool`
|
|
- **Status**: Online
|
|
- **Access**: Visitor mode (no operator privileges needed)
|
|
|
|
## Iteration Plan
|
|
|
|
Future enhancements:
|
|
- [ ] More modes (Spiral, Gravity Well, Strobe)
|
|
- [ ] MIDI keyboard support
|
|
- [ ] Share session as URL
|
|
- [ ] Mobile optimization
|
|
- [ ] Multiplayer via WebSocket
|
|
- [ ] Integration with Nexus spatial audio system
|
|
- [ ] Memory system for saved compositions
|
|
|
|
## File Structure
|
|
|
|
```
|
|
playground/
|
|
├── playground.html # Main playground application
|
|
└── README.md # This file
|
|
```
|
|
|
|
## Credits
|
|
|
|
Created as part of the Timmy Foundation's Sovereign Sound initiative. |