aim development history
play

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


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

  2. AIM: ¡development ¡history ¡ References ¡ • PaXerson, ¡Robinson, ¡Holdsworth, ¡McKeown, ¡Zhang, ¡ and ¡Allerhand ¡(1992) ¡ • PaXerson, ¡Allerhand, ¡Giguere ¡(1995) ¡ • PaXerson ¡(2000) ¡ 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) ¡ 2 ¡

  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 ¡

  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 ¡

  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 ¡

  6. I. ¡Audio ¡Input ¡Module ¡ ModuleiPhoneInput.h/.cc ¡ ¡ (subclass ¡of ¡aimc::Module) ¡ ¡ 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 ¡

  7. II. ¡Graphics ¡Output ¡Module ¡ ModuleiPhoneOutput.h/.cc ¡ ¡ (subclass ¡of ¡aimc::Module) ¡ ¡ ¡ Part ¡I ¡(in ¡ModuleiPhoneOutput.cc): ¡Populate ¡vector<float*> ¡Globals::outputV2 ¡ • 7 ¡

  8. II. ¡Graphics ¡Output ¡Module ¡ (cont.) ¡ ModuleiPhoneOutput.h/.cc ¡ ¡ (subclass ¡of ¡aimc::Module) ¡ ¡ ¡ Part ¡II ¡(in ¡ES1Renderer.mm): ¡Render ¡Globals::outputV2 ¡ ¡ • 8 ¡

  9. III. ¡The ¡“glue” ¡ Globals.h/.mm ¡ Globals ¡class ¡(sta6c ¡global ¡variables) ¡& ¡AIM ¡class ¡(sta6c ¡func6on ¡runAIM) ¡ AIM::runAIM() ¡spawned ¡as ¡a ¡thread ¡ 9 ¡

  10. IV. ¡UI ¡ MainViewController.h/.mm ¡+ ¡FlipViewController.h/.mm ¡ 10 ¡

  11. acknowledgment ¡ • 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 ¡ 11 ¡

  12. 12 ¡

Recommend


More recommend