unofficial mirror
 help / color / Atom feed
From: Jeremy Nicoll - ml sox users <>
Subject: Re: splice not working correctly
Date: Tue, 24 Dec 2019 14:00:37 +0000
Message-ID: <> (raw)
In-Reply-To: <>

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 
—- this is length of the first audio section (including the excess)."  
the labelling of the picture shows the join point (asterisked) where
length1 is, and the fade starting before it (& excess projecting past 

It seems to me that the picture says that the length of the cross-fade 
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

      parent reply index

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-23 22:43 Zsolt Ero
2019-12-23 22:51 ` Zsolt Ero
2019-12-24 14:00 ` Jeremy Nicoll - ml sox users [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:

  List information:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link unofficial mirror

Archives are clonable: git clone --mirror

Example config snippet for mirrors

Newsgroups are available over NNTP:

 note: .onion URLs require Tor:

AGPL code for this site: git clone