Download presentation
Presentation is loading. Please wait.
1
1 My Beats Final Presentation Mike Smith, Karen Tipping, Dylan Barrett
2
Project Overview Goal: Create a dynamic track generator to allow any song to be played on beat games Key Ideas: Use Analyze to get musical information Use heuristics to effectively map song to tracks of multiple difficulty levels Use Frets on Fire as (temporary) front end
3
Analyze Interaction Outsource the song analysis Create Connection to upload song Retrieve results
4
Scale Conundrum A single 12 pitch scale A,B,C....,E,F,G with some #’s thrown in Overall key of the song Whole song not within major key Can’t reliably create tracks
5
Future Improvements Need another 10% Modularity = Easy Swappability Better Track processing Based on actual song structure
6
Track Generation Start: List of Notes Map to Buttons Even distribution Run Heuristics to generate levels Output Song Tracks
7
Heuristics Lowest Priority notes first to be cut Volume Higher priority to louder, more distinct notes Note Density Higher priority to more isolated notes
8
Heuristics Cont Note Progression: Low priority if: Note in middle of increase/decrease or level segment Moderate priority if: Note same as before or after note High priority if: Note is distinct
9
The MIDI Generator Input: Tracks generated from song data and stored in a convenient data structure We must now put this information in a MIDI file EASY We must make sure it follows Frets on Fire’s (undocumented) format HARD
10
The MIDI Generator Procedure: Create MIDI sequence using Java MIDI library Loop through track information and add events for each of the tracks Trouble: Generated MIDI files crashed Frets on Fire Needed to reverse engineer Frets on Fire sample MIDI file
11
Timing Troubles Frets on Fire Song plays alongside a MID file Song is based on actual time MID is based on BPM, Notes/Beat, and Ticks per Quarter Note Even hand made songs are difficult to get right
12
The OGG Generator Goal: Allow My Beats to accept multiple audio file types and convert (if necessary) to OGG type for Frets on Fire Problem: No cross platform solution! Solution: Include code for converting files for each major OS and let Java runtime decide which to use Compromise: Include existing converters
13
Future Plans Replace (or upgrade) Analyze to allow for differentiation between scales Create a better set of heuristics Replace Frets on Fire with our own front end Integrated file conversion (necessary ??)
14
Demonstration On Mike’s Laptop!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.