Our project will create an entire light show on the spot based on any sound input. The prototype will take in any sound form, from a song to a person talking, and use LEDs to make a matching light show.
iTunes and other music players make visual shows to go along with songs, but these players only use songs, and they have to look ahead in the song due to a delay from the song to the visualization. Our prototype will be able to create a light show from any sound in real time.
Why it matters:
This test is crucial to the functionality of our product because if the response to the beat is too slow,
the lights will not be changing along with the beat in real time, and this will make the product not visually pleasing to the
user.
How will we run it:
We will put a time stamp after a beat is detected, and a time stamp after the lights change in reaction to
the beat, and in this way we can look at the differeneces in time stamp values and determine if the change in time is sufficiently
small.
Setup Function Time:
Why it matters:
This test will determine the time the program takes to run the setup code. This is essentially how long from
when the user turns on the system to when the LEDs start reacting to the sound.
How will we run it:
We will put a time stamp when the Atmel turns on, and also once the setup code is finished running and then
we will compare the times.
Beat Speed:
Why it matters:
This test determines how quickly the LED display can process one full command sent via DMX-512. Once we have
performed this test, we will know how rapidly we can send separate commands to the LED display and have it still display
a light combination for every command. With this information we will know how fast we can send messages to the display, and thus how
fast we can make the beat be.
How will we run it:
We will continuously call our function advance, which sends one full command to the LED display. Each command will
be for the LED display to change to a very distinct color, for example: red, green, blue, red, green, blue. We will call advance faster
and faster repeatedly until we observe a break down in the LED display, that is to say, we observe the display miss a color because the
messages are being sent too fast. We will also write test code which puts a time stamp after every call to advance.