Я хочу, чтобы трек входил и выходил в определенные временные коды. Например, я хотел бы взять аудиофайл и:
Start it at 100% Volume
Fade it to 20% at 2 seconds
Fade it to 100% at 4 seconds
Fade it to 20% at 6 seconds
Fade it to 100% at 8 seconds
Fade it to 20% at 10 seconds
Fade it to 100% at 12 seconds
Fade it to 0 at 14 seconds
Я проверял это с помощью постоянного тона, генерируемого ecasound, чтобы я мог открыть полученный файл в Audacity и увидеть результаты визуально. Насколько я могу судить, увеличение амплитуды является относительным, а уменьшение - нет. Кажется, что если я увеличиваю амплитуду вверх, это влияет на относительную громкость всего трека, а не только в определенное время, когда я устанавливаю постепенное изменение, где я теряюсь.
Примеры команд
# generate the tone
ecasound -i tone,sine,880,20 -o:tone.wav
# Just the test to see that i can fade start it at 100 and fade it to 20.
ecasound -a:1 -i tone.wav -ea:100 -kl2:1,100,20,2,1 -a:all -o:test_1.mp3
# Fade it out and in
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,100,20,2,1 \
-ea:100 -kl2:1,20,100,4,1 \
-a:all -o:test_2.mp3
# Fade it out and in with a peak of 500
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,100,20,2,1 \
-ea:100 -kl2:1,20,500,4,1 \
-a:all -o:test_3.mp3
# Fade it out from 500, out, and then back to 500
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,500,20,2,1 \
-ea:100 -kl2:1,20,500,4,1 \
-a:all -o:test_4.mp3
# Fade it out from 500, out to a low of 10, and then back to 500
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,500,10,2,1 \
-ea:100 -kl2:1,10,500,4,1 \
-a:all -o:test_5.mp3
# Fade it out from 1000, out to a low of 10, and then back to 1000
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,1000,10,2,1 \
-ea:100 -kl2:1,10,1000,4,1 \
-a:all -o:test_6.mp3
# The eventual result I'm looking for
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,500,20,2,1 \
-ea:100 -kl2:1,20,500,4,1 \
-ea:100 -kl2:1,500,20,6,1 \
-ea:100 -kl2:1,20,500,8,1 \
-ea:100 -kl2:1,500,20,10,1 \
-ea:100 -kl2:1,20,500,12,1 \
-ea:100 -kl2:1,500,0,14,4 \
-a:all -o:test_7.mp3
Результаты
Лучшее, что я могу сказать по этим результатам, это то, что амплитуда всей дорожки относительно разности между низким и максимальным значениями всех эффектов затухания. Я не уверен, ожидается ли этот результат, но он очень запутанный.
Кроме того, в последнем результате (от второго к последнему на изображении), затухания больше не занимают полных секунд каждый. Чтобы выяснить, почему это может быть, я снял окончательный переход от нуля к нулю, и длительности вернулись к норме. Это не похоже на ожидаемое поведение.
# "Fixing" the fade durations
ecasound -a:1 -i tone.wav \
-ea:100 -kl2:1,500,20,2,1 \
-ea:100 -kl2:1,20,500,4,1 \
-ea:100 -kl2:1,500,20,6,1 \
-ea:100 -kl2:1,20,500,8,1 \
-ea:100 -kl2:1,500,20,10,1 \
-ea:100 -kl2:1,20,500,12,1 \
-a:all -o:test_8.mp3
В качестве примечания я также попытался изменить значения -ea на «текущую» амплитуду для каждой строки. Это не имело никакого значения (независимо от того, что я установил -ea)
У меня установлена самая последняя версия из git (2.8.1 + dev). У меня были те же проблемы с 2.7.0, поэтому я обновился и в итоге оказался здесь.
Я делаю это неправильно?