On Fri, 28 Aug 2009, Aaron Johnson wrote: > Good software design in my philosophy is allowing the flexibility and > generality when needed, but, yes, saving the user from themselves! > Given that the clicks were not heard on say FluidSynth, I'd say they > have something like this in place. > And I think something like this would be very good for Timidity.
> A lot of people may have already written Timidity off as not being > capable of professional, clean-quality work, b/c it has clicking noise > where other MIDI soundfont software doesn't. They may have said, as I > did, "development isn't active, it's old software, I don't think this > will get fixed", and move on, to get their music done without the > hassle of figuring it out.....I perceive NOT dealing with it clikcing > as a bug, not a feature. My 2ยข!!! Yeah, I guess you're right. Behavior I would want as a "power user" probably isn't the best thing for the average user.... I'll take a look over the code and see where I could most easily insert some sort of release envelope check. It would default to the minimal time required to avoid a pop. It still wouldn't sound all that good, because no (or super short) release just generally sounds bad, but at least it wouldn't pop any more. I'm still a little leery of defaulting to a noticably long release (which is what most good instruments have), since perhaps the short release was actually intentional, but perhaps such a longer default could be added as a --option (we're running out of -? letters). I'm going to see if I can find a good place to put the check so that it can be made after all the various different routines that instruments are read in from. I don't want to hack separate fixes for the SF2 reader, the PAT reader, the -P reader, and maybe separate softsynth versions of all of these. The softsynth will be the worst, since I am totally unfamiliar with how instruments get loaded on the fly for that, and I have no way to easily test it under my home Windows setup. I hope that I can find an easy place just upstream of the mixing routines where the envelopes get translated into internal values. A check for no release should be easy to do there, and the minimal pop avoidance value set there for all cases. Any --option for longer defaults, though, might be a lot more difficult to add, since that place in the routine has probably lost track of whether the envelope was missing in the original instrument, or if these values were what was actually set by the instrument or other overriding parameters in the .cfg files. Short answer: I hope to be able to fix the pops for all instrument sources by adding a minimal super short release time, but changing the default to be a longer "nice sounding" one may not be so easy and will be left as a future wish for now. -Eric ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Timidity-talk mailing list Timidity-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/timidity-talk