Skip to content

Recordings

The Recordings section is where raw RF signal files live before they become training data. Every SigMF recording pushed to a RIA Hub repository is automatically indexed, made searchable, and given a visual preview — so you can assess quality and confirm labels without writing any code.

PageWhat it covers
Inspecting RecordingsUse the recording inspector’s visualisation tabs (Spectrogram, Constellation, PSD, Time Series) to assess signal quality before curation
Reviewing and Labelling RecordingsUnderstand automatic labels from Campaign Control, and manually annotate SigMF metadata for uncontrolled captures
Slicing and Exporting SegmentsMark keep/discard regions on the spectrogram, preview the resulting segments, and export them to a repository

How recordings fit into the Dataset Manager workflow

Section titled “How recordings fit into the Dataset Manager workflow”
Capture / Synthesize → Repository (LFS) → Library index
Inspect signal quality
Review & label ←→ Slice segments (Recording Inspector)
Curator (select recordings)
HDF5 dataset → Model Builder

Recordings are the raw material the Curator consumes. Before curating you need to confirm two things for each recording: that it contains usable signal, and that it carries the right labels. This section covers both.

RIA Hub expects recordings in SigMF format — a pair of files committed together:

FileContains
.sigmf-dataRaw IQ samples as a binary stream
.sigmf-metaJSON metadata: sample rate, center frequency, hardware, annotations, and any custom fields

Both files are tracked with Git LFS. When you push them to a repository, RIA Hub detects the pair, parses the metadata, generates a spectrogram thumbnail, and registers the recording in the Library within about a minute.

Click Library in the top navigation, then select the Recordings tab. Each row shows:

  • A spectrogram thumbnail — a quick visual indicator of signal presence and quality
  • Filename, repository, branch, and directory path
  • Core SigMF metadata fields: sample rate, center frequency, data type
  • Any custom metadata written at capture time (e.g. label, campaign, device_id)

Use the Repository, Directory, and Branch dropdowns to narrow the view. The text search box matches across all visible columns including metadata fields. Active filters appear as removable tags above the table.

For large recording sets, adding a Directory filter is the fastest way to isolate a campaign batch — especially if you organised captures into folders by date, device, or modulation type at collection time.

Each metadata field in the .sigmf-meta file can be toggled as a column via the column visibility popover. Show the fields that matter for your current review task (e.g. label and ria:device_id when preparing a fingerprinting dataset) and hide the rest.

Click any row to open the Quick View panel. Use the visualisation tabs to assess signal quality before committing the recording to a curation run:

TabWhat to look for
SpectrogramSignal clearly visible above noise floor; no obvious flat regions or saturation
ConstellationRecognisable symbol cluster shape (two lobes for BPSK, four quadrants for QPSK, etc.)
PSDOccupied bandwidth matches expectations; no unexpected spurs
Time SeriesNo clipping (flat tops in amplitude); consistent envelope

Signs a recording should be excluded from curation:

  • Flat or near-flat spectrogram — signal may have been absent or the receiver was off-frequency
  • Heavy clipping visible in the time series — gain was too high
  • Unexpected interference overlapping the signal of interest
  • Duration much shorter than the rest of the batch — truncated file

Mark low-quality recordings by adding ria:quality: rejected to the .sigmf-meta (see Reviewing and Labelling Recordings) so the Curator’s recording browser and your own filters can exclude them.

The Curator derives class labels from the core:label field in SigMF annotations, or from a recording-level metadata key you specify. Before running curation, confirm:

  1. Controlled captures (from Campaign Control) — labels are written automatically at collection time. Spot-check a few rows in the Library to confirm core:label or your campaign’s label field is populated.

  2. Uncontrolled captures (field recordings, third-party data) — labels must be added manually. Open the .sigmf-meta file and add the required annotation fields, or use the RIA Hub web editor. See Reviewing and Labelling Recordings for the exact JSON format.

When you open the Curator and reach Step 2 — Select recordings, the recording browser uses the same filters as the Library. A few tips for efficient selection:

  • Filter by directory first — if captures from the same campaign are in one folder, applying a directory filter and clicking Select visible is faster than checking rows individually.
  • Filter by label — if you stored the label as a metadata column, filtering to a specific value lets you build a balanced per-class selection.
  • Mix repositories — you can combine recordings from multiple repositories in one curation job. Use the Repository filter to switch between sources and add recordings from each.
  • Check the thumbnail — any recording whose thumbnail shows a flat or noisy spectrogram should be deselected before proceeding.
  • Inspect recordingsInspecting Recordings covers the visualisation tabs and what to look for in each.
  • Slice and export segmentsSlicing and Exporting Segments covers marking keep/discard regions on the spectrogram and exporting clean segments.
  • Review and label recordingsReviewing and Labelling Recordings covers automatic labels from Campaign Control and manual SigMF annotation.
  • Curate a dataset — When recordings are reviewed and labelled, take them to the Curator to slice, qualify, and package them into a training-ready HDF5 file.
  • Upload recordings — If your recordings aren’t in RIA Hub yet, see Working with Git LFS for upload options and size limits.
  • Example files — The RIA_Example repository contains synthetic SigMF recordings (BPSK, QPSK, QAM16) you can push to your own repository to try the Library and Curator without collecting real data.