Guitar tablature generation from video using computer vision and audio analysis.
⚠️ Prototype Notice: This is an initial R&D implementation. The code is messy, experimental, and not intended for production use or public consumption. Refactoring will happen when time allows.
TappyTabs is a macOS application that analyzes guitar playing videos and automatically generates tablature (tabs). It combines computer vision for fretboard detection with audio analysis to produce accurate guitar tabs.
The model's .mlpackage is too big for GitHub so here's a Google Drive link TapToTab_640_Speed.mlpackage
Huge shoutout to Hanan Hindy and their team for the awesome TapToTab paper and sharing their dataset! It's a great read!
-
Real-Time Recording
- Record yourself playing guitar live
- Real-time fretboard detection using Vision framework
- Simultaneous audio capture
- Generates tabs on-the-fly
-
Upload Video
- Analyze pre-recorded guitar videos
- Offline processing with visual playback
- Frame-by-frame detection visualization
- Multiple tab variation suggestions
- Computer Vision: Detects finger positions on guitar fretboard using YOLOv8
- Audio Analysis: Uses Basic Pitch model for note detection
- Tab Generation: Maps detected notes to guitar tab notation
- Multiple Variations: Generates different playable interpretations of the same piece
- Visual Feedback: Real-time bounding boxes showing detected fret positions
HDTappyCompiledDemoVideo.mp4
- Swift & SwiftUI: Native macOS interface
- AVFoundation: Audio/video capture and processing
- Vision Framework: Real-time object detection
- Core ML: Machine learning model inference
- Basic Pitch: Audio-to-MIDI transcription
- TapToTab_640_Speed.mlpackage (Too Big for GitHub)
- Camera access (for real-time mode)
- Microphone access (for real-time mode)
⚠️ Prototype-quality code with minimal error handling⚠️ No unit tests⚠️ Hardcoded assumptions about guitar tuning⚠️ Limited documentation⚠️ Performance not optimized⚠️ UI/UX needs polish
- Video Processing: Detects finger positions on fretboard frame-by-frame
- Audio Analysis: Extracts note pitches and timing from audio
- Data Fusion: Combines vision and audio data with temporal alignment
- Tab Generation: Maps detected notes to guitar tab notation with multiple variation suggestions
- Code refactoring and cleanup
- Comprehensive error handling
- Unit and integration tests
- Performance optimization
- Support for different guitar tunings
- Export functionality (PDF, text, etc.)
- Better UI/UX design
- Documentation
Current Phase: Research & Development prototype
This project serves as a proof-of-concept and testing ground for guitar tab generation algorithms. The codebase prioritizes experimentation over production readiness.
Carlos Mbendera