A web-based polyphonic circular step sequencer inspired by Playtronica's Orbita, enhanced with AI-powered sample generation using Meta's MusicGen/AudioCraft.
- 4 concentric track rings - Each with independent controls
- 16-step patterns per track
- Polyphonic playback - All tracks play simultaneously
- Visual feedback - Animated playhead and step indicators
- MusicGen integration - Generate samples from text prompts
- Multiple quality modes - Draft (fast) and HQ (high quality)
- Smart caching - Instant recall of previously generated samples
- Genre packs - Pre-configured sample generation templates
- Per-track controls - Volume, mute, solo, clear
- Per-step parameters - Gain, probability, timing offset
- Global controls - BPM (40-200), swing, master volume
- Transport - Play/stop with reverse playback option
Space- Play/StopG- Generate sample for selected stepC- Clear selected step1-9, 0- Select steps 1-10Q, W, E, R, T, Y- Select steps 11-16โ/โ- Adjust BPMShift+Click- Multi-select steps
- Node.js 18+ and npm
- Python 3.9+ (for AI backend)
- Modern browser with Web Audio API support
- Clone the repository
git clone https://github.com/adrianwedd/orbitr.git
cd orbitr- Install dependencies
npm install- Set up Python backend (optional, for AI generation)
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
cd ..- Configure environment
cp .env.example .env
# Edit .env if needed- Run the application
npm run dev
# Frontend: http://localhost:3001
# Backend: http://localhost:8000
# Or run individually:
npm run dev:frontend # Frontend only
npm run dev:backend # Backend onlyORBITR works perfectly on GitHub Pages with enhanced sample packs:
# Build static version
npm run build:static
# Or just push to main branch for automatic deployment
git push origin mainFeatures on GitHub Pages:
- โ Full 4-track sequencer (O-R-B-I rings)
- โ Detroit/Berlin 90s sample packs ๐ฅ
- โ UK Garage skippy beats
- โ Web Audio API polyphonic playback
- โ Drag & drop file upload
- โ Intelligent mock AI generation
Live Demo: https://yourusername.github.io/orbitr
See DEPLOYMENT.md for full deployment options including real AI generation.
- Select a track - Click on the O, R, B, or I buttons
- Add steps - Click on the circles in the ring to activate steps
- Assign samples - Load audio files or generate with AI
- Adjust parameters - Use the track controls panel
- Press Play - Watch your pattern come to life!
- Enter a prompt like "kick drum" or "synth bass"
- Choose quality (Draft for quick iteration, HQ for final)
- Generated samples are automatically cached
Choose from pre-configured genre packs:
- ๐ต Lo-Fi Hip Hop
- ๐ค Techno Essentials
- ๐ฅ Trap Bangers
- ๐ House Grooves
- ๐ Ambient Textures
Frontend (Next.js/React)
โโโ Multi-track sequencer engine
โโโ Web Audio API scheduler
โโโ Real-time visualization
โโโ Zustand state management
Backend (FastAPI/Python)
โโโ MusicGen integration
โโโ Audio processing
โโโ Caching layer
โโโ Sample management
See ARCHITECTURE.md for detailed technical documentation.
See ROADMAP.md for the full development plan.
- Pattern save/load
- MIDI export
- Euclidean rhythm generator
- Per-step effects
- Pattern chaining
- WebRTC collaboration
We welcome contributions! Please see CONTRIBUTING.md for details.
# Run tests
npm test
# Run linter
npm run lint
# Type check
npm run type-check
# Build for production
npm run buildThis project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Playtronica Orbita
- Built with Meta's AudioCraft
- Uses Web Audio API
- UI powered by Next.js and Tailwind CSS
Please open an issue with details about the problem.
We'd love to hear it! Submit a feature request.
- Current Version: 0.1.0 (Alpha)
- Status: Active Development
- Browser Support: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
Built with โค๏ธ for the music production community
Demo | Documentation | Discord