#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. Последнее: обрезается гораздо больше сэмплов.