annotate doc/dox-mainpage.dox @ 6:8c859ef1fb75

- Added a basic main function to test that all the can be fitted together - Fixed an initialisation bug in ModuleFileInput that left the buffer size at zero - Added proper description strings to the input and output modules - Fixed an out-by-a-factor-of-1000 bug in the SAI memory allocation (oops) - Added LOG_INFO_NN fucnction to log without a newline. Useful for the ASCII art module chain in aimc.cc.
author tomwalters
date Thu, 18 Feb 2010 19:35:07 +0000
parents 582cbe817f2c
children 3078854c634a
rev   line source
tomwalters@0 1 /*!
tomwalters@0 2 \mainpage AIM-C developer documentation
tomwalters@0 3
tomwalters@0 4 AIM-C is a real-time version of the the auditory image model (AIM)
tomwalters@0 5 developed at the <a href="http://www.pdn.cam.ac.uk/groups/cnbh/">
tomwalters@0 6 Centre for the Neural Basis of Hearing</a>.
tomwalters@0 7
tomwalters@0 8 AIM-C uses a block-based processing scheme. A mono input signal is
tomwalters@0 9 split into short segments, which are sequentially 'pushed' through the
tomwalters@0 10 processing pipeline. The pipeline consists of a number of modules in a
tomwalters@0 11 tree structure.
tomwalters@0 12
tomwalters@0 13 The basic unit of data in AIM-C is the signal bank, and the basic
tomwalters@0 14 processing unit is the module. A signal bank represents a short
tomwalters@0 15 segment, or 'frame', of an audio signal with multiple
tomwalters@0 16 channels. Modules generally take a frame (represented as a signal
tomwalters@0 17 bank) as input, and generate zero, one, or more signal bank frames as
tomwalters@0 18 output. Each module is linked to a set of 'target' modules, to which
tomwalters@0 19 they 'push' the frames which they generate. Each of these modules
tomwalters@0 20 performs processing on the output of the previous module, and in turn,
tomwalters@0 21 push the output that they produce to their targets.
tomwalters@0 22
tomwalters@0 23 This feed-forward, tree-like system allows modules to retain the internal
tomwalters@0 24 state required for processing
tomwalters@0 25
tomwalters@0 26
tomwalters@0 27
tomwalters@0 28
tomwalters@0 29 You can browse the classes using the browser at the left, or
tomwalters@0 30 select a page from the contents below.
tomwalters@0 31
tomwalters@0 32
tomwalters@0 33
tomwalters@0 34
tomwalters@0 35
tomwalters@0 36 Coding style
tomwalters@0 37
tomwalters@0 38 For the most part, AIM-C now follows the <a
tomwalters@0 39 href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">
tomwalters@0 40 Google C++ style guide</a>. The original (2006-2009) AIM-C codebase
tomwalters@0 41 used a different style, and so you may find some files which still
tomwalters@0 42 follow the older conventions. New code should adhere to the Google style
tomwalters@0 43 guide.
tomwalters@0 44
tomwalters@0 45
tomwalters@0 46
tomwalters@0 47
tomwalters@0 48
tomwalters@0 49 */