【问题标题】:PCMU fade out effectPCMU 淡出效果
【发布时间】:2011-07-26 07:58:07
【问题描述】:

我想实现音频的 PCMU 淡出效果。假设我有两段 160 字节的音频,每段对应 20 毫秒的音频持续时间,我想在它们之间插入一些静音,但我希望从第一段平滑过渡到静音,然后从静音到第二段。
我如何做到这一点?

【问题讨论】:

    标签: algorithm audio encoding effects pcm


    【解决方案1】:

    您可能需要将转换中的 PCMU 样本转换为线性值,根据您的转换函数对其进行缩放,然后将它们转换回 PCMU。

    可能有一种方法可以在保持 µ-Law 域的同时做到这一点,因为缩放变成了加法/减法,但是要正确处理会很麻烦,而且可能不值得失去可移植性/simplicity 除非你真的在挑战性能极限。

    【讨论】:

    • 这是针对 VOIP 应用的,所以性能在这里很重要。我可能负担得起解码为线性音频并在那里进行一些计算而不会对性能产生太大影响,但如果有办法使用 pcmu 样本来做这件事,我会更喜欢。我的目标不是非常好的和高质量的淡出效果,我只是想避免当我在流中的某个位置添加静音时从播放器那里听到的“点击”。加法/减法是什么意思?
    • 基本数学:您可以通过加/减来乘/除一个对数值。理论上,您可以从 µ-Law 样本中提取对数数量,减去与包络函数的对数相对应的适当值,然后将修改后的对数样本位填充回样本中。不过很乱。
    • 谢谢,这似乎足以让我继续前进!
    【解决方案2】:

    您可以降低音量以完全静音,然后从 0 开始提高音量

    音量修改非常简单。如果您的音频是 2 字节样本,那么只需将样本作为 16 位整数并将其视为音量级别。例如。您需要在 5 秒内将音量从当前级别平稳降低到 0。拍摄第一件作品的最后 5 秒并对其进行修改,例如对于每 2 个字节的样本,计算新的音量级别(根据其时间戳以提供平滑的音量变化效果)作为 1 的分数并乘以样本值。

    【讨论】:

    • 虽然是 PCMU - 样本是对数 (µ Law)。
    猜你喜欢
    • 2011-03-05
    • 2011-10-16
    • 1970-01-01
    • 2011-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    相关资源
    最近更新 更多