Countless times, I've been impressed by the amazing output of seemingly simple patches. What the most impressive, simple patch in your repertoire? How many objects do you need to make something that works?
Good question Andrew; concise, efficient and innovative use of objects never fails to evoke envy in me.
My repertoire mainly consists of hacking other people's patches and code, the most effective example being a quanitized FM noise generator - 2 x [cycle~] + 1 x [sah~]/[phasor~]. I haven't been programming long enough yet to invent my own hyper-efficient algorithms sadly.
This is probably the simplest patch I've ever done, and I couldn't believe how effective it is. It took me a couple of hours to think up and implement. It was fairly late at night but I couldn't get to sleep so I decided to mess about on max a bit while my girlfriend slept (this has happened on more than one occasion so she's now quite jealous of Max!) and this patch was the result.
It's incredibly simple, basically a sawtooth wave going through three parallel filters.
I've given it quite a good interface, so use it in presentation mode (it's a lot easier). Basically the interface gives you a menu from which you can select a variety of percussive sounds (all of which are created with the simple saw->3filters algorithm), a number box to change BPM if desired, an on/off switch for the DSP, a pictslider pad (drag the dot around quickly to create interesting rhythm patterns), a slider which controls the volume of a constant pulse (whose sound can be defined by the three "drum" "wood" "metal" messages) and finally a second slider that controls the overall amplitude.
Considering the simplicity of the patch the sound is pretty good (the metallic sounds are especially realistic).
@n00b_meister yes i have, it's very nicely executed.
Anyway in terms of simplicity, what is important to remember is that even within a "complex" patch each algorithm should be simple and streamlined, otherwise the performance of the patch will suffer and debugging will become a bitch (especially when you have sub-patches ten layers deep!).
contains the recording of a live performance i did recently with a max patch of my creation, now bear in mind while watching that all the synthesis, control and modification is all being handled by one Max patch which contains 72 independent synthesisers which can all be controlled in depth both in the time and frequency domain as well as in terms of spacialisation (panning, etc).
All of this controlled by a single patch (with sub-patches that open as separate windows each allowing a greater depth of control), when you are dealing with something like this, simplicity in every detail is paramount, simplicity is the only true route to true complexity.
As I said, while watching bear in mind that all of the sound is untreated and unedited from a live performance using a single max patch.
Sometimes the patch itself is simple, because the idea, content, or the output is more important. It can be tough to overcome the social need to impress your peers with savvy patching. Sometimes simplicity is less about computational elegance and more about just getting something to work, to solve a problem, to make a thing happen. Duct tape and chewing gum. These are often patches we keep tucked away, but are essential tools.
Anyone have examples or stories that you are willing to share?
i agree that "FM synth" but also a little delay chain are perfect examples
of how to make something tahts cool using less than 25 objects.
but of course one questions remains: what is an object? sometimes when
i prototype synthesis stuff, i use custom abstractions for more than 50%.
you might say those are patches - but they are only patches because i am
not able to write objects in C ....
other examples of great stuff built with only a few objects could be a waveshaper,
an FIR filter, or a synth with "sync" effect based on phasor.
last but not least there are the (eventually typical maxmsp?) sound generators
made up only from clicks, noises, resonators, and objects like teeth~ or comb~.