The Mx44 is a polyphonic multichannel midi realtime software synthesizer. It is written in C and hand optimized for the (Intel) MMX instruction set. It runs under Linux, using any kernel modified for realtime performance. The sourcecode is licensed under GPL.
The core algorithm is a 4 x 4 crossmodulating matrix (phase and amplitude) with individual envelopes for each oscillator. Oscillators have individual frequency intonation, can emphasize any of the eight first harmonics and even do some internal crossmodulation. Envelopes can be switched between VCA and VCF modes (ehrm, actually wawe-shaping, but it will quack like a duck by any other name.) The sustainloop of the envelope can be brought into oscillation in the audible spectre as well as provide slow LFO sweeps. There is also a minor load of key and velocity related modifications for wowie zowie realtime ecstacy emulation.
It is very good for esoteric pads and ultra electric leads. I use it all the time together with the Rosegarden sequencer or some of my old Atari toys (like M!). I don't think you can make it sound like a realistic grand piano though, but then again: Somebody out there, please prove me wrong. ;-)
A 166 Mhz Pentium will provide you with 20 simultanious voices, whereas a 400 Mhz Pentium II can with ease provide you with 88 simultanious voices. My current 1.1Ghz Celery occasionally runs 200 voices (800 oscillators). That ought to be enough for most people. Write any number after the command to change the 48 voice default.
This manual page was written by Dana Olson <firstname.lastname@example.org>, for the Ubuntu project (but may be used by others).