Topics

Advice needed for recording large files with SDR#

Patrick
 

Hi there,

I'm using the 'Baseband recorder' plugin and need 768 ksps (NDB / Medium Waves band DX'ing). 16 bits PCM IQ.

Is it possible to make an overnight recording, either in a single large file or several smaller ones (say 8h on one file or 8 files of 1h each, chaining automatically) ?

- Selecting "WAV SDR# Compatible" option, max file length is 2 Go = 11'40" max duration for one file. Way too short
- Running the "WAV FULL" option, upper limit is 4 Go ; that's slightly more than 23 minutes. Not enough yet !
BTW : what is the main difference between these 2 options, except the file size limit (if there's one) ?

- Finally, the WAV RF64 provides (almost !) unlimited recording length BUT an analysing tool I need to work on my recordings does not support this format ... Bad luck.

Once, I made a recording using SDR Console. All was fine BUT I realized it was impossible to read the files with SDR# (totally distorted audio, saturated waterfall, in a word the file was unusable).

I, of course, gave the basic 'recording' plugin a try and found that 11'40" was the longest file one could record

As you can understand, I'm going in circles ! To summarize my request: is it possible, with SDR#, to make long recordings without using the RF64 format ?
Thanks for your help.

Best regards,
Patrick

Martin Smith
 

On Sat, Oct 5, 2019 at 01:20 PM, Patrick wrote:


BUT an analysing tool I need to work on my recordings does not support this
format
Maybe go about your problem from the other direction, what file formats does that analysing tool support ? That can handle sample rates as high as 768000 Hz and filesizes greater than 4GiB.

Then you could use a conversion tool to change the container from a 2007 RF64 wav file (maximum sampleRate 2^32 samples per second (~4.3 GSPS); maximum filesize 16 Exbibytes) to any file format that the tool supports.

Because 1991 standard wav files have a size limit of (2^31)-1 bytes (~2 GiB), (where 1 bit was reserved for sign, which logically makes no sense)
And the unsigned wav files have a maximum filesize of (2^32)-1 bytes (~4 GiB)
And the 2007 RF64 wav have a maximum filesize of (2^64)-1 bytes (~16 EiB)

jdow
 

On 20191005 14:05:52, Martin Smith via Groups.Io wrote:
On Sat, Oct 5, 2019 at 01:20 PM, Patrick wrote:


BUT an analysing tool I need to work on my recordings does not support this
format
Maybe go about your problem from the other direction, what file formats does that analysing tool support ? That can handle sample rates as high as 768000 Hz and filesizes greater than 4GiB.
Then you could use a conversion tool to change the container from a 2007 RF64 wav file (maximum sampleRate 2^32 samples per second (~4.3 GSPS); maximum filesize 16 Exbibytes) to any file format that the tool supports.
Because 1991 standard wav files have a size limit of (2^31)-1 bytes (~2 GiB), (where 1 bit was reserved for sign, which logically makes no sense)
Traditional (32 bit) seek command uses plus and minus values. So for a single seek to work from end to end the signed limit holds.

And the unsigned wav files have a maximum filesize of (2^32)-1 bytes (~4 GiB)
And the 2007 RF64 wav have a maximum filesize of (2^64)-1 bytes (~16 EiB)
There should be no unsigned wav files.

{^_^}

Patrick
 

Hi Folks,

Thanks for the replies and tips, unfortunately, I'm not very comfortable with file types, containers, unsigned wav files and this kind of stuff !
All I know is that the format of the basic "recording" plugin perfectly works with the analysing software I'm refering to (the downside is only its limitation to 2 Go, i.e about 12 minutes per recording @ 765 ksps)

Just one thing I noticed : the file name it generates by default is of the type SDRsharp_20191005_101530Z_410000Hz_IQ 
This is important because when using the "WAV FULL" recording options of the "Baseband recorder", the default file name is of the type : 10-15-30_410000Hz ; and this wording is not valid for the software.
I simply have to rename the files and the problem is solved.

Of course, I immediatly tried to do the same with a RF64 recorded file, but no luck, the trick does not work. I'm getting a "Can't open I:\REC ... exception : not a WAV file - no RIFF header

The software developer is aware of this issue but he hasn't figured out how to solve it or get around it yet.
In the meantime, I will go on with WAV FULL option (allows 23 minutes per file) and modify the file name accordingly.

Regards.


Le dim. 6 oct. 2019 à 02:45, jdow <jdow@...> a écrit :
On 20191005 14:05:52, Martin Smith via Groups.Io wrote:
> On Sat, Oct  5, 2019 at 01:20 PM, Patrick wrote:
>
>>
>> BUT an analysing tool I need to work on my recordings does not support this
>> format
>>
> Maybe go about your problem from the other direction, what file formats does that analysing  tool support ? That can handle sample rates as high as 768000 Hz and filesizes greater than 4GiB.
>
> Then you could use a conversion tool to change the container from a 2007 RF64 wav file (maximum sampleRate 2^32 samples per second (~4.3 GSPS); maximum filesize 16 Exbibytes) to any file format that the tool supports.
>
> Because 1991 standard wav files have a size limit of (2^31)-1 bytes (~2 GiB), (where 1 bit was reserved for sign, which logically makes no sense)

Traditional (32 bit) seek command uses plus and minus values. So for a single
seek to work from end to end the signed limit holds.

> And the unsigned wav files have a maximum filesize of (2^32)-1 bytes (~4 GiB)
> And the 2007 RF64 wav have a maximum filesize of (2^64)-1 bytes (~16 EiB)

There should be no unsigned wav files.

{^_^}



prog
 

On Sun, Oct 6, 2019 at 09:29 AM, Patrick wrote:
Thanks for the replies and tips, unfortunately, I'm not very comfortable with file types, containers, unsigned wav files and this kind of stuff !
You should not complain when you start a technical discussion asking for advice, then get a technical advice.
If you need a new feature, make it clear that you need that specific feature and describe your actual specifications from an end user perspective *in detail*.

Martin Smith
 

Traditional (32 bit) seek command uses plus and minus values. So for a single
seek to work from end to end the signed limit holds.
The unsigned/signed 32-bit limit that I am talking about comes from an internal value stored in the wav file header.
bytes 1 to 4 contain the string "RIFF"
bytes 5 to 8 contain the Filesize of the overall file - 8 bytes (4 bytes for RIFF and 4 bytes for WAVE strings), in bytes (32-bit integer).
bytes 9 to 12 contain the string "WAVE"
....

There should be no unsigned wav files.
The value in the header was only defined as an integer, no mention in the original specification made of signed or unsigned. Most programmers who implemented the format used signed, but since the filesize should never be negative, there is nothing wrong with the assumption that it can be unsigned.

But I suppose when the original wave file format specification was designed back in 1991, a typical hard disk was about 20 MiB to 40MiB in size (e.g. Seagate: ST225 21MB 5.25"/HH MFM). Expecting the file format to be in use 28 years later, was probably not thought about much.

jdow
 

On 20191006 06:24:18, Martin Smith via Groups.Io wrote:
Traditional (32 bit) seek command uses plus and minus values. So for a single
seek to work from end to end the signed limit holds.
The unsigned/signed 32-bit limit that I am talking about comes from an internal value stored in the wav file header.
bytes 1 to 4 contain the string "RIFF"
bytes 5 to 8 contain the Filesize of the overall file - 8 bytes (4 bytes for RIFF and 4 bytes for WAVE strings), in bytes (32-bit integer).
bytes 9 to 12 contain the string "WAVE"
The WAVE file, when the RIFF structure was developed (from the Amiga IFF), had to allow quick seeking its full length because information chunks may be stored at either end, and on writing the values at the front had to be filled in before closing the file. It is a SIGNED format.

There should be no unsigned wav files.
The value in the header was only defined as an integer, no mention in the original specification made of signed or unsigned. Most programmers who implemented the format used signed, but since the filesize should never be negative, there is nothing wrong with the assumption that it can be unsigned.
"defined as an integer" QED. Integer always refers to the signed integer. There is no special notation for signed integers. Unsigned integers are always given other names (DWORD) or have the explicit unsigned notation (unsigned integer, unsigned int, UINT).

But I suppose when the original wave file format specification was designed back in 1991, a typical hard disk was about 20 MiB to 40MiB in size (e.g. Seagate: ST225 21MB 5.25"/HH MFM). Expecting the file format to be in use 28 years later, was probably not thought about much.
The original format preceded 1991 by several years. A computer game company invented it for the musing within its games on the Amiga as far as I know. It was very forward looking using 32 bit integers rather than 16 bits since it was done on floppy disks. (Electronic Arts)

{^_^}