Skip to content

FLAC Compression Guide

Harry Munday edited this page Feb 15, 2024 · 14 revisions

Usage Notes

You may add the --ogg flag but due to a recent update to FLAC, this is no longer a requirement. (2022)

Replace "media-name" with what you want to name your recording, data information is already added to the output for convenience.

Capture + FLAC in real time may cause dropped samples if used on older lower end systems or slow storage devices.

Rounded sample rates for FLAC

Note: the Fsc rate of the CX Chips output is based on the NTSC composite spec, though this does not really apply to the RF capture side of things whether you're capturing an NTSC or PAL signal, it's just noted due to VHS-Decode having the -f 8fsc -f 10fsc -f 5fsc -f 4fsc sample rate input frequency options.

The convention used for FLAC compression is raw sample rate divided by 1000 so the rates are as such.

28636 for 28.6mhz 8-bit (8fsc)

35795 for 35.7mhz 8-bit (10fsc) (Removed to prevent use, due to up-sampling)

14318 for 14.3mhz 16-bit (4fsc)

17898 for 17.8mhz 16-bit (5fsc)

Resampling Scripts

Thanks to Tony we have several re-sampling scripts & a breakdown of how to use GNU radio.

Realtime Capture with FLAC compression:

28mhz 8-bit

cat /dev/cxadc0 | flac --fast -16 --sample-rate=28636 --sign=unsigned --channels=1 --endian=little --bps=8 --blocksize=65535 --lax -f - -o media-name-28msps-8bit-cx-card.flac

40mhz 8-bit (Modified Card)

cat /dev/cxadc0 | flac --fast -16 --sample-rate=40000 --sign=unsigned --channels=1 --endian=little --bps=8 --blocksize=65535 --lax -f - -o media-name-40msps-8bit-cx-card.flac

14.3mhz 16-bit

 cat /dev/cxadc0 | flac --fast -16 --sample-rate=14318 --sign=unsigned --channels=1 --endian=little --bps=16 --blocksize=65535 --lax -f - -o media-name-14.3msps-16bit-cx-card.flac

17.8mhz 16-bit

cat /dev/cxadc0 | flac --fast -16 --sample-rate=17898 --sign=unsigned --channels=1 --endian=little --bps=16 --blocksize=65535 --lax -f - -o media-name-17.8msps-16bit-cx-card.flac

20mhz 16-bit (Modified Card)

cat /dev/cxadc0 | flac --fast -16 --sample-rate=20000 --sign=unsigned --channels=1 --endian=little --bps=16 --blocksize=65535 --lax -f - -o media-name-20msps-16bit-cx-card.flac

Post Capture FLAC compression:

28mhz 8-bit

flac --best --sample-rate=28636 --sign=unsigned --channels=1 --endian=little --bps=8 -f input.u8 -o "media-name-28msps-8bit-cx-card.flac"

40mhz 8-bit (Modified Card)

flac --best --sample-rate=40000 --sign=unsigned --channels=1 --endian=little --bps=8 -f input.u8 -o "media-name-40msps-8bit-cx-card.flac"

14.3mhz 16-bit

flac --best --sample-rate=14318 --sign=unsigned --channels=1 --endian=little --bps=16 -f input.u16 -o "media-name-14.3msps-16bit-cx-card.flac"

17.8mhz 16-bit

flac --best --sample-rate=17898 --sign=unsigned --channels=1 --endian=little --bps=16 -f input.u16 -o "media-name-17.8msps-16bit-cx-card.flac"

20mhz 16-bit (Modified Card)

flac --best --sample-rate=20000 --sign=unsigned --channels=1 --endian=little --bps=16 -f input.u16 -o "media-name-20msps-16bit-cx-card.flac"

Windows Compression Bash Scripts

Simple .bat scripts for batch and drag and drop use.

They are contained within the main folder but can be manually downloaded here