Keytar Hero

Project Summary

Keytar Hero is the final product of a Carnegie Mellon Fundamentals of Programming (15-112) term project. The game is based upon Activision's Guitar Hero franchise but utilizes a standard QWERTY keyboard as a replacement to the traditional guitar as pitched by Activison. The game is programmed using Python version 2.7.13 as included with the Panda3D graphics rendering module.

Custom 3D Models

All solid models in the game Keytar Hero are fully custom. I modeled every unique piece in Blender, a program for creating and rendering realistic models and scenes. Each of the models were then imported into Panda3D (using the YABEE Blender extension for file conversion) and initialized according to the audio parsing performed by Aubio.

Keytar Hero also uses Panda3D to render and manipulate all objects for gameplay.

Screen Capture of the Green Note Model in Blender

Screen Capture of Python Code for Aubio Sound Analysis

Audio Parsing

Keytar Hero uses the Python library Aubio, and specifically the program 'aubionotes' to parse through any given song using a fft (Fast Fourier Transform). In this way, users are able to add any .wav file to the 'Music' folder included with the program and subsequently access any of those songs in the game itself.

Project Download

To see and download most of the project contents, please click here.

To keep the size of the file reasonable, the Music folder has not been included. The primary purpose of including this download is to provide examples of my coding style; the program will not run without the installation of the appropriate modules and changing the appropriate file paths. More information about the project and required modules can be found in README.txt

Demonstration Video

Note: This video was created with a free trial of Camtasia, a screen-capturing and video editing program. It is very much an amateur video recorded and edited by me. Please excuse the Camtasia watermark and the poor video quality.