Library for perceptually analyzing an acoustic signal in real time
C++ Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
include/sonotopy
lab
performanceTest
src
uilib
unittests
.gitignore
LICENCE
README
SConstruct

README

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.