operações de tubulação SoX e perda de dados

1

Durante operações de tubulação usando o SoX, notei que os arquivos ficam mais curtos do que deveriam:

Funciona bem:

sox -n -r 44100 silence.wav trim 0 1
sox --combine sequence silence.wav combined.wav
soxi -D combined.wav
> 1.000000

O arquivo resultante fica mais curto:

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

Testado com o SoX versão 14.4.1 no Windows 7 64 Family Edition. (No Windows, crie uma cópia do sox.exe chamado soxi.exe para o soxi funcionar.)

Vou poupar o resto dos detalhes, mas há basicamente uma perda de 0,001451 segundos para cada operação de tubulação. (Um pouco menos em taxas de amostragem mais altas.) Para qualquer coisa em que a precisão é importante, esses milésimos de segundo se somam e se tornam significativos, criando atrasos entre onde você espera que o áudio esteja e onde realmente está.

Antes de enviar um relatório de bug para a equipe do SoX, gostaria de descobrir se ele realmente é um bug ou não está relacionado à linha de comando. Alguém seria gentil o suficiente para executar os dois conjuntos de comandos em seu sistema e postar os resultados?

Agradecemos antecipadamente -

    
por Fabien Snauwaert 02.04.2014 / 05:10

1 resposta

0

Em um windows 7 64 bits:

sox "|sox source -p trim 0 10" "|sox source -p trim 0 10" destination

Realmente me dá o mesmo tipo de bugs (19.997s).

MAS

sox -t sox "|sox source -p trim 0 10" -t sox "|sox source -p trim 0 10" destination

Dá-me os resultados corretos (20.0s).

Pelo que li em alguns sites, você deve especificar o tipo de pipe que você usa. E como "-p" é equivalente a "-t sox -", você deve adicionar "-t sox" na chamada "sox" usando "pipe".

    
por 24.04.2014 / 13:24