Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
SONOTOPY Original author: Alexander Berman (see http://nimations.com) Github repo: https://github.com/alex-berman/sonotopy Contact: firstname.lastname@example.org ////////////////////////////////////////////////////////////////////////////// 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.