Mercurial > hg > aimc
view doc/dox-mainpage.dox @ 12:d67a0a83d11b
-Profile module for taking slices of an SAI or SSI (or anything else for that matter)
-Stub SSI module - not yet complete
-Fixes to the module template
author | tomwalters |
---|---|
date | Fri, 19 Feb 2010 13:07:54 +0000 |
parents | 3078854c634a |
children |
line wrap: on
line source
/*! \mainpage AIM-C developer documentation \section intro_sec Introduction AIM-C is a real-time version of the the auditory image model (AIM) developed at the <a href="http://www.pdn.cam.ac.uk/groups/cnbh/"> Centre for the Neural Basis of Hearing</a>. The main development site for AIM-C is at http://aimc.acousticscale.org/. The code is available at http://code.google.com/p/aimc/. \section design_sec Design AIM-C uses a block-based processing scheme. A mono input signal is split into short segments, which are sequentially 'pushed' through the processing pipeline. The pipeline consists of a number of modules in a tree structure. The basic unit of data in AIM-C is the signal bank, and the basic processing unit is the module. A signal bank represents a short segment, or 'frame', of an audio signal with multiple channels. Modules generally take a frame (represented as a signal bank) as input, and generate zero, one, or more signal bank frames as output. Each module maintains a list of 'target' modules, to which it 'pushes' the frames that it generates. Each module performs processing on the output of the previous module, and in turn, push the output that they produce to their targets. This feed-forward, tree-like system allows modules to generate as many output frames as necessary for each input frame. It also allows for easy 'rewiring' of chains of modules. For example, a 'viewer' module could be temporarily added as a target of another module while the user was interested in seeing that module's output. Since each module is an instance of a class, it can retain the necessary state variables within the class between calls. \section style_sec Coding style For the most part, AIM-C now follows the <a href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml"> Google C++ style guide</a>. The original (2006-2009) AIM-C codebase used a different style, and so you may find some files which still follow the older conventions. New code should adhere to the Google style guide. */