如何以编程方式将多个音轨混合到一个轨道中?

时间:2011-02-04 21:36:26

标签: merge audio audacity

Audacity(或任何其他音频编辑程序)使用什么算法来混合单独的音轨?

即。当使用“混合和渲染”命令时,将轨道合并到单个轨道的过程是什么。

1 个答案:

答案 0 :(得分:1)

你只需添加信号。

// fill the destination (output) with the sum of signals: input1, input2, input3
for (size_t idx(0); idx < samplesToWrite; ++idx) {
    output[idx] = input1[idx] + input2[idx] + input3[idx];
}

将音量或声像应用于信号,请使用乘法。

// to halve the amplitude of an audio signal:
const double halfVolume = 0.5;
for (size_t idx(0); idx < samplesToWrite; ++idx) {
    signal[idx] *= halfVolume;
}