Metamorph is a new open source library for performing high-level sound transformations based on a sinusoids plus noise plus transients model. It is written in C++, can be built as both a Python extension module and a Csound opcode, and currently runs on Mac OS X and Linux.
It is designed to work primarily on monophonic, quasi-harmonic sound sources and can be used in a non-real-time context to process pre-recorded sound files or can operate in a real-time (streaming) mode.
Metamorph is available under the terms of the GNU General Public License (GPL).
- Python (>= 2.6.*)
- Cython
- NumPy
- SciPy
Note: Currently Metamorph must be built from the source code, but I hope to provide prebuilt binaries (in particular for the Csound opcodes) soon.
To build and install the C++ module, from the metamorph root folder run:
$ mkdir build $ cd build $ cmake .. $ make $ sudo make install
To build and install the Python module, from the metamorph root folder run:
$ python setup.py build $ python setup.py install
To build the Csound opcodes, from the metamorph root folder run:
$ cd csound $ mkdir build $ cd build $ cmake .. $ make
See the scripts in the examples folder.
See csound/example.csd
and csound/example_rt.csd
.
To run the Csound examples, Csound must be able to find the Metamorph opcodes. You can either copy them to your $OPCODEDIR, or point Csound to them directly at run time, eg:
$ cd csound $ csound --opcode-lib=build/libmmop.dylib example.csd