There is a parameter "src_quality=3" in this config-file: /usr/lib/oss/conf/osscore.conf
# The src_quality setting defines the precision of the software based sample
# rate conversion algorithm used by OSS. This setting doesn't affect possible
# hardware level conversions done by the devices themselves. Using higher
# quality setting gives better quality while lower settings consume less
# CPU time.
#
# Possible values are:
# 0 - D lowest quality (normally equals to 1=low quality)
# 1 - L low quality (spline interpolation)
# 2 - M medium quality (lagrange interpolation)
# 3 - H high quality (DEFAULT)
# 4 - HX high quality (high quality with extra precision)
# 5 - P production quality
# 6 - PX production quality (prod quality with extra precision)
#
#src_quality=3
You can uncomment "src_quality=3" and select a better quality (and reboot), but nothing will change.
With old version of OSS4 (oss-linux-4.1-1052_i386.deb), I had a choice in the mixer:
vmix0-src <Fast|Medium|High|High+|Production|OFF> (currently Production)
You could hear the difference, and, if you do not believe your ears, you could prove it with mathematical exactitude through the help of test files. And there was not any significant CPU load!
Now, with new version of OSS4 (oss-linux-4.2-2001_i386.deb), I have choice between "more distortions" and "less distortions":
vmix0-src <Fast|High|OFF> (currently High)
You can try this:
$ ossmix vmix0-src 0000
Value of mixer control vmix0-src set to Fast
$ ossmix vmix0-src 0001
Value of mixer control vmix0-src set to Low
$ ossmix vmix0-src 0002
Value of mixer control vmix0-src set to Medium
$ ossmix vmix0-src 0003
Value of mixer control vmix0-src set to High
$ ossmix vmix0-src 0004
Value of mixer control vmix0-src set to High+
$ ossmix vmix0-src 0005
Value of mixer control vmix0-src set to Production
$ ossmix vmix0-src 0006
Value of mixer control vmix0-src set to OFF
Or this:
$ ossmix vmix0-src 0
Value of mixer control vmix0-src set to Fast
$ ossmix vmix0-src 1
Value of mixer control vmix0-src set to Low
$ ossmix vmix0-src 2
Value of mixer control vmix0-src set to Medium
$ ossmix vmix0-src 3
Value of mixer control vmix0-src set to High
$ ossmix vmix0-src 4
Value of mixer control vmix0-src set to High+
$ ossmix vmix0-src 5
Value of mixer control vmix0-src set to Production
$ ossmix vmix0-src 6
Value of mixer control vmix0-src set to OFF
But this does not help, because now 0=4=5
You can see it with ossmix or ossxmix, and you can hear distortions.
The question is: Is it possible to get good quality sound with OSS4?
Or those precise "sample rate conversion algorithms" were removed from OSS4?
