14
My Beats My Beats Karen Tipping Dylan Barrett Mike Smith

My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

My BeatsMy BeatsKaren TippingDylan BarrettMike Smith

Page 2: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

Overview

Goal: To dynamically create tracks for guitar hero using any song as input.

Terminology for our project Song Track Button Segment

Page 3: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

Technology

Frets on Fire (FoF) Analyze by The Echo Nest Java

Page 4: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 5: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 6: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 7: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 8: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

Timeline: Oct. 1 – Oct. 8

Dylan, Karen, Mike: Integration Generate preliminary simple test track

Each song note mapped to a single button Timing test

Page 9: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 10: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 11: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

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

Page 12: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

Mathematical Curve Sampling

Determines which notes are needed to get across the same basic musical structure

Page 13: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

Timeline: Nov. 12 – End of Semester

Karen, Mike, Dylan: Final integration Play our dynamically created tracks on FoF Tweak heuristics Fix bugs

Page 14: My Beats Karen Tipping Dylan Barrett Mike Smith. Overview Goal: To dynamically create tracks for guitar hero using any song as input. Terminology for

Questions?Questions?