Re: Recording specific channels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On May 13 17:28:39, D.Cottle@xxxxxxxx wrote:
> This one I started then closed the screen share
> so there was no other activity.

I am not sure what you mean by "the screen share"
- do you mean /usr/bin/screen? I doubt it has
anything to do with SoX stopping.

> It stopped after 5 minutes.
> minion-2-recording:~ minion$ ~/sox/rec -V5 -c 8 -b 16 -r 48k /Volumes/CAF3/test77.aif
> /Users/minion/sox/rec:      SoX v14.4.2
> time:     Feb 22 2015 14:58:07

You SoX is nine years old.
The first thing to try is to use the current version.

How did you install your SoX? Is that a pre-built OSX binary?
The last published version of that is indeed 14.4.2
Build and install from https://sourceforge.net/p/sox/code/ci/master/tree/
and see if the problem persists. I vaguely remember there were problems
in the past with sox finishing prematurely.

> uname:    Darwin minion-2-recording 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul  5 22:17:35 PDT 2023; root:xnu-8796.141.3~6/RELEASE_ARM64_T8112 x86_64
> compiler: gcc 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)

Uff.

> /Users/minion/sox/rec DBUG coreaudio: audio device did not accept 2 channels. Use 18 channels instead.
> /Users/minion/sox/rec DBUG coreaudio: audio device did not accept 44100 sample rate. Use 48000 instead.

This seems stramge too, as you did not tell sox to use two channels,
or to use a 44100 sample rate.

> /Users/minion/sox/rec WARN formats: can't set 8 channels; using 18

This is understandable.

> Input File     : 'default' (coreaudio)
> Channels       : 18
> Sample Rate    : 48000
> Precision      : 32-bit
> Sample Encoding: 32-bit Signed Integer PCM
> Endian Type    : little
> Reverse Nibbles: no
> Reverse Bits   : no
> 
> /Users/minion/sox/rec DBUG aiff: converted 48000 to 100 16 37777777673 37777777600 0 0 0 0 0 0

Looking at the write_ieee_extended() function is src/aif.c,
this seems to be some cleverty of saving an integer,
viewed as a double, in a buffer of ten chars and storing that instead,
reporting the ten bytes as octals:

	lsx_debug_more("converted %g to %o %o %o %o %o %o %o %o %o %o",

It seems that AIF stores the sample rate in this way.

Looking around srcc/aiff.c, there are also
"Machine-independent I/O routines for IEEE floating-point numbers",
(c) Apple 1991. Apparently, SoX needs a maintainer.

> Output File    : '/Volumes/CAF3/test77.aif'
> Channels       : 8
> Sample Rate    : 48000
> Precision      : 16-bit
> Sample Encoding: 16-bit Signed Integer PCM
> Endian Type    : big
> Reverse Nibbles: no
> Reverse Bits   : no
> Comment        : 'Processed by SoX'
> 
> /Users/minion/sox/rec DBUG effects: sox_add_effect: extending effects table, new size = 8
> /Users/minion/sox/rec DBUG remix: 0:
> /Users/minion/sox/rec DBUG remix:    0 0.333333
> /Users/minion/sox/rec DBUG remix:    8 0.333333
> /Users/minion/sox/rec DBUG remix:    16 0.333333
> /Users/minion/sox/rec DBUG remix: 1:
> /Users/minion/sox/rec DBUG remix:    1 0.333333
> /Users/minion/sox/rec DBUG remix:    9 0.333333
> /Users/minion/sox/rec DBUG remix:    17 0.333333
> /Users/minion/sox/rec DBUG remix: 2:
> /Users/minion/sox/rec DBUG remix:    2 0.5
> /Users/minion/sox/rec DBUG remix:    10 0.5
> /Users/minion/sox/rec DBUG remix: 3:
> /Users/minion/sox/rec DBUG remix:    3 0.5
> /Users/minion/sox/rec DBUG remix:    11 0.5
> /Users/minion/sox/rec DBUG remix: 4:
> /Users/minion/sox/rec DBUG remix:    4 0.5
> /Users/minion/sox/rec DBUG remix:    12 0.5
> /Users/minion/sox/rec DBUG remix: 5:
> /Users/minion/sox/rec DBUG remix:    5 0.5
> /Users/minion/sox/rec DBUG remix:    13 0.5
> /Users/minion/sox/rec DBUG remix: 6:
> /Users/minion/sox/rec DBUG remix:    6 0.5
> /Users/minion/sox/rec DBUG remix:    14 0.5
> /Users/minion/sox/rec DBUG remix: 7:
> /Users/minion/sox/rec DBUG remix:    7 0.5
> /Users/minion/sox/rec DBUG remix:    15 0.5

This must be how the 18 input channels contribute
to the 8 output channels, in a round-robin fashion, apparently.
Which is probably not what you want: 0 to 15 contribute as
the two channels into 0-8 each, and then 16 and 17, respectively,
are the third contributor to 0 and 1, respectively;
the fractions are most probably the relative volumes.

This could be another SoX bug,
possibly solved during the last nine years :-)

> /Users/minion/sox/rec INFO sox: effects chain: input        48000Hz 18 channels (multi) 32 bits unknown length
> /Users/minion/sox/rec INFO sox: effects chain: channels     48000Hz  8 channels (multi) 32 bits unknown length
> /Users/minion/sox/rec INFO sox: effects chain: dither       48000Hz  8 channels         16 bits unknown length
> /Users/minion/sox/rec INFO sox: effects chain: output       48000Hz  8 channels (multi) 16 bits unknown length
> /Users/minion/sox/rec DBUG sox: start-up time = 0.103435
> In:0.00% 00:05:20.42 [00:00:00.00] Out:15.4M [      |      ]        Clip:0
> Done.

Still no idea why Sox stops here.
At any rate, try with the recent version.

Jan


> /Users/minion/sox/rec DBUG aiff: converted 48000 to 100 16 37777777673 37777777600 0 0 0 0 0 0
> minion-2-recording:~ minion$



> 5/13/24, 10:55, "Jan Stary" <hans@xxxxxxxx>:
> 
> On May 13 15:57:43, D.Cottle@xxxxxxxx wrote:
> > [* * * * * /Users… ]
> >
> > This looks promising, and I apologize for my ignorance (I have a bad habit of learning just enough code to do what I need), but it didn’t work for me.
> >
> > First, just to clarify, my sox folder is in the top level of my users account. I know it should be in the /bin/, but I get a new machine every year and keep forgetting how to move it and get the correct  path (~/.bash_profile?) and don’t want to pester our tech staff to do it, so in the command line I just have to type the extra ~/sox/rec.
> 
> The path can be whatever - as long as it is in your $PATH
> you can just call 'sox'. You can also specify the PATH at the
> beginning you your crontab. (This has nothing to do with sox.)
> 
> > Second, in this example I don’t understand where the file is
> > being written to.
> 
> Exactly where the command says: /tmp/file-`date +\%s`.wav
> Look under /tmp, see the files named file-whatever.
> 
> > Last, it didn’t create a new file, but just stopped after 1 minute.
> 
> Yes - it creates a new one at the beginning of the next minute.
> 
>         Jan
> 
> 
> PS: Please quote the emails you are replying to properly
> and don't top-post. It is customary in tech mailing list
> to quote the relevant portion verbatim and comment inline.
> Also, please wrap your lines - some pople (me included)
> read this in a text terminal. Long lines make it unnecessarily
> difficult to quote a bit from one "line" which is in fact
> a whole paragraph.
> 
> 
> 
> >
> >
> > 5/13/24, 08:47, "Jan Stary" <hans@xxxxxxxx>:
> >
> > On May 13 09:26:10, hans@xxxxxxxx wrote:
> > > On May 12 22:56:45, D.Cottle@xxxxxxxx wrote:
> > > > If someone needs files from 1:35 to 3:15 we just give them 1 to 4.
> > > > They combine them (with no seam at 2pm) [...] We routinely combine files
> > > > into larger segments and we need them to be seamless.
> > >
> > > Ah, right, that's what you mean by "sample perfect". Let's try:
> > >
> > > $ sox -n sine.wav synth 10
> > > $ sox sine.wav part%n.wav trim 0 5 : newfile : trim 0 5
> > > $ soxi sine.wav part*.wav
> > >
> > > On my machine, that's 480000 split into 240000 + 240000 exactly
> > > when I said 5s out of 10s.
> >
> > On the contrary, this is not sample perfect:
> > a line in my crontab, starting a recording of one minute every minute.
> >
> > * * * * * /Users/hans/bin/rec -q /tmp/file-`date +\%s`.wav trim 0 00:01:00
> >
> > This does indeed record each minute of audio into
> > an appropriately named file, but the transition is not seamless
> > (as verified by playing a song longer than one minute).
> >
> > But if you change this to record your "predefined blocks"
> > of a couple of hours, then perhaps overlaping a few samples
> > will not matter if the seams are at silent times.
> > Or you could record whole days, restarting at, say, 3 am.
> >
> > Jan
> >
> >
> >
> > _______________________________________________
> > Sox-users mailing list
> > Sox-users@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.sourceforge.net/lists/listinfo/sox-users
> 
> 
> > _______________________________________________
> > Sox-users mailing list
> > Sox-users@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.sourceforge.net/lists/listinfo/sox-users
> 
> 
> 
> _______________________________________________
> Sox-users mailing list
> Sox-users@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/sox-users


> _______________________________________________
> Sox-users mailing list
> Sox-users@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/sox-users



_______________________________________________
Sox-users mailing list
Sox-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/sox-users




[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux