tomwalters@0: /*! tomwalters@0: \mainpage AIM-C developer documentation tomwalters@0: tomwalters@0: AIM-C is a real-time version of the the auditory image model (AIM) tomwalters@0: developed at the tomwalters@0: Centre for the Neural Basis of Hearing. tomwalters@0: tomwalters@0: AIM-C uses a block-based processing scheme. A mono input signal is tomwalters@0: split into short segments, which are sequentially 'pushed' through the tomwalters@0: processing pipeline. The pipeline consists of a number of modules in a tomwalters@0: tree structure. tomwalters@0: tomwalters@0: The basic unit of data in AIM-C is the signal bank, and the basic tomwalters@0: processing unit is the module. A signal bank represents a short tomwalters@0: segment, or 'frame', of an audio signal with multiple tomwalters@0: channels. Modules generally take a frame (represented as a signal tomwalters@0: bank) as input, and generate zero, one, or more signal bank frames as tomwalters@0: output. Each module is linked to a set of 'target' modules, to which tomwalters@0: they 'push' the frames which they generate. Each of these modules tomwalters@0: performs processing on the output of the previous module, and in turn, tomwalters@0: push the output that they produce to their targets. tomwalters@0: tomwalters@0: This feed-forward, tree-like system allows modules to retain the internal tomwalters@0: state required for processing tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: You can browse the classes using the browser at the left, or tomwalters@0: select a page from the contents below. tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: Coding style tomwalters@0: tomwalters@0: For the most part, AIM-C now follows the tomwalters@0: Google C++ style guide. The original (2006-2009) AIM-C codebase tomwalters@0: used a different style, and so you may find some files which still tomwalters@0: follow the older conventions. New code should adhere to the Google style tomwalters@0: guide. tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: */