SoX отсекает звук даже при использовании флага -G

#audio #sox

#Аудио #sox

Вопрос:

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

 sox -G $infile -b 16 $outfile rate 44100 dither
 

Я использую флаг -G, чтобы предотвратить обрезку в преобразованных файлах, но для некоторых файлов я все равно получаю предупреждение:

sox.exe ПРЕДУПРЕДИТЬ дрожание: дрожание отсеченных 1 сэмплов; уменьшить громкость?

Почему это все еще может происходить?

Комментарии:

1. Мне любопытно, что происходит, когда вы удаляете dither из командной строки, все еще сообщает об отсечении? Я спрашиваю, потому что в руководстве утверждается, что оно автоматически добавляет помехи, как того требует уменьшение разрядности. Еще одна вещь, которую стоит попробовать dither -s .

2. Вы правы, я получаю те же результаты, когда удаляю команду dither. Что касается флага -s, в этом конкретном приложении не следует использовать шумоподавление, поскольку аудиофайлы будут подвергаться дальнейшей обработке в дальнейшем.

3. Я могу добавить, что уменьшение громкости до 0,95, похоже, устранило проблему, но первоначальный вопрос остается в силе.

4. Еще одна вещь, которую я забыл спросить ранее: при удалении -G количество отсекаемых сэмплов остается прежним или увеличивается? Последнее предполагает, что SoX имеет неточность (например, ошибку округления) при оценке объема запаса, необходимого для выходного каскада.

5. Последнее: обрезается гораздо больше сэмплов.