Virtual Piano. Proposal By: Lisa Liu Sheldon Trotman. November 5, ~ 1 ~ Project Proposal

Similar documents
6.111 Final Project: Digital Debussy- A Hardware Music Composition Tool. Jordan Addison and Erin Ibarra November 6, 2014

Automatic Projector Tilt Compensation System

MUSIC TRANSCRIBER. Overall System Description. Alessandro Yamhure 11/04/2005

Proposal. Figure 1: Slot Machine [1]

Introduction to GRIP. The GRIP user interface consists of 4 parts:

6.111 Final Project Proposal Kelly Snyder and Rebecca Greene. Abstract

Laser Conductor. James Noraky and Scott Skirlo. Introduction

The Switcher: TriCaster 855 Extreme

y POWER USER MUSIC PRODUCTION and PERFORMANCE With the MOTIF ES Mastering the Sample SLICE function

Figure 1: Feature Vector Sequence Generator block diagram.

Study Guide. Solutions to Selected Exercises. Foundations of Music and Musicianship with CD-ROM. 2nd Edition. David Damschroder

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

The Extron MGP 464 is a powerful, highly effective tool for advanced A/V communications and presentations. It has the

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

L14: Final Project Kickoff. L14: Spring 2007 Introductory Digital Systems Laboratory

Virtual Rock Climbing: A video game using tracking and tactile feedback. December 11, 2013

COE328 Course Outline. Fall 2007

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

Lab experience 1: Introduction to LabView

Introduction To LabVIEW and the DSP Board

xlsx AKM-16 - How to Read Key Maps - Advanced 1 For Music Educators and Others Who are Able to Read Traditional Notation

Chapter 40: MIDI Tool

L14: Final Project Kickoff. L14: Spring 2006 Introductory Digital Systems Laboratory

Edit Menu. To Change a Parameter Place the cursor below the parameter field. Rotate the Data Entry Control to change the parameter value.

Music Representations

QUALITY OF COMPUTER MUSIC USING MIDI LANGUAGE FOR DIGITAL MUSIC ARRANGEMENT

Advanced Display Technology Lecture #12 October 7, 2014 Donald P. Greenberg

D-Lab & D-Lab Control Plan. Measure. Analyse. User Manual

* This configuration has been updated to a 64K memory with a 32K-32K logical core split.

DMX-LINK QUICK OPERATION

Solutions to Embedded System Design Challenges Part II

Implementation of an MPEG Codec on the Tilera TM 64 Processor

CHECKPOINT 2.5 FOUR PORT ARBITER AND USER INTERFACE

Keyboard Version. Instruction Manual

Digital 1 Final Project Sequential Digital System - Slot Machine

Development of an Optical Music Recognizer (O.M.R.).

Voice Controlled Car System

Fingerprint Verification System

AN ARTISTIC TECHNIQUE FOR AUDIO-TO-VIDEO TRANSLATION ON A MUSIC PERCEPTION STUDY

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

Synthesis Technology E102 Quad Temporal Shifter User Guide Version 1.0. Dec

SP-500 Main Features. EasyStart CONTENTS

GREAT 32 channel peak sensing ADC module: User Manual

013-RD

PIANO SAFARI FOR THE OLDER STUDENT REPERTOIRE & TECHNIQUE BOOK 1

Bach-Prop: Modeling Bach s Harmonization Style with a Back- Propagation Network

Technovision DV-66B User Guide (HW V1.3, FW V1.6) Latest Version Sept. 2004

Pinewood Derby Finish Line Detection System

ARC Channel NTSC/PAL Hi-Resolution Quad Processor

MULTIMEDIA TECHNOLOGIES

Automatic Rhythmic Notation from Single Voice Audio Sources

HD-TVI to HDMI/VGA/Composite Video Converter ITEM NO.: AD001-TVI

1.1 Digital Signal Processing Hands-on Lab Courses

Instruction manual. DALI Gateway art Installation manual

Laboratory Assignment 3. Digital Music Synthesis: Beethoven s Fifth Symphony Using MATLAB

Intermediate Concert Band

L14: Quiz Information and Final Project Kickoff. L14: Spring 2004 Introductory Digital Systems Laboratory

Spatio-temporal inaccuracies of video-based ultrasound images of the tongue


SCENEMASTER 3F QUICK OPERATION

Pitch and Keyboard. Can you think of some examples of pitched sound in music? Can you think some examples of non-pitched sound in music?

Snapshot. Sanjay Jhaveri Mike Huhs Final Project

Written Progress Report. Automated High Beam System

Graphic Standards Manual. A resource for the correct and consistent application of the HACEP logo.

Pivoting Object Tracking System

L13: Final Project Kickoff. L13: Spring 2005 Introductory Digital Systems Laboratory

Digital Logic Design: An Overview & Number Systems

ECE 532 Group Report: Virtual Boxing Game

Setting Up the Warp System File: Warp Theater Set-up.doc 25 MAY 04

Image Processing Using MATLAB (Summer Training Program) 6 Weeks/ 45 Days PRESENTED BY

6.UAP Project. FunPlayer: A Real-Time Speed-Adjusting Music Accompaniment System. Daryl Neubieser. May 12, 2016

Dimming actuators GDA-4K KNX GDA-8K KNX

SQTR-2M ADS-B Squitter Generator

FLIP-FLOPS AND RELATED DEVICES

UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD

SWITCH: Microcontroller Touch-switch Design & Test (Part 2)

ROLAND PIANO DIGITAL. HP-Series

PROTOTYPING AN AMBIENT LIGHT SYSTEM - A CASE STUDY

Recording of Coincidence Signals in a Software Medium

One of the challenges in a broadcast facility is

CVP-609 / CVP-605. Reference Manual

CHARACTERIZATION OF END-TO-END DELAYS IN HEAD-MOUNTED DISPLAY SYSTEMS

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

Oculomatic Pro. Setup and User Guide. 4/19/ rev

Pablo II. The Picasso IV video-encoder. Manual. 18 August Copyright c 1997 Village Tronic Marketing GmbH Mühlenstraße Sarstedt Germany

Semi-automated extraction of expressive performance information from acoustic recordings of piano music. Andrew Earis

(12) Patent Application Publication (10) Pub. No.: US 2004/ A1. Kusumoto (43) Pub. Date: Oct. 7, 2004

The Calculative Calculator

The Computer Revolution in Education:

Counter/timer 2 of the 83C552 microcontroller

Digital Television Fundamentals

Tetrapad Manual. Tetrapad. Multi-Dimensional Performance Touch Controller. Firmware: 1.0 Manual Revision:

DP1 DYNAMIC PROCESSOR MODULE OPERATING INSTRUCTIONS

Software Audio Console. Scene Tutorial. Introduction:

Part II: Dipping Your Toes Fingers into Music Basics Part IV: Moving into More-Advanced Keyboard Features

I) Documenting Rhythm The Time Signature

ROLAND PIANO DIGITAL. RG-Series DIGITAL GRAND SERIES

ESI VLS-2000 Video Line Scaler

CM-392-Video to HDMI Scaler Box ID#481

Transcription:

Virtual Piano Proposal By: Lisa Liu Sheldon Trotman November 5, 2013 ~ 1 ~ Project Proposal

I. Abstract: Who says you need a piano or keyboard to play piano? For our final project, we plan to play and display music based on hand gestures that imitate piano playing. The project can be divided into three parts: video capture and processing, sound processing, and display. Gesture detection will be one challenge in our project. We will use frame by frame comparison to determine if there is a significant enough difference in finger position. Individual fingers or sets of fingers will be tagged with colors to aid tracking and detection. This detection can be done in real time to imitate the instantaneous reaction of a key press on a piano. Due to time constraints, it may be difficult to track 10 individual fingers, so primarily we aim to track 2 (perhaps to play Chopsticks), but ideally we would like to track all fingers. At the most basic level, the Virtual Piano will play a pure tone based on what notes it sees. However, in real life, instruments do not sound like pure tones. Piano notes will be stored in memory and can be recalled and played when needed. In response to information about the speed of the hand, the volume of the note will increase or decrease. If time allows, we may adjust the attack and decay of the note as well. Lastly, we would like to display the last few notes played on a staff on the computer screen. The note name should also accompany the notes. Given enough time, we can also display the length of each note. ~ 2 ~ Project Proposal

II. System Block Diagram: The Virtual Piano will need to detect gestures and output sounds and pictures based on those gestures. Figure 1 shows the basic subsystems we would like to design: Visual Gesture Detection, Display Output, and Note Processor Within the Visual Gesture Detection Module, we will detect a gesture, analyze a frame, store it in metadata storage, and compare it to the next frame in order to determine the change in position of a finger. A spatial analyzer will determine if a change in position represents a pressed key. Once the Visual Gesture Detection Module determines that a key is pressed, the Note Processor will send information to the Audio Output Module (to output a sound) and the Display Output Module (display the notes). Figure 1. General Block Diagram: Graphical explanation of project design. We take in a camera input and after visual and logic processing we output display and audio data. ~ 3 ~ Project Proposal

III. Sub Modules: We break each of the three major modules, gesture detection, note processing, and output display, into smaller modules, and go over the functionality of each. The Visual Detection module allows us to determine whether a note has been played. It also tells us the attack of the note, or how hard or quickly the note was hit. Figure 2 shows the flow of information in the Visual Gesture Detection module. Figure 2. Gesture Detection: The RGB and HSV converter takes the camera input and changes it into a form that is easier to analyze. We compare frames with past frame stored in memory in order to determine the note played and the attack on the note. Camera Input: Raw data received from user interaction in the frame of the camera. This data is sent to the frame analyzer. Frame Analyzer: ~ 4 ~ Project Proposal

Here, detection of the specific colors used for the fingertips is done and passed on to be stored, as well as compared to previous data. The analyzer is one of the most complex portions of this project and will take the majority of the runtime. Metadata Storage: The data extracted from past frames are kept for future comparison. When a new frame arrives it is stored and the previous data is outputted to the Comparator. Frame to Frame Comparator: This module receives current data and previous data and does a direct comparison of finger placement difference from frame to frame. This is used in the next section information is used in the spatial difference analyzer. In future applications, velocity will come into play and will alter the sound. Spatial Difference Analyzer: Once the comparison of relative difference of the fingers is made, an overall spatial difference is necessary to see if the person has struck a key. The pressing of the key is handed off to the Note Processing module. Once the Visual Gesture Detection module has determined a key and the attack it was hit with, the Note Processor must determine how the note should sound. Figure 3 shows how the modules interface with the Gesture Detection module and labkit inputs. Metronome: The metronome module plays a ticking sound at regular intervals so that the user can time his piano playing. A ticking sound is stored on ROM or flash memory and sent to an audio controller every time an enable signal is high Metronome Timer: This module determines how often a tick is played. The speed, which varies from 1 Hz to 2 Hz, is set by the switches. The metronome will send an enable signal four times per metronome tick, in order to have enough granularity to measure eighth notes correctly. Note Counter: Determines whether the note played is an eighth, quarter, half, or whole note. It receives a periodic tick from the metronome timer and the current note being played form the Visual Gesture Detection module and counts how long it lasts. Sound Transformer: Based on the detected note and attack of that note, it will call the correct note from memory and transform the sound be adjusting the attack and volume of the note. Over the length of the note, it will also allow the note to decay. Audio Controller: The audio controller combines sound from metronome and piano notes as needed. ~ 5 ~ Project Proposal

Compact Flash Card: Stores raw piano notes and outputs the sound stored at address. Figure 3. Note Processing: The note processor serves two main functions: duration measurement and sound transformation. The left side of the figure deals with duration measurement, and the right side deals with sound transformation. The Note Processor model sends sound directly to the speaker for output. However, the note name and note length need to be processed by the Display Output module before being displayed on the screen. Figure 4 shows the last few steps needed before the notes detected by the Visual Gesture Detection module make it to the screen. Sprite library: Stores sprites for eighth, quarter, half, whole notes, and keys. When a certain note is called for, it will output the sprite data. Music logic: Keeps track of the last 8 notes played, regardless of note length. If time allows, it may observe when two eighth notes are adjacent and replace the two eighth note sprites with a barred eighth note sprites. Display: In the final step before VHA output, we combine all display elements for each frame. ~ 6 ~ Project Proposal

Figure 4. Output Display: From the Note Processor module, the Output Display module receives the note name and note length. It calls the sprite information and determines how to display the sprite on the bar staff. IV. Project Plan Week of 11/4 - Block diagram conference - Start implement gesture detection - Start figuring out how to store and recall audio Week of 11/11 - Project design presentation - Test and debug gesture detection. Be able to detect 2 fingers, hopefully more. - Test and debug audio output. Minimum, be able to play unmodified tones. - Start display module. - Project checklist meeting Week of 11/18 - Debugging of display module. - Start implementing note processing module. Week of 11/25 - Thanksgiving - Debug anything needed in note processing, display, gesture detection, or audio. ~ 7 ~ Project Proposal

- Try to implement any stretch goals Week of 12/2 - Debug and test whole design - Prepare for project presentation V. External Components - Gloves w/ brightly colored fingertips - NTSC Camera - 6.111 Labkit VI. Division of Labor This project will be split as evenly as possible among the two of us. A specific breakdown of obligations is as follows: Lisa: - Graphical Data Generator - Display Output - Sound Transformer - Note Timer - Flash Memory - Audio Output Sheldon: - Camera Input - Frame Analyzer - Metadata Storage - Frame to Frame Comparator - Spatial Difference Analyzer ~ 8 ~ Project Proposal