From: SATO K. <ke...@ps...> - 2010-05-17 13:04:55
|
Thank you for the patch Eric. It's been merged to CVS. 2010/2/21 Eric Welsh <ew...@bi...>: > I have attached a diff (readmidi_xg_sysex.diff) to fix a bug with > interpreting XG SYSTEM ON SYSEX events. > > playmidi.c: Allow Device Numbers other than 0x10 for XG SYSTEM ON SYSEX events > > See comments in diff for longer explanation. All my XG midi files play > fine in server mode now. > > ----- > > I am also resubmitting an anti-popping patch I submitted a few months ago > (mix_fix_amps.diff) after a discussion on this list. > > mix.c: Fix existing anti-popping minimum volume ramps for expression, > volume, pans, etc.. Extend anti-popping minimum volume ramps to > envelope amp changes. > > > In adding the envelope volume ramps, I found that I had mis-implemented > the original "reduce popping" code in compute_mix_smoothing() many years > ago. The previous 0.5 msec comment was wrong, since the code was > effectively working over 20 msec and I only *thought* it was 0.5 msec from > my incorrectly written code. Looking at WAV output in a sample editor > confirms this. I have changed the calculation to correctly take the > control_ratio into account, and changed the comment to reflect the actual > minimum ramp time. > > I was originally hesitant to add anti-popping minimum volume ramp times to > envelope calculations, since they would add very minor delays to extremely > fast envelope rates. However, saner minds convinced me that this was a > good idea for the following reasons: > > 1) 20 msec is very short to begin with > 2) It has been used for expression, volume, and pan changes for many years > with no noticible problems. > 3) Most GUS instruments have rates longer than this anyways, so they > would not be affected at all. > 4) I think the GUS PAT loader checks for missing envelope rates and sets > them to defaults that are longer than 20 msec. > 5) This effectively adds some reasonable defaults to soundfonts if the > envelope rates are missing (which is not uncommon). > 6) Other software synthesizers and real hardware do not have popping > problems with soundfonts that are missing envelopes. They must be > adding their own volume ramps to envelope changes to avoid these pops. > Therefore TiMidity++ should too, so that it can have soundfont support > that is more compatible with other players/hardware. > 7) Enforcing minimum envelope times should avoid other unforseen popping > problems in the future. > > I fully support adding minimum volume ramp times to envelopes now. > > -Eric > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Timidity-talk mailing list > Tim...@li... > https://lists.sourceforge.net/lists/listinfo/timidity-talk > > |