Build an Air Synthesizer that plays musical instruments using real-time color tracking. Move a colored ball through different zones on camera, and each zone triggers a different synthesizer note. Change instruments on the fly—from piano to drums and beyond.
Why did we decide to make it?Creating a color-tracking musical instrument traditionally requires computer vision libraries, audio synthesis, zone detection algorithms, and real-time processing. Using Grablo's visual blocks, all of this complexity disappears—no coding needed.
What You'll BuildA complete air synthesizer featuring:
- Real-time color ball tracking
- 5 playable zones
- Multiple instruments via Sound Font
- Dynamic color range adjustment
- Instrument selection through Bank/Preset
- Install software: Download and install Grablo on your Raspberry Pi
- Set up hardware: Connect camera and speaker
- Get this project: Project Link
- Open Grablo app: On your desktop or mobile browser
- Hit RUN: Connect to your Raspberry Pi and start playing!
- Adjust colors: Use Color Picker to match your colored ball
- Change instruments: Modify Bank and Preset values
💡 Want to build it yourself? Continue to Build Process
Build ProcessDashboard
Create Project & Dashboard
- Go to https://app.grablo.co
- Click "Create Project"
- Name your project
- Create a new dashboard
Add Widgets
- Camera Widget: Select your camera to display live video feed
- Color Picker Widget × 2: Create "Start Color" and "End Color" variables for tracking range
- Input Widget × 2: Create "Bank" and "Preset" variables for instrument selection
Logic
Control 1: Start Camera
Start the camera when the project begins.
- Condition (Once): Runs once at project start
- Action (AI Camera): Create camera, set Orientation to Horizontal Flip, Command to Start, add Color Tracking for 5 Zones
Control 2-6: Play Notes
Play synthesizer notes when colored object enters each zone.
- Condition (Compare): ZoneDetected = True, Option = Rising Edge
- Action (Synthesizer): Create synthesizer, Command = Note On, Note = C3-G3 (48-55)
Control 7: Instrument Selection
Change instruments when Bank or Preset value changes.
- Condition (On Change): Bank or Preset variable, Operator = OR
- Action (Synthesizer): Command = Set Instrument, assign Bank and Preset variables
Congratulations! You've built a complete air synthesizer using visual blocks and zero lines of code.
Expected Results
When you run your project:
- Camera view appears: 5 zones displayed at the bottom
- Move colored ball into Zone 1: Plays C3 note
- Move through different zones: Each zone plays its assigned note
- Change Bank to 128: Switches to drum sounds
- Adjust Color Picker: Fine-tune tracking for your ball color
Camera Options:
- Raspberry Pi Camera Module (CSI)
- USB Camera
Speaker Options:
- 3.5mm audio jack
- USB audio adapter
- Bluetooth speaker
- Use bright colors: orange, green, or pink work best
- Attach to a stick for easier control
- Ping pong balls are lightweight and track well
Watch the complete build process in action:
What's Next?Expand your project:
- Add more zones for a full octave
- Create a duet mode with two different colored balls
- Add visual feedback on the dashboard when notes play
No sound:
- Check speaker connection
- Verify Bank and Preset values are valid
- Try Bank = 0, Preset = 0 for piano
Color not tracking:
- Adjust Start/End Color range in Color Picker
- Use HSV tab and adjust H value for fine-tuning
- Ensure lighting is consistent
- Avoid wearing clothes that match ball color
Tracking multiple objects:
- Increase Min Area value to ignore small noise
- Use a more unique color for the ball
- Improve lighting conditions
Notes playing multiple times:
- Verify Rising Edge option is set in conditions
- Check that zones don't overlap
- Polyphone (Sound Font Editor): https://www.polyphone.io/
- Sound Font used in this project: https://musical-artifacts.com/artifacts/7293
- Website: https://grablo.co
- Web App: https://app.grablo.co
- Docs: https://doc.grablo.co
- Support: support@grablo.co






Comments