1 / 14

My Beats

My Beats. Karen Tipping Dylan Barrett Mike 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.

lam
Download Presentation

My Beats

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. My Beats Karen Tipping Dylan Barrett Mike Smith

  2. Overview • Goal: To dynamically create tracks for guitar hero using any song as input. • Terminology for our project • Song • Track • Button • Segment

  3. Technology • Frets on Fire (FoF)‏ • Analyze by The Echo Nest • Java

  4. 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

  5. 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

  6. <?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> Segment XML File Example <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>

  7. MIDI Format in Frets on Fire 60 61 62 63 64 SuperEasy Easy Medium Hard 72 73 74 75 76 84 85 86 87 88 96 100 97 98 99

  8. Timeline: Oct. 1 – Oct. 8 • Dylan, Karen, Mike: Integration • Generate preliminary simple test track • Each song note mapped to a single button • Timing test

  9. 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

  10. 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

  11. 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

  12. Mathematical Curve Sampling • Determines which notes are needed to get across the same basic musical structure

  13. Timeline: Nov. 12 – End of Semester • Karen, Mike, Dylan: Final integration • Play our dynamically created tracks on FoF • Tweak heuristics • Fix bugs

  14. Questions?

More Related