Some of my points of view:
- you want the latency (time between user action, eg. tweaking a real-time control or pressing a key) as low as possible. But don't get trapped in all the marketing stories people want to play
I say that this is poor advice. As a soft-synth developer, one should *ALWAYS* pay attention to latency. It is one of the key factors (user interface being another) which will sell or kill your app.
The lower the latency, the better your product will sell - people *DO* notice latency in soft-synths, and regardless of sound quality a high-latency synth plugin will gradually get less and less use.
Latency is a marketing issue in the synth world because it seriously effects performing/professional musicians' ability to perform. Hobbyist synthesists may not care about latency, and may be fine with pre-rendering everything, but in a performance situation this is not acceptable.
My experience is that even with without low latency it is possible to play an instrument, though is more difficult and takes more practice to get the timing right. A latency of >20 ms makes a piano feel kind of sluggish; a latency <10ms gives your the feeling of instant sound. The curch organ is a nice example of an instrument that is difficult to play because of extremely high latency, but good musicians do manage...
True, the rule is that good musicians can make music with anything.
But there's another rule too, and that is that good synth programmers care about and know how to deal with latency in a way which does not interfere with performance ... and can still write amazing synthesizer algorithms without tripping up the latency problem.
"Recording engineers" who claim that they can't make a decent mix if the latency is above 10ms might be right with that statement, but I'll be glad to put a bet for a crate of beer on it that they can't do a decent mix with no latency either ;-)
I find this to be a highly ungrounded point of view.
Professional engineers wouldn't use a high-latency synth if it meant it gets in the way of their production. It's okay for hobbyists who didn't pay a dime for the plugin, but its not okay for professional music production environments where a lot (not just money, but also stress, prestige, and client relationship) is on the line in an average recording session.
Linux Audio Developers would do well to keep in mind that latency should never be justified ... there will always be someone else around who doesn't need to justify it.
- In the end, all that counts is that the parts of the composition arrive at the listner's ears at the right time. This implies that you would need to know about the latencies in your system, and compensate for it:
I think you *HAVE* to also include the earlier part of this equation in the mix: when the user does something with the synth, physically, it had *BETTER* respond, and respond well.
In the end the only thing that matters is that it sounds OK and that when the recording is reproduced it sound the same... (already not a trivial question)
No, please, be careful with this "recording" ideal when dealing with abstractions which will effect performance. Not all music is recorded!!
ps: I'm still a very lousy keyboard player, and am heading for some serious beer now. Cheers!
Us lousy keyboard players may not care about latency, but the kind of pro musician who can really make a difference in the way a market responds to an audio platform does ... and since Linux is a new audio platform, this is pretty important to keep in mind throughout *all* levels of development.
In my opinion, of course, which isn't worth much ...
--
;
Jay Vaughan r&d>>music:technology:synthesizers - www.access-music.de/
