AIR GUITAR ENEE408G FINAL PROJECT Kathryn Marcotte, Nicholas Prior, Eshani Tarpara, Wade Woodall
Motivation Create a program to allow people to translate untrained movement into their own music.
Goals Create a customized profile for every user that notes where they place each guitar hand Detect a user’s hand movements as definitive chords played on a guitar to within 80% accuracy Play the chosen guitar chords live to within 80% accuracy Allow users to record their music for future replay
Approach Used Video Processing Audio Synthesis demo Music Creation Music Replay
Initialization Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Record? Terminate Publish Sound File No Yes No Yes Top_Flag = 1
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag =1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Hand in bottom strum box Top_Flag Exit_Flag Grab Frame Program Start Grab Color Initialize Chord Positions Initialize Strum Positions Determine Chord Position Play Chord Top_Flag = 0 Hand in top strum box Top_Flag = 1 Record? Terminate Publish Sound File No Yes No Yes
Demo