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 */
|