python合唱效果与音频d的意义

2024-05-15 10:32:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

首先,我不清楚数组中的这些值到底代表什么? 每个值都是模拟输出设备在某个时刻将产生的65535(unsigned int16)量级之一,对吗?在

理论上可以通过以下步骤实现合唱效果:

  1. 复制原始数组
  2. 削弱这个复制的数组(乘以一些value < 1
  3. 并将复制的数组添加到原始数组中

实际上,我不知道如何正确地添加它们。如果我只是一个接一个地添加值,对两个数组进行卷积,或者交错原始数组和它的修改副本。 而且合唱效果应该有任意的时间延迟,我不知道该怎么做。在

如何实现即将添加的数据的随机性?在


Tags: 文件numpy方式代表数组arrayintdtype
1条回答
网友
1楼 · 发布于 2024-05-15 10:32:00

你基本上有正确的想法。以下是几点:

1)波形文件是线性信号与时间的关系,因此您对它的理解是正确的。(许多音频都是对数的,所以认为它可能是非线性的并非没有道理,例如,LPs是以非线性方式编码的。)

2)如果你要做数学,首先转换成float或{},这样就不会超出int16的限制。

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

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

相关问题 更多 >