Как программно смешать несколько звуковых дорожек в одну? - PullRequest
1 голос
/ 05 февраля 2011

Какой алгоритм используется Audacity (или любой другой программой для редактирования звука) для микширования отдельных звуковых дорожек?

т.е.как происходит объединение треков в один при использовании команды «Смешать и визуализировать».

1 Ответ

1 голос
/ 05 февраля 2011

вы просто добавляете сигналы.

// 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;
}
...