Hi all

   I'm looking at launching external programs to decode a million other formats automatically and have run into a mystery I cannot fathom.


    sox "|ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f ircam -" 'Candy Toy.wav'

works but

    sox "|ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox -" 'Candy Toy.wav'

fails saying

   sox FAIL formats: can't open input  `-': can't find sox file format identifier

as do

    -f wav   sox FAIL formats: can't open input  `-': WAVE: RIFF header not found     -f aiff  sox FAIL formats: can't open input  `-': AIFF header does not begin with magic word `FORM'

though

    ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox -" > 'Candy Toy.sox'

    sox 'Candy Toy.sox' 'Candy Toy.wav'

works.


Is it because ffmpeg is seeking back in the file and rewriting the header once it's decoded? Nope:

    ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox - | cat > 'Candy Toy.sox'

    cat 'Candy Toy.sox' | sox - 'Candy Toy.wav'

works too.


What's the difference for sox between that last command pair that works and

    ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox - | sox - 'Candy Toy.wav'

or

    ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox - | cat | sox - 'Candy Toy.wav'

that don't?


And how come -f ircam works in the simple pipeline invocations but -t {wav,aiff,sox} don't?

(Not that I'm complaining - at least one intermediate format works. Finally, a use for ircam format!)


    M



_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to