sox-users@lists.sourceforge.net unofficial mirror
 help / color / Atom feed
From: Jeremy Nicoll - ml sox users <jn.ml.sxu.88@wingsandbeaks.org.uk>
To: sox-users@lists.sourceforge.net
Subject: Re: splice not working correctly
Date: Tue, 24 Dec 2019 14:00:37 +0000
Message-ID: <7cf0bd107449cb49e01e1d5a24828130@wingsandbeaks.org.uk> (raw)
In-Reply-To: <CAKw-smB9eNin2mtwsyVvAxXT=ZstaJqqxzjMy44TTcfqHMGU=w@mail.gmail.com>

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
Sox-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-users

      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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.sourceforge.net/lists/listinfo/sox-users

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

  git send-email \
    --in-reply-to=7cf0bd107449cb49e01e1d5a24828130@wingsandbeaks.org.uk \
    --to=sox-users@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

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

sox-users@lists.sourceforge.net unofficial mirror

Archives are clonable: git clone --mirror https://public-inbox.org/sox-users

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.audio.sox
	nntp://ou63pmih66umazou.onion/inbox.comp.audio.sox
	nntp://news.gmane.io/gmane.comp.audio.sox

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git