A permanent media player and catalog built for Arweave, focused on preserving audience recordings, videos, and public domain content forever.
- 🎵 Music streaming from the permaweb
- 📹 Video playback support
- 🎨 Retro-psychedelic themed interface
- 🌈 Interactive laser light show with multiple visualization modes
- 📱 Responsive design that works on desktop and mobile
- ⌨️ Keyboard controls for playback
- 🎼 Support for custom album catalogs
- 🔄 Gateway-aware content loading
- Browse the curated catalog on the homepage
- Click any album or video to load it in the player
- Use the player controls or keyboard shortcuts to control playback
- Get the TXID of an album/video uploaded to Arweave
- Enter the TXID in the "Load Tape" field
- Click the cassette/recorder icon to load and play
Space
- Play/Pause←
- Previous track/video→
- Next track/video
Click the "Laser Show" button to cycle through visualization modes:
- Ripple mode: Circular ripples that respond to audio/video intensity
- Classic mode: Moving laser beams with dynamic color transitions
- Spotlight mode: Simulated stage lighting with fog effects
The new v2 album format simplifies the structure by combining all metadata and file references into a single album.json
file:
{
"version": "2.0.0",
"type": "audio",
"band": "Band Name",
"title": "Album Title",
"date": "YYYY-MM-DD",
"source": "Source information",
"cover": "TXID_OF_COVER_IMAGE",
"info": "TXID_OF_INFO_FILE",
"tracks": [
{
"number": 1,
"title": "Track Title",
"id": "TXID_OF_TRACK"
}
]
}
{
"version": "2.0.0",
"type": "video",
"band": "Band Name",
"title": "Album Title",
"date": "YYYY-MM-DD",
"source": "Source information",
"cover": "TXID_OF_COVER_IMAGE",
"info": "TXID_OF_INFO_FILE",
"reels": [
{
"number": 1,
"title": "Video Title",
"id": "TXID_OF_VIDEO"
}
]
}
Want to add content to ar://playdead? Check out the contribution guide for:
- Audio/Video format specifications
- File structure requirements
- Upload instructions
A Python utility to help prepare albums for ar://playdead:
- Creates complete album structures from scratch
- Manages album.json files and metadata
- Automatically formats track/reel filenames
- Supports all media formats (.mp3, .flac, .wav, .mp4, .webm)
- Shows preview before making changes
- Located in
tools/album-setup-tool/
Reference materials and examples:
- Complete album structure examples
- Located in
examples/
Built with vanilla web technologies:
- HTML5 Audio/Video
- CSS3
- JavaScript
- Web Audio API (for visualizations)
- Canvas API (for laser effects)
Add #dev
to the URL to enable testing features:
- On player.html, adds a simulation toggle button to the interface which allows testing laser show effects without audio playback
See changelog.txt for detailed version history.
Created by @JonnieSparkles with assistance from all the chatbots.