{
  "checked_at": "2026-11-03",
  "signal": "Generated Robot 36 practice audio, not an off-air recording",
  "original_url": "https://sstv.org.uk/samples/first-decode/robot36.wav",
  "original_sha256": "dbb64c8cb34d3599c5aa7c36144746039632832da554eefff324a9fc68ae0166",
  "decoder": "Open-SSTV v0.6.18",
  "core_base_revision": "f773bd4fcb9da0c68ab915e9a1fa2c024bfdcc98",
  "tested_revision": "e88247d86720ae26d35aba7b77286ebc2b3c114d",
  "tested_revision_diff_from_core_base": "Documentation only; decoder source unchanged",
  "ffmpeg": "ffmpeg version 8.1.2 Copyright (c) 2000-2026 the FFmpeg developers",
  "python": "3.14.7",
  "conversion_command": "ffmpeg -i original.wav -ar 44100 -ac 1 -c:a pcm_s16le resampled-44100.wav",
  "leading_tone_measurement": "First non-silent 0.1 seconds, Hann-window FFT; nominal 10 Hz bins. Peaks are approximate.",
  "cases": [
    {
      "name": "original-48000",
      "rate_hz": 48000,
      "frames": 1839120,
      "duration_seconds": 38.315,
      "leading_tone_peak_hz": 1900.0,
      "sha256": "dbb64c8cb34d3599c5aa7c36144746039632832da554eefff324a9fc68ae0166",
      "exit_code": 0,
      "decoded_dimensions": [
        320,
        240
      ]
    },
    {
      "name": "resampled-44100",
      "rate_hz": 44100,
      "frames": 1689692,
      "duration_seconds": 38.315011337868484,
      "leading_tone_peak_hz": 1900.0,
      "sha256": "69d934f23c28322d5b1fb60469bea64279b0be25dc54db1f524b47cdc03c7054",
      "exit_code": 0,
      "decoded_dimensions": [
        320,
        240
      ]
    },
    {
      "name": "header-only-44100",
      "rate_hz": 44100,
      "frames": 1839120,
      "duration_seconds": 41.70340136054422,
      "leading_tone_peak_hz": 1750.0,
      "sha256": "afb56868a16d76c1fe27dfb63a93fdcd204edf8ee739e810c4ed8e3931351de7",
      "exit_code": 1,
      "decoded_dimensions": null
    }
  ],
  "negative_control": "Same PCM samples as the original; only the WAV rate label is set to 44100 instead of 48000. Deliberately incorrect test input.",
  "limits": [
    "Headless generated-file test; not SSTV Signal Desk, GUI, real-time, RF or weak-signal acceptance.",
    "Conversion command requires a correctly labelled original; it does not repair an incorrect input-rate label.",
    "No universal sample-rate support or decoder equivalence is claimed."
  ],
  "reproduce_script": "https://sstv.org.uk/samples/first-decode/reproduce-sample-rate-check.py"
}
