Under WIN32, One may use the acmStreamConvert function as an audio sample rate converter (for example, converting 44.1kHz to 48kHz audio stream).
According to Secret Rabbit Code documentation, the quality of a sample rate converter is measured by it's Signal-to-Noise Ratio and Bandwidth.
Secret Rabbit Code claim "signal-to-noise ratio of 145dB with -3dB passband extending from DC to 96% of the theoretical best bandwidth for a given pair of input and output sample rates"
As far as I searched, Microsoft clai开发者_运维问答ms nothing about the quality of sample rate conversion using acmStreamConvert function.
Does anyone knows anything about the quality of the conversion achived using acmStreamConvert ?
acmStreamConvert
uses pluggable converters to do the actual conversion work between different sample rates and sample sizes. To answer the question about SNR, we need to know which converter is being used.
Windows ships with a converter named "Microsoft PCM converter", but I found no details on the SNR for this.
The Secret Rabbit Code article describes how to measure the SNR of format conversion, so you could run the same test on files converted with the Microsoft PCM Converter to determine the SNR. If this doesn't meet your needs you could look for alternative converters to plug into the ACM, or skip acmStreamConvert
altogether and use a third party library that implements a high quality conversion algorithm with a known SNR.
Make some recordings with and without the sample rate conversion and compare them. It doesn't look very good to me in Win7.
精彩评论