Dynamically Generated Music Tracks A New Approach to the Modern Guitar Hero.

Slides:



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

MUSC1010 – WEEK 3 Adobe Audition. Mixing Waves and Phase Figure 1 - Two simple waves in phase Figure 2 - Two simple waves out of phase Figure 3 - two.
Decision Tree Approach in Data Mining
Video Game Design Lesson 1. Game Designer Person involved in the development of a video game Person involved in the development of a video game Usually.
MXF An Introduction. MXF An Introduction What is MXF ? What does it do ? How does it do it ? Please feel free to ask questions !
PRESENTATION 3 Sri Raguraman CIS 895 Kansas State University.
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
Another Guitar Hero/Rockband spinoff. But better! KEYBAND.
Guitar Trainer Adam Janke CS 470 Final Presentation.
Black & White To analyze and critique the AI used Amanda Yaklin.
My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
1 Software Testing and Quality Assurance Lecture 41 – Software Quality Assurance.
MyBeats Michael Smith. Integration Plans Entry Criteria Integration and Testing Error Documentation and Resolution Exit Criteria.
Russell Taylor Lecturer in Computing & Business Studies.
Games For People Who Are Blind By: Ben Ehrich Scott Holland Megan Wallace.
1 My Beats Final Presentation Mike Smith, Karen Tipping, Dylan Barrett.
Action Verbs By Ms. Emily What is an Action Verb? An action verb is a word that shows action.
GarageBand Basics: “Getting the Band Back Together” Nick Gogno Technology Applications for the Classroom Nick Gogno Technology Applications for the Classroom.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
infinity-project.org Engineering education for today’s classroom 53 Design Problem - Digital Band Build a digital system that can create music of any.
Multiple Input/Output Connector Shalini Agarwal Oxygen Conference January 8 th, 2002.
I. Information Year 9 Arts Homework This project is for Year 9 students who are NOT completing the Bronze Arts Award. You are going to learn a new arts.
Digital Sound and Video Chapter 10, Exploring the Digital Domain.
SSIS Over DTS Sagayaraj Putti (139460). 5 September What is DTS?  Data Transformation Services (DTS)  DTS is a set of objects and utilities that.
CC0002NI – Computer Programming Computer Programming Er. Saroj Sharan Regmi Week 7.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Choose between Access and Excel Right questions, right program If you’re having trouble choosing between Access and Excel, take a moment to answer an important.
Creating Soundtracks and more with GarageBand. Timeline Track HeaderTrack Mixer Transport Controls Instrument Fx & Loop Browser Time display/tuner Master.
ADVANCED DESIGN APPLICATIONS UNIT 4 - MANUFACTURING © 2015 International Technology and Engineering Educators Association, Learning Cycle Three – Looping.
Copyright © Curt Hill Sounds, Resource Packs, JSON What more would you want?
Program documentation Using the Doxygen tool Program documentation1.
Introduction of Geoprocessing Topic 7a 4/10/2007.
CSE 219 Computer Science III Program Design Principles.
Verb Expansion Game Team 3 Bryan Bloss Jeremy Comardelle Gordon Gable Gleyner Garden Sponsored By: Dr. Beth Young.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
SOFTWARE FOR LUTE TABLATURES PROJECT PROPOSED BY:
GarageBand Jessica Moidel Intro to Music Technology Final Presentation April 21, 2009.
James Hornsby Connor Bradshaw 1168 Unit 1. Unit Unit  I will use Garageband because it has simple user interface, it is easy to use.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 5 Looping.
Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems.
1 Electrical and Computer Engineering Guitar Virtuos Justin D’Alessando (EE) Jacob Dionne (CSE) Adam Montalbano (CSE) Jeffrey Newton (EE) Team Kelly Comprehensive.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
Introduction of Geoprocessing Lecture 9. Geoprocessing  Geoprocessing is any GIS operation used to manipulate data. A typical geoprocessing operation.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Ulead Video Studio is an easy to use video editing software that allows even the novice of movie makers to produce a professional project complete with.
1 Task 4 – Advanced Topics - Introduction  Chris Woyton  Support/Training 
QBSH Corpus The QBSH corpus provided by Roger Jang [1] consists of recordings of children’s songs from students taking the course “Audio Signal Processing.
1 Standard Version of Starting Out with C++, 4th Brief Edition Chapter 5 Looping.
Quick Record (Simple Song) 1. Press the Record Button 2. Press the (F2) Soft Button to select Quick Record 3.Press the Play Button to start the recording.
Glencoe Introduction to Multimedia Chapter 8 Audio 1 Section 8.1 Audio in Multimedia Audio plays many roles in multimedia. Effective use in multimedia.
Introduction of Geoprocessing Lecture 9 3/24/2008.
Machine Learning in Practice Lecture 9 Carolyn Penstein Rosé Language Technologies Institute/ Human-Computer Interaction Institute.
Origami: Scientific Distributed Workflow in McIDAS-V Maciek Smuga-Otto, Bruce Flynn (also Bob Knuteson, Ray Garcia) SSEC.
Design of a Guitar Tab Player in MATLAB Summary Lecture Module 1: Modeling a Guitar Signal.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
CONDITIONALS CITS1001. Scope of this lecture if statements switch statements Source ppts: Objects First with Java - A Practical Introduction using BlueJ,
- Sachin Singh. Data Mining - Concepts Extracting meaningful knowledge from huge chunk of ‘raw’ data. Types –Association –Classification –Temporal.
Mind Mapping Software: Uses and Benefits for Education.
10.1 Applying the Counting Principle and Permutations.
Features of Authoring Tools
Rapid Prototyping using UDK
Creating Simple Music By Keith Lynn
Coding Concepts (Basics)
Agile testing for web API with Postman
PRODUCTION PHASES CHANGES
Enhance your Recording and Mixing Skills by Grayspark Audio Academy
Presentation transcript:

Dynamically Generated Music Tracks A New Approach to the Modern Guitar Hero

Our Team Michael Smith (myself) Dylan Barrett Karen Tipping

Currently Current play along music games allow: Instrumental controllers (guitar, drums) Different difficulty levels Variety of pre-made songs

Examples “Guitar Hero” - Activision “Rock Band” - Harmonix “Frets of Fire” - Open Source Project

Watch

Music Tracks All the current games function the same. Tracks pre-coded by hand. Can only play songs that have been composed. Composed tracks are ‘perfect’.

Downside Limited song selection Song ownership

Alternative Dynamically create music tracks For song of players choice

Imagine A New Game When a user plays the game: Can play any song they own At a desired difficulty level Can play any instrument in song If they have the add-on for it

Instrument Add-On Each instrument fundamentally different from others. Different handlers for different functionality. Similar to device drivers. Ex: Guitar add-on lets user play any guitar track found in any song

So.... User will choose a song User will choose a difficulty setting User will choose an instrument Game will generate a track for that song For that instrument At that difficulty setting

Project Scope Described game very complex Only have a single semester Narrow down the focus to create an effective Proof of Concept demonstration Take advantage of tools already available to save time

Existing Framework Open Source “Frets of Fire” Designed for guitar Playable track stored as MIDI file MIDI file basically a musical XML

Our Goal Create a tool that: Takes a Guitar only song Analyzes the song Outputs a playable track In Frets of Fire format At a selected difficulty setting

Data Gathering Need location and values of musical notes Similar to creating a music visualization Tool called Analyze from The Echo Nest Returns XML file with comprehensive data about a submitted song the.echonest.com/analyze/

Analyze Demo Music visualizer created by Anita Lillie of MIT using this tool shows its power.

Data Recording Parse the XML to: locate notes find song structure (solo’s, chorus, etc...) Create a Musical Data Structure to record the information Linked List Node contains Note and Timing

Track Generation Range of notes need to be compressed Need to fit range of controller Ex: Current Guitar games have 5 notes Not all notes should be put into track Ex: Hendrix vs Average Player Variations between difficulty levels

Difficulty Levels Easy (least note density, more repetitive) Find common repeated note structures Fewest notes needed for that structure Medium Greater density, less repetitive notes Hard Solo’s, high note density, least predictable For harder levels, add in more of

How to Decide Structural analysis on the song A Suffix Tree can find common sub- sequences/patterns of notes Use a set of Heuristics to make decisions Evaluate note density, timing, etc... Heuristic values can be adjusted Player response = better gameplay

First Stage Tasks Timeline: weeks Reverse Engineer FoF MIDI file format Use javax.sound.midi to create MIDI files Simple music clips to understand Analyze Create java functions to extract the data

Second Stage Tasks Timeline: weeks Define Musical Structure Create a set of plausible Heuristics Consult with School of Music

Third Stage Tasks Timeline: weeks Generate FoF formatted songs using all previously created tools

Fourth Stage Tasks Timeline: remaining time Test code for errors Run game to tweak heuristics for better play

Questions?