-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME
More file actions
101 lines (64 loc) · 3.1 KB
/
Copy pathREADME
File metadata and controls
101 lines (64 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
SONOTOPY
Original author: Alexander Berman (see http://nimations.com)
Github repo: https://github.com/alex-berman/sonotopy
Contact: alex@nimations.com
//////////////////////////////////////////////////////////////////////////////
Sonotopy: the mapping of sound (from Latin sonus for sound, topica for place)
Sonotopy is a C++ library for perceptually analyzing the contents of
an acoustic signal in real time. Its primary use is to map sound
streams such as music or voice to a visual or other kind of output.
The library consists of novel techniques to extract high-level
features from an acoustic waveform. These numeric feature values can
be interpreted as e.g. shapes, colors or motion parameters. The
library also gives access to lower levels of processing such as
spectral distribution.
Typical uses:
- visualization of music, beat-sensitive visuals
- dancing toys and robots
- artistic explorations of interactions between sound and other senses
Key features:
- implements a simple psychoacoustic model of the human hearing system,
resulting in a natural response
- autonomy: continuous adaption using biologically inspired algorithms
(neural networks) eliminates the need of offline training or manual user
adjustments
- efficient implementation in C++, supporting real-time processing
- high-level API: complex processing and large parameter sets are
hidden behind simple abstractions
- cross-platform: the library compiles and runs on Linux, Mac OS X and Windows
- noise robustness: the adaptivity and psychoacoustic modelling
limit the effects of noise in the signal
//////////////////////////////////////////////////////////////////////////////
EXAMPLE VIDEOS
Example videos with different feature types can be found at
http://vimeo.com/channels/206361
//////////////////////////////////////////////////////////////////////////////
CONTRIBUTING
Anyone is welcome to contribute to the project. Currently, the main
areas where contributions are requested are:
- Using the library and providing feedback to further development
- Building demos and applications
- Integration with other software (see the roadmap above)
- Developments of the library core (ideas and/or implementation)
But this list can easily be extended; if you have other ideas, get in touch.
//////////////////////////////////////////////////////////////////////////////
REQUIREMENTS
Sonotopy is built using Scons:
http://www.scons.org/
(or: apt-get install scons)
Sonotopy requires FFTW3:
http://www.fftw.org/
(or: apt-get install libfftw3-dev)
//////////////////////////////////////////////////////////////////////////////
INSTALLATION
To build the library, run "scons" in the root directory.
To install the library and header files, run "sudo scons install".
//////////////////////////////////////////////////////////////////////////////
RUNTIME EXAMPLES
Sonotopy is bundled with a demo. To build the demo:
sudo scons uilib install
scons examples
Requirements:
apt-get install portaudio19-dev libsndfile1-dev freeglut3-dev
To execute the demo, run "build/release/examples/DemoBrowser". For usage
instructions, run DemoBrowser with the -h flag.