【问题标题】:OpenSL Amplify signalOpenSL 放大信号
【发布时间】:2015-10-12 05:45:20
【问题描述】:

将 PCM 数据(从 Midi)传递到 OpenSL-ES 我正在寻找一种放大 PCM 信号的方法。在 OpenSL-ES 中,我看到了用于低音增强和均衡的接口,但没有看到用于放大的接口(增益高于最大音量)。

有没有直接的方法?另一种测试方法是在所有频段使用具有相同增益的均衡器(不确定结果),但也许有更直接的方法。

【问题讨论】:

    标签: audio-player opensl


    【解决方案1】:

    您可以通过乘以 PCM 数组的值来放大 PCM“信号”。但是您应该知道,结果值不应超过或低于可能的值范围(16 位 PCM 为 -32768 到 32767),否则输出中会出现失真。

    因此,如果您的 PCM 数据幅度接近最大和最小范围,则无法使用此方法放大音频。改用 Android 中的 LoudnessEnhancer 音效(假设您问的是 Android 相关问题)

    值相乘时要小心 - 如果您的 PCM 数组由 32 位整数组成,并且 PCM 格式是 16 位,您应该将 32 位值分成两部分,将它们相乘,然后再次连接它们。

    【讨论】:

      猜你喜欢
      • 2020-12-10
      • 1970-01-01
      • 2014-02-06
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 2017-09-30
      相关资源
      最近更新 更多