AIM: development history References PaXerson, Robinson, - - PowerPoint PPT Presentation

aim development history
SMART_READER_LITE
LIVE PREVIEW

AIM: development history References PaXerson, Robinson, - - PowerPoint PPT Presentation

Auditory Image Model for iOS: a real-6me mobile applica6on AIM-i Jieun Oh November 30, 2010 Psych 303 Project Presenta6on 1 AIM: development


slide-1
SLIDE 1

Auditory ¡Image ¡Model ¡for ¡iOS: ¡ a ¡real-­‑6me ¡mobile ¡applica6on ¡

AIM-­‑i ¡

Jieun ¡Oh ¡

November ¡30, ¡2010 ¡ Psych ¡303 ¡Project ¡Presenta6on ¡

1 ¡

slide-2
SLIDE 2

AIM: ¡development ¡history ¡

Implementa6ons ¡

  • “original” ¡version-­‑ ¡Unix ¡only ¡(aim1992: ¡1985-­‑1997) ¡
  • C ¡version ¡for ¡batch ¡processing ¡(aim2000) ¡
  • Matlab ¡versions ¡(aim2003 ¡& ¡2006) ¡
  • “legacy” ¡AIM-­‑C ¡(1996-­‑2000) ¡
  • “new” ¡AIM-­‑C ¡(2010, ¡Tom ¡Walters) ¡

References ¡

  • PaXerson, ¡Robinson, ¡Holdsworth, ¡McKeown, ¡Zhang, ¡

and ¡Allerhand ¡(1992) ¡

  • PaXerson, ¡Allerhand, ¡Giguere ¡(1995) ¡
  • PaXerson ¡(2000) ¡

2 ¡

slide-3
SLIDE 3

AIM: ¡modular ¡design ¡

  • 1. Spectral ¡Analysis ¡ ¡ ¡

¡ ¡Basilar ¡Membrane ¡Mo6on ¡(BMM) ¡

¡ ¡[gammatone ¡filtering ¡or ¡PZFC: ¡cochlear ¡filter ¡bank] ¡

  • 2. ¡Neural ¡Encoding ¡ ¡

¡ ¡Neural ¡Ac6vity ¡PaXern ¡(NAP) ¡

¡ ¡[halfway ¡rec6fica6on ¡+ ¡smoothing ¡to ¡simulate ¡hair ¡cells] ¡

  • 3. ¡Time-­‑Interval ¡Stabiliza6on ¡ ¡

¡ ¡Stabilized ¡Auditory ¡Image ¡(SAI) ¡ ¡

¡ ¡[strobed ¡temporal ¡integra6on ¡(or ¡autocorrela6on)] ¡

3 ¡

slide-4
SLIDE 4

AIM-­‑i: ¡context ¡& ¡mo6va6ons ¡

  • iOS: ¡iPod ¡Touch, ¡iPhone, ¡iPad ¡
  • (ideally) ¡a ¡real-­‑6me ¡mobile ¡applica6on ¡ ¡

From ¡user’s ¡POV: ¡ ¡

+ ¡No ¡downloading ¡dependencies, ¡makefiles, ¡etc. ¡Simply ¡ launch ¡the ¡app ¡and ¡use ¡GUI ¡

From ¡developer’s ¡POV: ¡ ¡

+ ¡No ¡need ¡to ¡worry ¡about ¡cross-­‑plaiorm ¡compa6bility ¡ issues ¡(for ¡audio ¡input ¡and ¡graphics ¡output) ¡

  • ­‑ processing ¡power ¡
  • ­‑ flexibility ¡(i.e. ¡OpenGL ¡ES) ¡

4 ¡

slide-5
SLIDE 5

AIM-­‑i: ¡implementa6on ¡overview ¡

  • Taken ¡from ¡AIM-­‑C: ¡

– BMM, ¡NAP, ¡Strobes, ¡SAI, ¡SSI ¡(“Modules”) ¡ – various ¡helper ¡classes ¡(“Support”) ¡

  • New ¡code ¡specific ¡to ¡AIM-­‑i: ¡
  • I. ¡Audio ¡Input ¡Module ¡
  • II. ¡Graphics ¡Output ¡Module ¡(with ¡OpenGL ¡ES1) ¡
  • III. ¡The ¡“glue” ¡
  • IV. ¡UI ¡
  • Link ¡All ¡Modules: ¡

Input ¡=> ¡BMM ¡=> ¡NAP ¡=> ¡Strobes ¡=> ¡SAI ¡=> ¡SSI ¡ ¡=> ¡output ¡

5 ¡

slide-6
SLIDE 6
  • Part ¡I ¡(in ¡ES1Renderer.mm): ¡ ¡

¡Access ¡input ¡audio ¡buffer ¡using ¡MoMu’s ¡MoAudio ¡and ¡save ¡as ¡ float* ¡Globals::inputBuffer ¡

  • Par ¡II ¡(in ¡ModuleiPhoneInput.cc): ¡ ¡

¡Push ¡data ¡to ¡process ¡through ¡the ¡modules ¡chain ¡

6 ¡

  • I. ¡Audio ¡Input ¡Module ¡

ModuleiPhoneInput.h/.cc ¡ ¡(subclass ¡of ¡aimc::Module) ¡ ¡

slide-7
SLIDE 7
  • Part ¡I ¡(in ¡ModuleiPhoneOutput.cc): ¡Populate ¡vector<float*> ¡Globals::outputV2 ¡

7 ¡

  • II. ¡Graphics ¡Output ¡Module ¡

ModuleiPhoneOutput.h/.cc ¡ ¡(subclass ¡of ¡aimc::Module) ¡ ¡ ¡

slide-8
SLIDE 8
  • Part ¡II ¡(in ¡ES1Renderer.mm): ¡Render ¡Globals::outputV2 ¡ ¡

8 ¡

  • II. ¡Graphics ¡Output ¡Module ¡(cont.) ¡

ModuleiPhoneOutput.h/.cc ¡ ¡(subclass ¡of ¡aimc::Module) ¡ ¡ ¡

slide-9
SLIDE 9

Globals ¡class ¡(sta6c ¡global ¡variables) ¡& ¡AIM ¡class ¡(sta6c ¡func6on ¡runAIM) ¡ AIM::runAIM() ¡spawned ¡as ¡a ¡thread ¡

9 ¡

  • III. ¡The ¡“glue” ¡

Globals.h/.mm ¡

slide-10
SLIDE 10

10 ¡

  • IV. ¡UI ¡

MainViewController.h/.mm ¡+ ¡FlipViewController.h/.mm ¡

slide-11
SLIDE 11
  • Dick ¡Lyon ¡

– introducing ¡me ¡to ¡AIM ¡ – feedback ¡and ¡advice ¡on ¡project ¡proposal ¡

  • Tom ¡Walters ¡

– AIM-­‑C ¡code ¡and ¡documenta6ons ¡ – advice ¡& ¡sugges6ons ¡over ¡email ¡and ¡in ¡person ¡

  • Music ¡| ¡Compu6ng ¡| ¡Design ¡at ¡CCRMA ¡

– iOS ¡devices ¡and ¡developer ¡account ¡ – Mobile ¡Music ¡Toolkit ¡

acknowledgment ¡

11 ¡

slide-12
SLIDE 12

12 ¡