audio - 混合多个声音片段

标签 audio sampling mixing

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

想象每个剪辑都是一个吉他弦拨弦声,我想将它们混合以产生吉他和弦。

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

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

请执行mix !

最佳答案

你一定是在开玩笑。

混合是信号的简单相加。

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

下一步是提供单独的 channel 增益。
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);
}

当然,这对代码来说是一种痛苦,传递参数的开销会让你生不如死,但这基本上是你必须做的。

关于audio - 混合多个声音片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4198259/

相关文章:

带有 Canvas 类的 Java GUI NullPointerException

c++ - 使用opencv进行视频处理的音频输出

sql - 如何从postgres中的n个随机组中选择所有行

c - 在超平面上均匀采样

iOS音调生成

c++ - 将 C++ 类用于 Objective-C 类的推荐方法最小化对 Objective-C++ 的使用?

audio - 如何创建静音作品音频文件

c - 录制的声音比原来的慢

c# - 在 C# 中嵌入声音

java - 3 个按钮的通用 Action 监听器