混合多个声音片段

时间:2010-11-16 19:45:21

标签: audio sampling mixing

我正在尝试将六个声音片段混合在一起。

想象一下,每个片段都是一个吉他弦 pluck 声音,我想混合它们来制作吉他和弦。

这里, clip 是[-1,1]范围内的实数数组,其中每个数字都是单声道样本。

double mixed_sample = mix(double sample1, ..., double sample6);

请执行mix

1 个答案:

答案 0 :(得分:1)

你一定是在开玩笑。

混合是简单的信号添加。

double mix(double s1, double s2, double s3, double s4, double s5, double s6)
{
  return (s1 + s2 + s3 + s4 + s5 + s6);
}

下一步是提供单独的渠道收益。

double variable_mix(double s1, double s2, double s3, double s4, double s5, double s6,
                      double g1, double g2, double g3, double g4, double g5, double g6)
{
  return (s1*g1 + s2*g2 + s3*g3 + s4*g4 + s5*g5 + s6*g6);
}

当然,这对代码来说是一种痛苦,而参数传递开销会让你活着,但这基本上就是你必须要做的事情。