For a final project we wrote some code so a laptop could act as a vocalist player in the cooperative music rhythm game, Rock Band. The software takes an available capture card (will work with a single card attached in PCI, PCIx1, USB, or FireWire interface, but not ethernet), calibrates itself to the frequency range of the song, and plays the tones to go along with the music. There is future improvements to be made, such as dealing with the Rock Band key adjusting which tends to thwart any attempts to sing successfully, and upping the capture resolution to allow the addition of OCR and voice/worded output.
The pdf attached officially gives the details necessary to understand the project further: Project Report
If you are interested in the source code, shoot me an email.
Monday, May 12, 2008
Monday, March 3, 2008
Project 3 Mike and Styler
Our project 3 compares still images. Give a picture and a name, it analyzes the picture and stores it's color distributions in an xml file. Given only a picture, it compares it against all stored people (xml files) it has saved. To compare, it creates color distributions for Red, Blue, and Green pixels (barring white pixels). Then, it compares the red distributions local minimums, maximums, the median and the mean. Comparing these distributions yields a difference, and the known person with the least difference is considered the match.
Here are our saved pictures:
Which were saved into XML. Then, we ran these pictures through the comparison:
The results were:
FaceDetection.exe styler2.jpg
Diff with styler from styler.xml is 103.669794574545
Diff with mike from mike.xml is 179.5194369055
Best match is: styler
FaceDetection.exe mike2.jpg
Diff with styler from styler.xml is 158.225831330128
Diff with mike from mike.xml is 82.0856684981685
Best match is: mike
The algorithm was a success. Given a photo stored into xml, the Diff would equal 0 every time. The algorithm also worked in the reverse direction. However, it is only suitable for fixed backgrounds between photos.
The code is in C# and available here. and a sample XML output is available here.
Here are our saved pictures:
Which were saved into XML. Then, we ran these pictures through the comparison:
The results were:
FaceDetection.exe styler2.jpg
Diff with styler from styler.xml is 103.669794574545
Diff with mike from mike.xml is 179.5194369055
Best match is: styler
FaceDetection.exe mike2.jpg
Diff with styler from styler.xml is 158.225831330128
Diff with mike from mike.xml is 82.0856684981685
Best match is: mike
The algorithm was a success. Given a photo stored into xml, the Diff would equal 0 every time. The algorithm also worked in the reverse direction. However, it is only suitable for fixed backgrounds between photos.
The code is in C# and available here. and a sample XML output is available here.
Monday, February 18, 2008
Project 2 Credits
Optimash Prime:
Lead Caddy
Alex Styler:
Artificial Intelligence Engineer
Lead Programmer
Wardrobe
Director
Lead Camera
Lucas Coyne:
Team Chaplain
Assistant Caddy
Bugging Lead
Michael Edelson:
Interface Engineer
Debugging Lead
Wesley Chu:
Special Effects Artist
Talent Handler
Lead Caddy
Alex Styler:
Artificial Intelligence Engineer
Lead Programmer
Wardrobe
Director
Lead Camera
Lucas Coyne:
Team Chaplain
Assistant Caddy
Bugging Lead
Michael Edelson:
Interface Engineer
Debugging Lead
Wesley Chu:
Special Effects Artist
Talent Handler
Project 2 Results
Over 15 trials with no training, selecting complex motions at random:
Average putt distance: 1.66 feet
Percentage of successful swings: 33%
After 50 iterations of training, altering primitive probabilities and eliminating unsuccessful swings:
Average putt distance: 5.28 feet
Percentage of successful swings: 73%
After learning a dramatic increase in performance is observed. With more iterations, even better swings will become more probable and more unsuccessful swings will be eliminated, further increasing performance. The servo speed, however, limits the robot from ever being a successful player beyond short putts.
Average putt distance: 1.66 feet
Percentage of successful swings: 33%
After 50 iterations of training, altering primitive probabilities and eliminating unsuccessful swings:
Average putt distance: 5.28 feet
Percentage of successful swings: 73%
After learning a dramatic increase in performance is observed. With more iterations, even better swings will become more probable and more unsuccessful swings will be eliminated, further increasing performance. The servo speed, however, limits the robot from ever being a successful player beyond short putts.
Subscribe to:
Posts (Atom)