Presentation is loading. Please wait.

Presentation is loading. Please wait.

My Beats Implementation and Testing Dylan Barrett Karen Tipping, Mike Smith.

Similar presentations

Presentation on theme: "My Beats Implementation and Testing Dylan Barrett Karen Tipping, Mike Smith."— Presentation transcript:

1 My Beats Implementation and Testing Dylan Barrett Karen Tipping, Mike Smith

2 Project Overview Goal: Dynamically create tracks from mp3 file for Guitar Hero like game Develop a set of heuristics to create the best possible tracks for the songs Output files that are playable on Frets on Fire, an existing Guitar Hero clone

3 Tools We will be using: Java SE 6 analyze Frets on Fire JUnit eclipse

4 Project Structure Broken down into 6 modules: MyBeats (Main module)‏ AnalyzeInteraction TrackGenerator MidiGenerator OggGenerator DataStructures

5 Project Structure Mp3 Ogg Midi

6 The MyBeats Module Entry point of application Parse command line arguments and options java MyBeats -t “My Song” -a “Artist” song.mp3 GetOpt Coordinates flow among other modules Exception handling

7 The AnalyzeInteraction Module Uploads mp3 file to analyze server Queries analyze server for XML file Stores information from XML into Segment data structure

8 The TrackGenerator Module Largest part of project Map Segments to Notes Map Notes to Buttons Constantly adjusting heuristics Decide difficulty levels

9 The MidiGenerator Module Takes list of buttons for the song as input Creates a Midi file formatted to work with Frets on Fire The track for each difficulty level can be included in a single Midi file SuperEasy Easy Medium Hard 6061626364 7273747576 8485868788 96 979899 100

10 The OggGenerator Module Frets on Fire uses the Ogg file format, rather than mp3, for the background music Need to convert the mp3 file to Ogg Cross Platform solution? Separate downloads for each major OS Single download which adapts to OS

11 The DataStructures Module Contains data structures used by all other modules SongInfo class Segment class Note class Button class

12 Existing Libraries javax.sound.midi Contains classes that can be used to input, output, and work with midi files javax.xml Useful for parsing xml files obtained from analyze GetOpt Makes parsing options from the command line easy!

13 Unit Testing Need to test each module Each group member will test the other members' code Try to break the program Example: Command line input in the MyBeats module Test each function of each module using JUnit

14 Who Does What MyBeats (Main module) --> Dylan and Karen AnalyzeInteraction --> Mike TrackGenerator --> Mike, Dylan, Karen MidiGenerator --> Dylan OggGenerator --> Karen DataStructures --> Mike, Dylan, Karen Unit Testing --> Mike, Dylan, Karen

15 Looking Forward Complete individual modules Write unit tests for each module Prepare for integration

16 Questions?

Download ppt "My Beats Implementation and Testing Dylan Barrett Karen Tipping, Mike Smith."

Similar presentations

Ads by Google