View
213
Download
0
Category
Preview:
Citation preview
My BeatsMy BeatsKaren TippingDylan BarrettMike Smith
Overview
Goal: To dynamically create tracks for guitar hero using any song as input.
Terminology for our project Song Track Button Segment
Technology
Frets on Fire (FoF) Analyze by The Echo Nest Java
Timeline: Sept. 17 – Oct. 1
Mike: Create functions to gather data from Analyze, which outputs an XML description file Uses description to create list of song notes
Dylan: Reverse engineer the MIDI file format used by Frets on Fire Generate our own FoF tracks
Karen: Convert MP3 to OGG Embed conversion within Java tool
Using Analyze's XML File
Parse XML to: Locate song segments
Each segment corresponds to a note Find common song structures
Create Musical Data Structure Linked List
Sequential nodes define note progression
Segment XML File<?xml version="1.0" encoding="UTF-8"?><response version="2"> <status> <code>0</code> <message>Success</message> </status> <thingID>TRLFPPE11C3F10749F</thingID> <method>segmentslt;/method> <analysis> <segment start="2.54562" duration="0.29587"> <loudness> <dB time="0">-29.707</dB> <dB type="max" time="0.03483">-25.351</dB> </loudness> <pitches> <pitch>0.009</pitch> <pitch>0.090</pitch> <pitch>0.010</pitch> <pitch>0.018</pitch> <pitch>1.000</pitch> <pitch>0.017</pitch> <pitch>0.005</pitch> <pitch>0.005</pitch> <pitch>0.028</pitch> <pitch>0.383</pitch> <pitch>0.010</pitch> <pitch>0.016</pitch> </pitches>
<timbre> <coeff>31.132</coeff> <coeff>-51.574</coeff> <coeff>92.135</coeff> <coeff>60.049</coeff> <coeff>77.614</coeff> <coeff>-17.629</coeff> <coeff>-47.819</coeff> <coeff>6.888</coeff> <coeff>17.400</coeff> <coeff>-0.635</coeff> <coeff>-8.109</coeff> <coeff>-45.552</coeff> </timbre> </segment> </analysis></response>
Example
MIDI Format in Frets on Fire
SuperEasy
Easy
Medium
Hard
60 61 62 63 64
72 73 74 75 76
84 85 86 87 88
96 97 98 99 100
Timeline: Oct. 1 – Oct. 8
Dylan, Karen, Mike: Integration Generate preliminary simple test track
Each song note mapped to a single button Timing test
Timeline: Oct. 8 – Oct. 22
Two weeks Karen: Mapping notes to buttons
Different for each song
Mike: Build a Suffix Tree Way to identify common sequences
SuperEasy, Easy, Medium, and Hard Easy Difficulty
Common repetitive structures Low frequency of notes
Harder Difficulties Includes more notes and less common structures Building on what's already in the lower difficulties
Timeline: Oct. 22 – Nov. 12
All of us: Making better tracks you'd like to play Heuristics remove notes from song for track
Note frequency, and concurrency Remove more for easier difficulties
Curve Sampling
Mathematical Curve Sampling
Determines which notes are needed to get across the same basic musical structure
Timeline: Nov. 12 – End of Semester
Karen, Mike, Dylan: Final integration Play our dynamically created tracks on FoF Tweak heuristics Fix bugs
Questions?Questions?
Recommended