【音频处理】从时域和频域上分别改变音频的响度

时域上尝试

如原始音频时域如下:
原始音频时域图
假如将所有数据乘上5. 可以发现有些地方都“破音”了。

    for (int i = 0; i < N; ++i) {
        in[i] =  in[i]*5;
    }

效果如下,
音频时域乘上5

频域上的尝试

这种操作在频域中也可以做。
将时域数据通过DFT转成频域数据,然后在实数部分和虚数部分都乘以相同系数5。

    for (int i = 0; i < N; ++i) {
            out[i][0] *= 5;
            out[i][1] *= 5;
    }

你可以发现,实际上的效果一模一样
音频频域乘上5

是否可以只在实数部分或者虚数部分乘系数?

    for (int i = 0; i < kOutputSamples; ++i) {
        out_[i][0] *= 5;
        //out_[i][1] *= 5;
    }

实际上的效果,可以看到相对于实际上能量发布发生不均了,并且转成时域时,数据不准确了。本来开头是由一段时间的静音的,现在也有了声音。
能量减半

结论

时域上数据*N = 频域数据实数部*N and 频域数据虚数部*N

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值