Я могу смешивать несколько звуковых дорожек в ffmpeg с помощью команды, подобной
ffmpeg -i track1.wav \
-i track2.wav \
-i track3.wav \
-filter_complex "[0:a] [1:a] [2:a] amix=3 [out]" \
-map "[out]" \
-c copy mix.wav
Все дорожки одинаковой длины в моем сценарии использования. Периодически я получаю новый трек (назовите его track4.wav
), и я хотел бы создать новый микс из всех четырех треков. Наивным решением было бы повторить приведенный выше комментарий с дополнительным треком, но это становится дорогим, поскольку количество треков становится большим.
Есть ли элегантный способ объединить mix.wav
и track4.wav
получить эквивалентный результат, без дисбаланса в уровнях громкости или значительной потери качества по сравнению с «наивным» подходом?