Re: splice not working correctly

Jeremy Nicoll - ml sox users <[email protected]>
Newsgroups gmane.comp.audio.sox
Message-ID <[email protected]>
On 2019-12-23 22:43, Zsolt Ero wrote:
> Hello,
> 
> I'd like to use split to mix two slightly different tracks for AB
> testing purposes. I'd like to have 0..5 second from track A and 5..10
> seconds from track B, etc. 10..15 track A, 15..20 track B.
> 
> I'd be very important to make sure that it doesn't change the signal
> in any way, as in if I run it with identical tracks, I'd get back the
> original track.

The manual says that 'splice' does a cross-fade at each join.  I suppose
that if the pieces being joined are identical the resulting file should
be the same as either one of the originals, but I don't know if they
would be if you compared the value of every sample.  You'd need there to
have been no arithmetic rounding errors at any point.


> My problem is that it's not what is happening. For validation I'm
> using a big excess value = 1 sec + -q for equal cross fade.


I don't know the answer.  Am I right in saying that you expect:

> So far here are my basic CLI arguments:
> sox A.wav tmp/A_0.wav trim 0 6

   so that gives you a file containing the first 6 seconds
   of audio from A.wav

> sox A.wav tmp/A_5.wav trim 4 7

   and that gives you a file containing 3 seconds of audio,
   taken from the points between 4 secs and 7 secs in A.wav

   So... the last  two seconds of tmp/A_0.wav are identical
      to the first two seconds of tmp/A_5.wav

> sox tmp/A_0.wav tmp/A_5.wav out.wav splice -q 5,1

   sox the-6-sec-file the-3-sec-file   splice -q 5,1

   So that would produce a file that has

       the first 5 seconds of the 6-second file

       a two second part that cross-fades the last second
        of the 6-second file into the first second of the
          3-second file

       then the remaining 2 secs of the 3-sec file

   And you'd expect the cross-fade to be inaudible because
   it occurs between two pieces of identical audio?


> Can you correct me in how to use splice correctly? The way I'm using
> it I get a bit of an echo / duplication at the end of the first file,
> just before the mixing point.


In the manual, the picture with the tape analogy is ... confusing.  The
text explicitly says that "... the position at which to perform the 
splice
—- this is length of the first audio section (including the excess)."  
But
the labelling of the picture shows the join point (asterisked) where
length1 is, and the fade starting before it (& excess projecting past 
it).

It seems to me that the picture says that the length of the cross-fade 
is
twice the "excess", but it starts at length1 - excess.

There is no explanation of what the "leeway" parameter does/means.


-- 
Jeremy Nicoll - my opinions are my own


_______________________________________________
Sox-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sox-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.