-----Original Message-----
From: Dave Robillard [mailto:drobilla@connect.carleton.ca]
I'm designing a modular synth engine, and would
like to get some input
on desired features/abilities to make sure it's designed in a way that
will make it the most flexible.
So, what features are important to you in a synth? What annoys you
about the current crop of linux synths?
Already planned (* = working right now):
* Low latency realtime operation via Jack
* 100% LADSPA plugins, not Yet Another Internal Plugin Format
- (DSSI and perhaps VST are being considered)
* Seperate engine and frontend(s), ALL communication via OSC (Open Sound
Control)
I'm writing this before I read the thread... you're getting "untainted"
ideas. :}
Snap in modules... Maybe a full screen version of Reactor that could scroll vertically or
horizontally... A visual means of patching back and forth... Maybe not as literal as Moog
Modular but clear and easy to read. A nice simple gui like Vokator. Possibly with screens
like Jahshaka/Blender so you could page rather than scroll and still keep the screen
uncluttered. {I hate clutter}.
Synthedit compatibility... The community there's fairly large... There's much
stuff already written for the environment.
If it were extensible through something simple like lisp or ruby... Like emacs and snd...
That would be cool.
Scripting is essential.
VST is essential. ...LADSPA.
OSC would be nice.
Csound compatibility through a module would be cool... So you could read .orc and score
files rather than just plugging in a step sequencer {Tho' a step sequencer would be
nice.}
PD compatibility would be nice.
A sampler module would be nice.
A timeline like the one in
http://openvip.sourceforge.net/ would rock... either to
actually do video or to set up samples.
Automation would be nice
Compatibility with existing languages/environments like cm and OSW {which is osc
compatible already} would be cool...
PVM? That way you could stretch it across a cluster. Mosix? Maybe peer2peer midi
{Freshmeat}? Eyesweb compatibility {should they ever happen to port it}?
FM? {See Lollapalooza} Additive functions? {Cube, Cameleon}
The main GUI will be a modular a lot like AMS/SSM/etc.
but there's no
reason it has to be, the engine can be used from the command line, in
programs/scripts (from any language that can talk OSC), hardcoded in
custom synths, etc. etc. This will allow, for example, algorithmic
composition in C without the limitations of MIDI and discrete notes.
The use of OSC means you can run the engine transparently over the
network (on 20 machines if you so please..)
- Polyphonic, runtime selectable (in the works right now)
- Multitimbral
* ALSA MIDI in will be through a seperate application, which will allow
binding of any MIDI controller to any param in the synth
- Sending OSC messages from module ports
* Sample accurate everything
- The main modular frontend will support LASH (formerly LADCCA), and
allow building of control panels ala galan
I'm very open to suggestions, that's why I started this thread.. let's
hear 'em