Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14My BeatsMy BeatsKaren TippingDylan BarrettMike SmithOverviewGoal: To dynamically create tracks for guitar hero using any song as input.Terminology for our projectSongTrackButtonSegmentTechnologyFrets on Fire (FoF)Analyze by The Echo NestJavaTimeline: Sept. 17 – Oct. 1 Mike: Create functions to gather data from Analyze, which outputs an XML description fileUses description to create list of song notesDylan: Reverse engineer the MIDI file format used by Frets on FireGenerate our own FoF tracksKaren: Convert MP3 to OGGEmbed conversion within Java toolUsing Analyze's XML FileParse XML to:Locate song segmentsEach segment corresponds to a noteFind common song structuresCreate Musical Data StructureLinked ListSequential nodes define note progressionSegment 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>ExampleMIDI Format in Frets on FireSuperEa s yEasyMediumHard60 61 62 63 6472 73 74 75 7684 85 86 87 889697 98 99100Timeline: Oct. 1 – Oct. 8Dylan, Karen, Mike: IntegrationGenerate preliminary simple test trackEach song note mapped to a single buttonTiming testTimeline: Oct. 8 – Oct. 22Two weeksKaren: Mapping notes to buttonsDifferent for each songMike: Build a Suffix TreeWay to identify common sequencesSuperEasy, Easy, Medium, and HardEasy DifficultyCommon repetitive structuresLow frequency of notesHarder DifficultiesIncludes more notes and less common structuresBuilding on what's already in the lower difficultiesTimeline: Oct. 22 – Nov. 12All of us: Making better tracks you'd like to playHeuristics remove notes from song for trackNote frequency, and concurrencyRemove more for easier difficultiesCurve SamplingMathematical Curve SamplingDetermines which notes are needed to get across the same basic musical structureTimeline: Nov. 12 – End of SemesterKaren, Mike, Dylan: Final integrationPlay our dynamically created tracks on FoFTweak heuristicsFix
View Full Document