Open-source, npm-installable streaming platform that turns DDEX deliveries into a complete music service.
Stardust DSP enables anyone to deploy a fully functional, DDEX-compliant streaming platform in minutes. Receive ERN deliveries, process them automatically, and provide a complete music streaming experience.
Stardust DSP is open-source software. The entire platform is MIT licensed with no paid tiers, no enterprise edition, and no artificial limitations. You get a complete, production-ready streaming platform with ALL ingestion protocols (FTP, SFTP, S3, API), full ERN processing, adaptive streaming, and everything needed to run a professional music service.
- No artificial limits: No track caps, no watermarks, no time bombs
- Complete functionality: Every feature needed for professional streaming
- True community ownership: Fork it, modify it, deploy it - it's yours
- Perfect for testing: Ideal companion for testing DDEX deliveries from your distribution platform
Alpha Release - v0.8.0 (September 2025)
- Project architecture and blueprint
- Vue 3 application with core views
- Firebase integration (Auth, Firestore, Storage)
- Complete authentication system
- Dual-auth model for industry and consumer users
- Navigation and routing structure
- Professional CSS architecture
- Theme support (light/dark)
- CLI tool with all commands
- Vue composables (useAuth, useDualAuth, useCatalog, usePlayer)
- Responsive design foundation
- Live deployment to Firebase Hosting
- Build ERN receiver with HTTP endpoint
- Implement direct pipeline architecture
- Create XML parser with ERN 4.3 support
- Integrate DDEX Workbench validation
- Build file transfer system with MD5 validation
- Implement scheduled queue processing
- Create asset processor for releases
- Build acknowledgment system
- Add transaction-based locking for concurrency
- Create distributor management UI
- Build ingestion monitoring dashboard
- Add real-time processing status
- Enable Stardust Distro integration
- Implement catalog structure
- Build streaming API
- Add HLS/DASH support foundation
- Create web player component
- Implement basic search and filtering
- Add user library system
- Build catalog browsing interface
- Create release and artist detail pages
- Implement audio playback with Howler.js
- Add queue management and controls
- Real-time dashboard with platform statistics
- Mini player with persistent playback
- Build comprehensive testing framework
- Implement system health tests
- Create ingestion pipeline tests
- Add catalog operation tests
- Build performance benchmarks
- Add test result export functionality
- Create real-time test execution log
- Implement health score calculation
- Test MD5 validation and file transfers
- Verify DDEX Workbench API integration
- Build enhanced browse interface
- Add advanced search with filters
- Implement playlist management
- Add favorites system
- Create user profiles
- Add social features (sharing)
- Implement recommendations
- Add recently played history
- Create personalized home page
- Add follow artist functionality
- Implement play tracking
- Build analytics dashboard
- Create DSR generator
- Add usage reports
- Implement royalty calculations
- Add distributor reporting portal
- Documentation completion
- Performance optimization
- Security audit
- npm package publication
- Direct Pipeline Architecture: Simplified processing without Pub/Sub complexity
- ERN Support: Handles ERN 3.8.2, 4.2, and 4.3 formats
- DDEX Workbench Validation: Automatic validation of all deliveries
- File Transfer System: Secure file handling with MD5 validation
- Transaction Locking: Prevents race conditions and duplicate processing
- Scheduled Processing: Automatic queue handling every minute
- Real-time Monitoring: Live status updates via dashboard
- Acknowledgments: Automatic generation of DDEX-compliant receipts
- Audio Playback: Howler.js-powered player with queue management
- Catalog Management: Browse releases, tracks, and artists
- Search & Discovery: Real-time search with filters and recommendations
- User Library: Personal playlists, favorites, and listening history
- Artist Profiles: Complete artist pages with discography
- Release Pages: Detailed album views with track listings
- Mini Player: Persistent playback across navigation
- Cross-device Sync: Real-time state synchronization
- Personalized Home: Time-based greetings and tailored content
- Browse Interface: Discover by genre, mood, charts, and new releases
- Advanced Search: Multi-faceted filters with recent searches
- Playlist Management: Create, edit, share, and collaborate on playlists
- Social Features: Follow users and artists, activity feeds, sharing
- User Profiles: Public profiles with stats and activity
- Favorites System: Save tracks, albums, and artists
- Recommendations: Pattern-based suggestion engine
- Recently Played: Automatic history tracking
- Real-time Tracking: Automatic play tracking with progress updates
- Analytics Dashboard: Interactive charts and visualizations (Chart.js)
- DSR Generation: DDEX-compliant Digital Sales Reports
- Usage Reports: 6 report types (streaming, geographic, demographic, etc.)
- Royalty Calculations: Pro-rata, user-centric, and hybrid methods
- Distributor Portal: Dedicated reporting interface for partners
- Multi-format Export: DDEX XML, CSV, Excel, JSON
- Territory Analytics: Geographic breakdowns and insights
- API Access: RESTful API for distributor integration
- Ingestion Monitoring: Real-time processing status
- Distributor Management: Partner account administration
- System Health: Platform performance metrics
- User Statistics: Active users, engagement metrics
- Catalog Overview: Release and track statistics
- Testing Suite: 20+ automated tests for platform health
- Custom Branding: Logo, colors, fonts customization
- Theme System: Light/dark modes with CSS variables
- Multi-tenant Support: Multiple brands on one platform
- Domain Mapping: Custom domain configuration
- Feature Toggles: Enable/disable features per deployment
# Create your streaming platform
npx stardust-dsp create my-dsp
# Navigate to project
cd my-dsp
# Initialize Firebase (free tier available)
stardust-dsp init
# Start development server
npm run dev
# Visit http://localhost:5173
# Deploy to production
npm run deploy
# Your platform is live! π# Available commands
stardust-dsp create <name> # Create new streaming platform
stardust-dsp init # Initialize Firebase configuration
stardust-dsp deploy # Deploy to Firebase
stardust-dsp configure # Configure ingestion settings
stardust-dsp dev # Start development server
stardust-dsp deliveries # Manage DDEX deliveries# Send test delivery from Stardust Distro
stardust-distro deliver \
--target=https://us-central1-my-dsp.cloudfunctions.net/receiveDelivery \
--release=test-album
# Check ingestion status
stardust-dsp deliveries list
# Monitor processing
# Visit http://localhost:5173/ingestion
# Browse the catalog
# Visit http://localhost:5173/catalog
# Play the music!
# Click any release to start streamingThe platform uses a direct pipeline architecture for processing DDEX deliveries:
// Processing flow with transaction-based locking
exports.processDeliveryPipeline = async (deliveryId) => {
// 1. Lock delivery to prevent concurrent processing
// 2. Check/wait for file transfers if needed
// 3. Parse ERN XML directly
// 4. Validate with DDEX Workbench
// 5. Process releases and assets
// 6. Generate acknowledgment
// 7. Update status and unlock
};received β pending β waiting_for_files β files_ready β parsing β
validating β processing_releases β completed (or failed/cancelled)
- processPendingDeliveries (every minute): Main processing queue
- processPendingFileTransfers (every 5 minutes): File transfer handling
- cleanupStuckDeliveries (every 30 minutes): Recovery from stuck states
- Frontend: Vue 3 (Composition API) + Vite
- Backend: Firebase (Firestore, Functions, Storage, Auth)
- Audio: Howler.js for cross-browser audio playback
- Charts: Chart.js for analytics visualizations
- Streaming: Firebase Storage + CDN
- Search: Client-side filtering + Algolia/Typesense ready
- Ingestion: Direct pipeline with Cloud Functions
- Validation: DDEX Workbench API integration
- Analytics: Firebase Analytics + custom DSR generation
- Styling: Custom CSS architecture with theme system
- Icons: FontAwesome free icons
- CLI: Node.js with Commander.js
- Deployment: Firebase Hosting with global CDN
# Clone the repository
git clone https://github.com/daddykev/stardust-dsp.git
cd stardust-dsp
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your Firebase credentials
# Start development server
npm run dev
# Visit http://localhost:5173
# Build for production
npm run build
# Deploy to Firebase
npm run deploy
# Run Firebase emulators
npm run emulatorsstardust-dsp/
βββ template/ # Default Vue app template
β βββ src/
β β βββ views/ # Page components (18+ views)
β β β βββ business/ # Industry views
β β β βββ consumer/ # Consumer views
β β β βββ public/ # Public views
β β βββ components/ # UI components
β β β βββ analytics/ # Analytics components
β β β βββ browse/ # Browse & discovery
β β β βββ library/ # User library
β β β βββ player/ # Music player
β β β βββ profile/ # User profile
β β βββ composables/ # Vue composables (9 total)
β β βββ services/ # Backend services
β β βββ router/ # Routing config
β β βββ assets/ # CSS architecture
β β βββ firebase.js # Firebase config
β βββ functions/ # Cloud Functions
β βββ ingestion/ # Direct pipeline processing
β βββ reporting/ # Analytics & DSR
βββ cli/ # CLI tool
β βββ bin/ # Executable scripts
β βββ commands/ # All CLI commands
βββ firebase.json # Firebase configuration
βββ firestore.rules # Security rules
βββ docs/ # Documentation
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Stardust DSP is part of the larger Stardust ecosystem:
- Stardust Distro - Distribution platform for labels
- DDEX Workbench - Validation and testing tools
All tools share unified authentication for seamless workflow integration.
- Ingestion Speed: <2 min for standard album β
- Search Latency: <50ms response time β
- Stream Start: <500ms buffering β
- Page Load: <2s initial load β
- Processing Efficiency: 30-50% faster than pub/sub β
- Catalog Size: 10M+ tracks supported
- Concurrent Users: 1M+ simultaneous streams
- Uptime: 99.95% availability
- β Firebase Auth with SSO support
- β Secure streaming URLs with expiration
- β Role-based access control (RBAC)
- β Transaction-based processing locks
- β MD5 validation for file integrity
- β Input validation and sanitization
- β Firestore security rules
- π Regular security audits (Phase 7)
MIT License - Use freely for any purpose, forever. See LICENSE for details.
This means you can:
- β Use commercially without payment
- β Modify and customize freely
- β Distribute and sell your modifications
- β Use privately without restrictions
- β Fork and create your own platform
- GitHub Issues: Bug reports and features
- Documentation: Comprehensive guides and API docs
For enterprise deployments or custom development:
- Email: support@stardust-dsp.org
- Consulting: Available for large-scale implementations
Built for the music industry, by the music industry. Special thanks to:
- DDEX for the standards and specifications
- Vue.js team for the amazing framework
- Firebase for the backend infrastructure
- Early contributors and testers
- The open-source community
Star β the repo to follow our progress!