代码之家  ›  专栏  ›  技术社区  ›  Lior Kogan

WIN32音频采样率转换

  •  2
  • Lior Kogan  · 技术社区  · 15 年前

    在WIN32下,可以使用 acmStreamConvert 用作音频采样率转换器(例如,将44.1kHz音频流转换为48kHz音频流)。

    根据 Secret Rabbit Code 根据文献记载,采样率转换器的质量是通过其信噪比和带宽来衡量的。

    秘密兔子密码声明 “对于给定的输入和输出采样率对,信噪比为145dB,通带从DC扩展到理论最佳带宽的96%。”

    据我搜索,微软对使用acmStreamConvert函数进行采样率转换的质量没有任何要求。

    有人知道使用acmStreamConvert实现的转换质量吗?

    2 回复  |  直到 15 年前
        1
  •  0
  •   mdma    14 年前

    acmStreamConvert 使用可插拔转换器在不同采样率和样本大小之间进行实际转换。为了回答关于信噪比的问题,我们需要知道正在使用哪个转换器。

    Windows附带了一个名为“Microsoft PCM converter”的转换器,但我没有找到有关该转换器信噪比的详细信息。

    Secret Rabbit Code文章介绍了如何测量格式转换的信噪比,因此您可以对使用Microsoft PCM Converter转换的文件运行相同的测试,以确定信噪比。如果这不能满足您的需求,您可以寻找替代转换器插入ACM,或跳过 acmStreamConvert 使用第三方库,该库在已知信噪比的情况下实现高质量的转换算法。

        2
  •  0
  •   endolith    14 年前

    制作一些有采样率转换和没有采样率转换的录音,并进行比较。 It doesn't look very good to me 在Win7中。