我正在尝试将六个声音片段混合在一起。
想象一下,每个片段都是一个吉他弦 pluck 声音,我想混合它们来制作吉他和弦。
这里, clip 是[-1,1]范围内的实数数组,其中每个数字都是单声道样本。
double mixed_sample = mix(double sample1, ..., double sample6);
请执行mix
!
答案 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);
}
当然,这对代码来说是一种痛苦,而参数传递开销会让你活着,但这基本上就是你必须要做的事情。