Как вы обрезаете конец аудиофайла с помощью SoX? - PullRequest
29 голосов
/ 12 марта 2012

Используя Sox, как мне укоротить аудиофайл на 5 секунд, обрезая с конца?

Например, вот как обрезать файл с самого начала:

    sox input output trim 5000

Вот как добавить 5 секунд тишины в конец:

    sox input output pad 0 5000

Ответы [ 3 ]

42 голосов
/ 02 мая 2012

Синтаксис: sox input output trim <start> <duration>

Например, sox input.wav output.wav trim 0 00:35 выведет первые 35 секунд в output.wav.

(вы можете знать, какая длина используется sox input -n stat)

Из документации SoX по команде trim:

Вырезание фрагментов из аудио.Можно указать любое количество позиций ;аудио не отправляется на выход, пока не будет достигнута первая позиция .Затем эффект чередуется между копированием и удалением звука в каждой позиции .Использование значения 0 для первого параметра position позволяет копировать с начала аудио.

Например,

sox infile outfile trim 0 10

будет копировать первые десять секунд,в то время как

play infile trim 12:34 =15:00 -2:00

и

play infile trim 12:34 2:26 -2:00

будут воспроизводить звук от 12 минут 34 секунд до звука в течение 15 минут (т. е. 2 минуты и 26 секунд), затем возобновитьВоспроизведение за две минуты до конца аудио.

За комментарий dpwe , значения position интерпретируются как относящиеся к предыдущей позиции , если только они не начинаются с = (в этом случае они относятся к началу файла) или - (в этом случае они относятся к концу файла).

Итакобрезка на пять секунд от конца будет sox input output trim 0 -5

9 голосов
/ 15 февраля 2013

Указанная выше команда неверна, она даст вам только последние 5 секунд.Вам на самом деле нужно использовать:

sox input output reverse trim 5 reverse 

, который будет отрезать 5 секунд от конца файла.

5 голосов
/ 07 июля 2015

Я новичок в SoX, но заметил, что эта страница часто отображается в результатах поиска для обрезки звука и будет видна многим, пытающимся делать подобные вещи.

Таким образом, я хотел предоставить то, что я считаю лучшим решением лично.

Я испытал тот же «щелчок» в конце файла, который был John Smith Optional упоминается.Это говорит о том, что кратковременное затухание может устранить любые сбои в работе, так как звук заканчивается и достаточно точно работает.Принятие отрицательного значения для параметра положения затухания, указывающего время до конца звука, является ключом.

Так что я не вижу лучшего способа достичь цели ОП, чем этот:

sox full_length.wav trimmed.wav fade 0 -5 0.01

Параметр 1 имеет значение «0», поэтому затухание отсутствует. Параметр 2 удаляет последние 5 секунд. Параметр 3 использует затухание 10 мс

...