stm.modular

screenshot of the stm.modular composition/performance enviornment

 

stm.modular is a real-time algorithmic composition instrument with a modular architecture that emphasizes the generation of multiple layers of data structure as controllers for all possible parameters of data or DSP engines. It allows for a sophisticated and precise control of all the levels of sound production and compositional structure.
The different modules are loaded through the server, which is based on a modified ver sion of the open-source lloopp server by Klaus Filip that has been redesigned with an algorithmic approach in order to support list and matrix operations. The modularity of the design extends from the use of a server/client paradigm to the utilization of the same abstractions and Graphical User Interface blocks within the different modules. Such blocks are used for controlling and randomizing parameters, defining distributions (for modules with multiple processors), setting audio inputs and outputs, crossfading lists and storing and retrieving presets.
stm.modular is a program under continuous development. This current version of the software is designed for personal use by its author. A new optimized version for Max/MSP/Jitter 4.6 is underway, taking full advantage of the improvements in the latest version of the programming language. This includes the refinement of the overall architecture, the use of JAVA for data manipulation, the addition of new features and of several new data, audio and video modules and OSC and networking support.
The current version stm.modular 0.9 runs on Max/MSP/Jitter 4.3. on PowerPC Apple Macintosh Computers (osx 10.2 or higher).

1. Hosts
stm.host: Main server; central module responsible for all communication within the environment
buffer_host: Main server for loading soundfiles
2. Data generation
stm.FuncGen: Algorithmic function generation and manipulation for lists
stm.Linden: Implements Lindenmayer systems and cellular automata
stm.GA: Implements evolutionary computation for lists, matrices and symbols
stm.ipeek:Translation of lists to buffers with interpolation
3. Data streaming
stm.LSE: List generation, manipulation and sequencing; works with stm.LSP
stm.LSP: Sequencing module and list manipulation; works autonomously and with stm.LSE
stm.interp: Micro-sequencer; interpolates algorithmically between two successive incoming values
stm.Lmap: Multiple macro-sequencer for synchronizing long sequences
4. Data mapping
stm.tune: Linear, non-linear and stochastic mapping of values
slave.stm: Scales and links any parameter to a number of other parameters
5. MIDI

ctlin.stm: Controls any parameter in the environment via MIDI
stm.ctlout: Sends controller values through MIDI
stm.WaldorfPulse: Control interface for the Waldorf Pulse analog synthesizer
6. Control signals
stm.Clock: Synchronization module for data and control signals within the environment and externally through MIDI
stm.ClockLight: Simpler version of the stm.Clock module
stm.adsr: Simple ADSR module with trigger and gate inputs
7. Audio Utilities
stm.bp: Buffer patch bay or sound bank; buffers loaded in the buffer_host are distributed through different instances of this module
stm.buffub: Records incoming audio
8. Audio analysis
stm.analyzer: Feature extraction of incoming audio for pitch, loudness, timing, noisiness and brightness in the micro-, note, and meso- level
stm.pfollow: Envelope follower and audio triggering module
stm.noisiness: Analyzes the noisiness of an incoming audio signal
9. Audio generation
stm.LGran: Controlled granular synthesis with different modes; allows global and individual controls for each granulator
stm.Bufosc: Two-dimensional wavetable oscillator with control-rate waveshaping
stm.Groover: Simple soundfile playback module
stm.mp3: Simple mp3 playback module with a playlist
10. Audio filtering
stm.FFT: FFT module with several modes; implements algorithmic FFT resynthesis, de-noising, vocoding, convolution and cross-synthesis
stm.comb: Comb filtering module; allows global and individual controls for each filter
stm.harm: Harmonizer module; allows global and individual controls for each filter
stm.Delay: Multitap delay module; central and individual control for each delay
stm.rm: Ring modulator, with dynamic waveforms
stm.FIR: Equalizer based on a Finite Impulse Response filter
stm.svf: State Variable Filter

Apart from these modules, patches from the original lloopp distribution can also be used in the environment.

 

stm.modular1

screenshot of the setup for the piece ‘Study for Digital Harpsichord Drumming’

 

stm.modular 2

screenshot of the setup for the piece ‘Two Poems by E. E. Cummings’

 

stm.modular 3

screenshot of the setup for the Computer Aided Breathing concert at <tag>, 24/01/2008

 

stm.modular screenshot - SelectInput

screenshot of the setup for the SelectInput concert at SCSI - TikTakIV, 08/02/2008