Re: Recording specific channels
Sergei Steshenko via Sox-users <[email protected]> Mon, 13 May 2024 23:40:56 +0300
| Newsgroups | gmane.comp.audio.sox |
|---|---|
| Message-ID | <[email protected]> |
"I am pretty sure it is not interferring with other processes (such as audio recording) running on the target machine. It would be pretty sad it it did." - if not yet, I highly recommend to read "Everything Is Broken" - https://medium.com/message/everything-is-broken-81e5f33a24e1 . And then spice it up with "OCTOBER 1, 2014; DR. JOSEPH TAINTER: THE COLLAPSE OF COMPLEX SOCIETIES" - https://mcalvanyweeklycommentary.com/october-1-2014-dr-joseph-tainter-the-collapse-of-complex-societies/ . ... A very interesting and educational thread. --Sergei. On 13/05/2024 23:14, Jan Stary wrote: > On May 13 19:50:05,[email protected] wrote: >> [Screen share… ] >> >> I connect to this machine via screen share. I closed the screen share to make sure there was no activity on that machine that might interfere with the recording. > I am pretty sure it is not interferring with other processes > (such as audio recording) running on the target machine. > It would be pretty sad it it did. > > But it is another variable to be aware of. > God knows if this "screen share" decides > to send a CTRL^C after five minutes of "inactivity", > killing the SoX process. > > BTW, why don't you simply ssh to the machine, being a OSX machine, > i.e. a UNIX machine? Ah, right: because you need the GUI, > running Logic Pro. Another reason to replace that > with a command line tool :-) > >> [nine years old…] >> That’s embarrassing. But it shows we’ve been using it to split up the files without much problem for that long. > SoX is pretty solid when processing audio signals offline > - less so in using the various systems's audio interfaces. > In particular, the OSX audio subsystem is a moving target > and has changed a lot since 2015. > >> The other complication is that these are university machines, maintained by our tech staff. They already roll their eyes at my shenanigans, playing outside the sandbox. They do give me a lot more freedom than any other faculty member, but this will have to go through them. I’ll ask them to install the update. > What a shame. > > It took six minutes to install the latest SoX > on my old mac mini now. > >> I appreciate all the help. Sorry for being clueless. I’ll be unavailable for the next few weeks, but will revisit after that. > No worries. Your use case seem pretty interesting. > > Jan > >> 5/13/24, 13:31, "Jan Stary"<[email protected]>: >> >> On May 13 17:28:39,[email protected] 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 fromhttps://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"<[email protected]>: >>> >>> On May 13 15:57:43,[email protected] 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"<[email protected]>: >>>> >>>> On May 13 09:26:10,[email protected] wrote: >>>>> On May 12 22:56:45,[email protected] 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 > [email protected] > https://lists.sourceforge.net/lists/listinfo/sox-users _______________________________________________ Sox-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sox-users