[pulseaudio-discuss] Fwd: Resampling impreovements for GSOC'13

dinesh thangavel rtdinesh.89 at gmail.com
Sat Apr 27 22:06:32 PDT 2013

On Mon, Apr 22, 2013 at 1:49 PM, Peter Meerwald <pmeerw at pmeerw.net> wrote:
> Hello,
> > 3. Pass the resampling test cases in new environment.
> > I have found the test cases in the present code tree in
> > /src/tests/resampler.c where all combinations of sampling rate and sampling
> > format are tested. After refactoring the code, the old test cases should
> > pass.
> currently, the test is not self-checking, i.e. the results are not
> compared against known-good values
> basically the test just checks if the codes crashes or not; and one could
> manually check the values -- there is room for improvement

 yes, the present test code is not self-testing. We can have  a set of
sample input and ideal resampled output for various configurations
predetermined. Then for all combinations of sampling rate conversion
and sampling format can be tested where the output  will be compared
to our predetermined set and the test case will be validated.

> > > 3. Changing the resampling algorithm dynamically based on the scenario.
> >   Fixing the sampling rate, for different sources different resampling
> > algorithms can be used based on either CPU performance/Quality or both.
> for a stronger proposal I suggest to illustrate a convincing/meaningful
> scenario? what does PA_RESAMPLER_VARIABLE_RATE do? how are algorithms
> selected currently?

 I am trying to understand the current code and correct me if i am
wrong . I found that based on input and output resampling rates and
PA_RESAMPLER_VARIABLE_RATE resampling algorithms are chosen. I still
couldn't find what PA_RESAMPLER_VARIABLE_RATE does. I thought of
coming out with scenarios for the proposed case.

  For example i could come up with 2 scenarios:
  1. upsampling from 8KHz to 44.1KHz
  2. downsampling from 48KHz to 44.1KHz

 For both these, we would have run a sample input through all the
resampling algorithms supported by PA and gather the quality metrics
such as quality, CPU usage. I have been also working on  how to
compare the quality of the resampled output and I have found this link
valuable[1]. I can also do a similar thing. So with a set of data like
which algorithms suits a specific case in hand, we can select an
algorithm in the run time based on the user preference/our system.


P.S: I have been also working on fixing the mono-only bug, which
delayed replying to this mail.

> regards, p.
> --
> Peter Meerwald
> +43-664-2444418 (mobile)

More information about the pulseaudio-discuss mailing list