I thought I would collect all the ideas and bullet points off of the mailing list that we have so far. Some of these things concern the new modular engine idea directly, and some are features and capabilities that folks might like to see the new engine capable of. So, first, a few bullets in no particular order:
- Real-time FFT/convolution (I suppose non-realtime convolution could be listed here, too)
- Drag-and-drop back and forth from DAW timeline (suggestion courtesy Airon from the list)
- Some great pitch-/time-shifting algorithms (the Rubber Band library came up here)
- Disk streaming and memory caching functionality
- Some kind of simple to use modular framework (which would likely include VST/LV2 wrapping)
- File format support (wave, bwave, mp3, ogg, etc.)
- GUI support (which would relate to Airon's drag and drop thing)
- Scripting engine (I assume this would work by modules allowing scriptable parameters)
Then Bungle presented these:
Bungle (from the list) wrote:1 Ability to load a VSTi as a soundsource that can then be frozen to save CPU
2 Analysis/Resynthesis this has many possibilities not least the ability to load a single cycle wave and have an entire range resynthesised (Synclavier)
3 Loop point sequencer that would allow you to make more than one set of loop points and choose the order in which they play and how many times
4 Waveform Morphing ALA Cyndustries zero oscilator
Then I replied to Bungle:
Consul (from the list) wrote:What if we could do a convolution effect using a single-cycle wave as an impulse? The strength of the effect (wet/dry, basically) could maybe be controlled in real time. I remember reading somewhere that large FFT
windows can be split up into smaller windows and added back together for lower latency at the expense of CPU (at least I think that's what I was reading, anyway). This effect might have to be kept to single-cycle loops, but I bet it would be capable of some interesting sounds.
To which Benno replied that yes, that's basically possible.
Bennett Davis added this:
Bennet Davis (from the list) wrote:1) Simulated balanced mono output signal by using stereo out with inverted phases
2) Support for syncing sample loops on a common timeline with independent EGs -- for instruments containing samples of exactly the same length. This would allow for good emulation of some divide-down string synths with subtle phasing effects and "multi-track" instruments like the Optigan.
3) More amplitude EG curves -- Looks to me like Gigasampler only supports linear amp EGs. Exponential curves, etc, would make for better emulations of some instruments. (forgive my ignorance if this is in fact supported already)
4) Non-realtime rendering from a midi input file. Would like to be able to use an external mixer/summer and would be ideal to be able to render to disk using an arbitrary number of "virtual" outputs -- even one .wav per voice! Many physical samplers have oodles of outputs (my old EIII has 16), and there's a benefit to mixing in the analog domain, however tedious.
Geoff Beasley asked for channel meters, a very practical and useful suggestion.
Other than my musings on how to handle a GUI which isn't really necessary yet, that's about it. If I missed anything, or anyone wants to add anything, feel free to reply. Thank you!