При выполнении операций с использованием SoX я заметил, что файлы становятся короче, чем должны:
Работает отлично:
sox -n -r 44100 silence.wav trim 0 1
sox --combine sequence silence.wav combined.wav
soxi -D combined.wav
> 1.000000
Полученный файл становится короче:
sox -n -r 44100 silence.wav trim 0 1
sox --combine sequence "|sox silence.wav -p" combined.wav
soxi -D combined.wav
> 0.998549 seconds
Протестировано с версией SoX 14.4.1 на Windows 7 64 Family Edition. (В Windows создайте копию sox.exe с именем soxi.exe для работы soxi.)
Я избавлю вас от остальных деталей, но в основном КАЖДАЯ труба работает с потерей 0,001451 сек. (Немного меньше при более высоких частотах дискретизации.) Для всего, где важна точность, эти миллисекунды суммируются и становятся значительными, создавая лаги между тем, где вы ожидаете, что аудио будет, и тем, чем оно является на самом деле.
Перед тем, как отправить отчет об ошибке в команду SoX, я бы хотел выяснить, действительно ли это ошибка или она не связана с командной строкой. Будет ли кто-нибудь достаточно любезен, чтобы запустить оба набора команд в своей системе и опубликовать результаты?
Заранее спасибо -
источник
1.000000
,Ответы:
На windows 7 64 бит:
Действительно дает мне тот же самый вид ошибок (19.997).
НО
Дает мне правильные результаты (20,0 с).
Из того, что я прочитал на некоторых сайтах, вы должны указать тип канала, который вы используете. А поскольку «-p» эквивалентно «-t sox -», вы должны добавить «-t sox» в «pipe с помощью» вызова sox.
источник