Mercurial > hg > aimc
view doc/dox-mainpage.dox @ 33:f8fe1aadf097
-Modified AIMCopy for slices experiment
-Added gen_features script to just generate features for a given SNR
author | tomwalters |
---|---|
date | Thu, 25 Feb 2010 23:08:08 +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. */