python 合唱效果和音频数据的含义

标签 python audio numpy audio-streaming audioeffect

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




您能否解释或指出正确的方法来思考如何在 wav 文件上实现两种音效。

所以我读取 wav 文件并将其转换为 int 值(在 numpy 数组中)

array([59383, 58290, 60629, ..., 52606, 51982, 56274], dtype=uint16)

首先,我不确定我是否清楚数组中的这些值真正代表什么?
每个值都是模拟输出设备在某个时刻会产生的 65535 (unsigned int16) 幅度级别之一,这对吗?

理论上合唱效果可以通过以下步骤来实现:
  • 复制原始数组
  • 削弱这个复制的数组(乘以一些 value < 1)
  • 并将这个复制的数组添加到原始数组

  • 在实践中,我不知道如何正确添加它们。我是否应该简单地一个一个地添加值,对两个数组进行卷积或交错原始数组并且它是修改后的副本。
    还有合唱效果应该有任意时间延迟 我不知道我怎么能做到这一点。

    我怎样才能实现我要添加的数据的随机性?

    最佳答案

    你基本上有正确的想法。这里有几点:

    1)波形文件是线性信号与时间,所以你的理解是正确的。 (许多音频事物都是对数的,因此认为它可能是非线性的并非不合理——例如,LP 是以非线性方式编码的。)

    2)如果你要做数学,首先转换为floatint32这样您就不会超出 int16 的限制.

    3)为了及时抵消,使用numpy切片。也就是说,类似于 new = old[1000:]+old[:-1000] .请注意,您需要将相同长度的部分添加在一起,因此如果添加时移,则无法将其添加到完整数组中,因为时移会更短。

    4)至于添加“随机时间”,您可以在上面添加一个随机时间。为了使时间在整个加法过程中不断变化,您需要扭曲原始信号,这将更加复杂。

    关于python 合唱效果和音频数据的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21887862/

    相关文章:

    python - 具有 Statsmodel ValueError : zero-size array to reduction operation maximum which has no identity 的多重 OLS 回归

    javascript - 在Javascript事件上播放声音

    javascript - 在<a-frame>实体上触发 'sound-ended'的最有效方法是什么

    python - 识别 pandas 中组内的第一个非零元素

    python - scikit-learn fit() 在规范化数据后导致错误

    python - 使用计数器和条件结束循环

    Python 重命名目录中的多个文件

    python - 如何在Python代码中使用IDA反编译的C函数?

    actionscript-3 - As3内存泄漏? -如何从内存中垃圾收集新的as3声音对象?

    python - 通过用前一个值填充中间值来增加数组的大小