python合唱效果与音频数据的意义
你能解释一下或者指出一种正确的方式来思考如何在wav文件上实现两种声音效果吗 所以我读取wav文件并将其转换为int值(在python合唱效果与音频数据的意义,python,audio,numpy,audio-streaming,audioeffect,Python,Audio,Numpy,Audio Streaming,Audioeffect,你能解释一下或者指出一种正确的方式来思考如何在wav文件上实现两种声音效果吗 所以我读取wav文件并将其转换为int值(在numpyarray中) 首先,我不确定我是否清楚数组中的这些值到底代表什么? 每个值都是65535(unsigned int16)量级中的一个,模拟输出设备将在某个时刻产生,这对吗 理论上,合唱效果可以通过以下步骤实现: 复制原始数组 削弱此复制的数组(乘以某些值
numpy
array中)
首先,我不确定我是否清楚数组中的这些值到底代表什么?
每个值都是65535(unsigned int16
)量级中的一个,模拟输出设备将在某个时刻产生,这对吗
理论上,合唱效果可以通过以下步骤实现:
值<1
)我如何实现我将要添加的数据的随机性 你基本上有正确的想法。以下是几点: 1) 波形文件是线性信号与时间的关系,因此您对它的理解是正确的。(许多音频都是对数的,因此认为它可能是非线性的并不不合情理——例如,LPs是以非线性方式编码的。) 2) 如果要进行数学运算,请首先转换为
float
或int32
,这样就不会超出int16
的限制
3) 要在时间上进行偏移,请使用numpy切片。也就是说,类似于new=old[1000:][old[:-1000]
。请注意,您需要同时添加相同长度的节,因此如果添加时间偏移,则无法将其添加到完整数组中,因为时间偏移将更短
4) 至于添加“随机时间”,你可以在上面添加一个随机时间。要使时间在整个添加过程中不断变化,您需要扭曲原始信号,这将更加复杂。由于您仍然理解这些概念,我建议您将此问题带到信号处理论坛,理解概念后再回来获取代码详细信息。这个问题似乎离题了,因为这不是(尚未)编程问题。我将尝试在
信号处理
上提问,谢谢!非常感谢您的回答!它为我澄清了一些事情。
array([59383, 58290, 60629, ..., 52606, 51982, 56274], dtype=uint16)