summaryrefslogtreecommitdiffstats
path: root/sys/tools/sound
Commit message (Collapse)AuthorAgeFilesLines
* - Increase dynamic range of filter coefficients from 28bit to 30bit.ariff2009-07-051-3/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cause dramatic effect in overall precision and conversion quality by pushing down most aliasing artifacts around -180 dB. Spectrogram analysis/comparison: http://people.freebsd.org/~ariff/z_comparison/z_28vs30/ - Guard against possible 64bit overflow during accumulation process by slightly normalize and saturate sample and coefficient multiplication, possible during extreme 32bit downsampling (eg. 380KHz -> 8KHz) with custom preset that require more than ~7000 taps filter (which is overkill). - Add knobs through FEEDER_RATE_PRESETS to set dynamic range of filter coefficients/accumulator and prefered polynomial interpolator: COEFFICIENT_BIT:X (where 1 <= X <= 30, default: 30) ACCUMULATOR_BIT:X (where 32 <= X <=64, default: 58) INTERPOLATOR:I (where I = ZOH, LINEAR, QUADRATIC, HERMITE, BSPLINE, OPT32X, OPT16X, OPT8X, OPT4X, OPT2X) Approved by: re (kib)
* Slightly increase amount of bandwidth of resampling filter forariff2009-07-021-1/+1
| | | | | | | | | | | | | | | feeder_rate_quality=3. This have the benefit of reducing aliasing artifacts due to alias masking. Spectrogram analysis: o Old preset (100:36:0.90) http://people.freebsd.org/~ariff/z_comparison/z_q3_old.png o New preset (100:36:0.92): http://people.freebsd.org/~ariff/z_comparison/z_q3_new.png Approved by: re (kib)
* - Add a way to change filter oversampling factor throughariff2009-06-151-14/+39
| | | | | | | | | | | | | FEEDER_RATE_PRESET "OVERSAMPLING_FACTOR:X .. .." where X = log2(oversampling factor). - Lower down default filter oversampling factor from 128 (log2 = 7) to 32 (log2 = 5), saving worth of 80 Kb. The use of better polynomial interpolator will raise its conversion quality/accuracy to match (or slightly better) with previous settings. - Bump driver version.
* Move all sound related scripts to its own 'sound' subdir.ariff2009-06-104-0/+1397
Suggested by: jmallett
OpenPOWER on IntegriCloud