Projects / SpectMorph


SpectMorph allows you to analyze samples of musical instruments and to combine them (morphing). It can be used to construct hybrid sounds, e.g. a sound between a trumpet and a flute, or smooth transitions, e.g. a sound that starts as a trumpet and then gradually changes to a flute. Interpolating between two samples of the same instrument (different attack velocity of a piano) could be interesting. The analysis process decomposes samples into a sum of sine waves (corresponding to the partials present in the signal, or the part of the signal perceived as "tone") and additional noise. SpectMorph is thus based on the research on Spectral Modelling Synthesis.

Operating Systems

Recent releases

  •  21 Jul 2011 17:37

    Release Notes: This release implements sound morphing between instruments. The JACK/BEAST GUI has been adapted to control the morphing process. sminspector, a graphical tool for visualizing the instrument models used by SpectMorph, has been added. There are various smaller fixes and improvements.

    •  19 Nov 2010 19:47

      Release Notes: The decoder code has been carefully performance tuned, which should allow high polyphony (100 to 300 voices, depending on the CPU), so SpectMorph plays instruments efficient enough to be used in real world compositions. The new SoundFont import program allows generating instruments from existing SoundFonts easily. The SpectMorph instrument file format now allows stereo files, velocity layers, and time loops. The noise component of sounds is now based on 32 perceptual noise bands, which usually should sound the same or better while requiring less CPU power and storage size.

      •  11 Aug 2010 14:58

        Release Notes: Playing SpectMorph instruments live is now supported through a JACK client or a BEAST plugin. Many improvements have gone into the file format, and it's now possible to distribute instruments built from many samples/models as one single file. Looping is possible now, as well as tuning the notes of an instrument automatically. Finally, the encoder should produce better results at note start.

        •  02 Jul 2010 07:12

          Release Notes: An algorithm to find attack envelope was added. This makes piano sound much more realistic. A tool to manage multiwave files (smwavset) was introduced. Refactoring, cleanups, and bugfixes were done.

          •  16 May 2010 20:59

            Release Notes: Samples are now encoded in a way that the phase can be reconstructed from the SpectMorph model. There are new encoder algorithms (-O0 -O1 -O2) that compute phase information with different accuracy. Manual pages and API documentation are now available. The encoding algorithm was moved to libspectmorph. A Python binding was added. Automated tests were added. SSE optimizations speed up the encoding process. A different thresholding scheme in the encoder should improve sound quality. Various bugfixes.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.