Hi --- Dave Robillard <[EMAIL PROTECTED]> wrote: > On Tue, 2004-01-13 at 11:09, Juhana Sadeharju wrote: > > Hello. > > > > I feel we should write a modular synth editor from scratch. > > I have checked many existing systems but none is good enough. > > > > The editor would just be the editor. There would not be > > anything related to audio processing. Developers could use > > the editor in any project, audio or not. > > > > The editor would handle GUIs such as in > > AlsaModularSynth, > > Arts, > > Galan, > > Gdam, > > Glame, > > NMEdit, > > PD, > > Quasimodo, > > SpiralSynthModular. > > > > Also we should have an API and a script in the system. > > > > I can set up a project folder to our ftp site, ftp.funet.fi, > > for resources (manuals and screenshots of existing systems, research > > papers). Coding should happen in some CVS site. > > > > Any comments? > > > > Regards, > > Juhana
I'm chiming in because I've had this kind of thing in the 'planning stage' (read: too slack to do anything :) for a fair while. [...] > I can't really tell if you're talking about a modular softsynth (ala ssm > and ams) or an editor for hard synths (Nord modular?), but I definately > think something needs to be done on the "virtual modular (soft) synth" > front. (So I'll just go off on a tangent here) > > The way I see it, the existing efforts all fail in one major way: > LADSPA utilisation (well, ssm is getting better here but the polyphony > thing ruins it's potential). We have this nice plugin API and _TONS_ of > plugins that use it, I think we need (I /know/ I need anyway ;) ) a > SIMPLE modular synth app that uses LADSPA plugins (almost) exclusively. I need one too. I've done lots of 'bitwork' in ssm, galan and ams (mostly ssm) - a few random noises for miscellaneous purposes :). I've also done a bit of coding work on the SSM LADSPA plugin (RDF categories, GUI generation). It's certainly possible to get a virtual studio set up using a combination of various existing apps with a bit of effort (thanks to JACK). And I'm sure that if I put the effort to learn it properly, PD would be very close to ideal. However, the idea of a dedicated, simple modular synth is compelling. > Why have yet another app-specific plugin format? Stupid, stupid. > That's what LADSPA is for. A nice side effect of this app's existance > would be way more nice LADSPA plugins for us all to play with how we > choose. The fact that the existing modular synths have their own > oscillators (and scores of other plugins) in their own formats seems > pretty stupid to me. I think the main reason for this (for SSM at least) is firstly that LADSPA support came after the app was developed, and secondly LADPSA plugins don't have GUIs - these have to be generated, with limited success. SSM is great in this regard - the native plugins all have really cool GUIs. Another issue is that LADSPA plugins cannot be used for sample playback, as loading samples is impossible unless you stream the data in a la SooperLooper (http://essej.net/sooperlooper). > I don't think an app like this need be that complicated: all it really > needs to do (in the audio engine) is allow connecting LADSPA plugin > "ports" to other plugins. LADSPA being what it is; that's not such a > difficult task (and most of the code could be borrowed from existing > projects anyway). Agreed - at the lowest level it's a directed graph traversed in topological order - a solved problem. The complicated bit is the interface and additional functionality (subpatches etc), which is what differentiates existing synths. > (If you think this is just a stupid idea you should probably stop > reading now...) Not at all. It's a great idea. > [...] > Anybody with more ideas/criteria for the > perfect modular synth? OK here I go: From my notes (and fuzzy memory :), what I'd like is a simple cli program that communicates via some form of IPC. OpenSoundControl (OSC) would seem to be a good mechanism, as it's quite widely supported and should be sufficient for all that would be required. The key here would be to develop an API (I suppose more accurately an ACI - application Control interface) to cover all intended functionality, which would include: * Querying installed LADSPA plugins Including RDF categorisation http://plugin.org.uk/lrdf * Instantiating (adding) plugins and removing them * Connecting / disconnecting ports including 'translation' between different port types, e.g. Control rate <->Audio rate Range hint scaling (e.g. mapping a +/- 1.0 audio signal to a logarithmic 5 octave frequency range) - AlsaModularSynth has a wise approach of standardising the scales - 1 'Volt' per octave for frequency etc. much like the old hardware modulars. * Managing inputs/outputs JACK for audio (be it actual audio, or control values at audio rate) OSC 'ports' for control-rate connections MIDI connections OSS / ALSA audio I/O ? LADCCA, iirc, is designed for controlling LADSPA plugins remotely - worth checking out anyway http://pkl.net/~node/ladcca.html * Creation and management of subpatches A nice feature would be any subpatches automatically become available as plugins as they are created, presented alongside vanilla LADSPA ones. Maybe have a 'publish subpatch' function that lets you slot in a subpatch into the RDF heirarchy as well. * Setting up polyphony Either for the whole graph or just portions of it - think multiple synths and an effects unit in a single graph. * Querying state (e.g. for presentation in a GUI) Pretty much everything: Connection state Names of plugins / ports / subpatches Inputs and Outputs Subpatches ... Interfaces (Graph wiring GUI, Scheme scripting, custom hardware box or whatever) could then be implemented as independent OSC clients. I agree with your points, besides the Audio + MIDI I/O - I feel these would be better implemented as non-plugins. There's also the sample load / save / playback issue to consider. > For the record, absolutely no disrespect towards authors of existing > efforts (ams, ssm, both great and certainly have their plusses), I > probably wouldn't have known what a modular synth was if it wasn't for > you guys ;). Gratitude.. Indeed. There's a lot of good ideas in all these apps - it's worth considering whether efforts could be directed to improving these, rather than starting totally from scratch. However, this is likely to be more difficult! > (Also, yes, I'm actually a coder, and yes, I'm willing to take this on > (time being limited as it may be).. I'm not one of those self-appointed > open-source-developer-dictators ;) ) I'm willing to help as well - I've been slacking off on this issue for too long... - Myk ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html
