## What Is It

The Air Synth is a virtual synthesizer that can be played without the need for a physical instrument. By simply moving your fingers in the air, the Air Synth matches your motions to the correct pitches and allows you to practice, jam, and compose wherever and whenever you want.

## How It Works

The Air Synth uses OpenCV to detect the contours of a hand. This is done with background subtraction, a technique that compares a static background image with the live camera feed. The resulting image is passed through a series of filters: black and white filter and a gaussian blur. Then the contour lines are drawn over the hand and critical points are identified. We map these critical points to a range of y-values on the GUI in order to determine which note should be played.
## Inspiration

Like most university students, we understand and experience the turbulence that comes with relocating every 4 months due to coop sequences while keeping personal spendings to a minimum. It is essential for students to be able to obtain an affordable and effortless way to release their stresses and have hobbies during these pressing times of student life.

## What it does

AirDrum uses computer vision to mirror the standard drum set without the need for heavy equipment, high costs and is accessible in any environment.

## How we built it

We used python (NumPy, OpenCV, MatPlotLib, PyGame, WinSound) to build the entire project.

## Challenges we ran into

The documentation for OpenCV is less robust than what we wanted, which lead to a lot of deep dives on Stack Overflow.

## Accomplishments that we're proud of

We're really happy that we managed to actually get something done.

## What we learned

It was our first time ever trying to do anything with OpenCV, so we learned a lot about the library, and how it works in conjunction with NumPy.

## What's next for AirDrums

The next step for AirDrums is to add more functionality, allowing the user to have more freedom with choosing which drums parts they would like and to be able to save beats created by the user. We also envision a guitar hero type mode where users could try to play the drum part of a song or two. We could also expand to different instruments.
## Inspiration:

Our inspiration for the project was the rhythm video game Osu!.

## What it does:

The game operates like a regular Osu! game except it is controlled entirely through moving your fingers in front of your webcam. There will be notes that appear on the screen with an approach circle. You must hover the corresponding finger over the note as the approach circle hits in order to gain points. Notes continue to appear as the song continues and the game will finish when the song ends.

## How we built it:

We used the game engine Unity along with the packages Barracuda and MediaPipe to track the fingers.

## Challenges we ran into:

Getting the hand tracking to work, creating key features such as the approach circles, sliders + their paths, and beatmapping

## Accomplishments that we're proud of

Working finger tracking, getting any shape paths of sliders through Bezier curves

## What we learned:

Better time management, how to use Unity with neural networks, and MediaPipe

## What's next for Finger Dance!:

If we continue this project we plan on adding more UI, note types and songs along with general polish.