{
  "experiment": "Stereo channel cancellation / 2026-11-04",
  "input_kind": "Generated Robot36 practice signal; not RF, a microphone or the SSTV app",
  "source_sha256": "dbb64c8cb34d3599c5aa7c36144746039632832da554eefff324a9fc68ae0166",
  "decoder_version": "0.6.18",
  "decoder_source_base": "f773bd4fcb9da0c68ab915e9a1fa2c024bfdcc98",
  "decoder_revision": "e88247d86720ae26d35aba7b77286ebc2b3c114d",
  "python": "3.14.7",
  "ffmpeg": "ffmpeg version 8.1.2 Copyright (c) 2000-2026 the FFmpeg developers",
  "recovery_command": [
    "ffmpeg",
    "-hide_banner",
    "-nostdin",
    "-loglevel",
    "error",
    "-i",
    "opposite-polarity-stereo.wav",
    "-af",
    "pan=mono|c0=c0",
    "-c:a",
    "pcm_s16le",
    "left-channel.wav"
  ],
  "new_upstream_submission": false,
  "cases": [
    {
      "name": "same-polarity-stereo",
      "rate_hz": 48000,
      "channels": 2,
      "frames": 1839120,
      "duration_seconds": 38.315,
      "file_sha256": "d521384a53df4f69e8c0acdf1f170eeb0607bdb62cc268250ceb98d9790eb455",
      "channel_rms_int16": [
        5612.341395683979,
        5612.341395683979
      ],
      "arithmetic_mono_peak_int16": 8000.0,
      "arithmetic_mono_rms_int16": 5612.341395683979,
      "exit_code": 0,
      "decoded_dimensions": [
        320,
        240
      ],
      "decoder_output": "sstv-app-decode: wrote OUTPUT/same-polarity-stereo.png (mode=robot_36, vis=0x08, size=320x240)\n",
      "decode_command": [
        "python",
        "-m",
        "open_sstv.cli.decode",
        "same-polarity-stereo.wav",
        "-o",
        "same-polarity-stereo.png"
      ]
    },
    {
      "name": "opposite-polarity-stereo",
      "rate_hz": 48000,
      "channels": 2,
      "frames": 1839120,
      "duration_seconds": 38.315,
      "file_sha256": "6775cf4324b3565cc07622bc67f277d886371867aafcc737bebd04d47b170e19",
      "channel_rms_int16": [
        5612.341395683979,
        5612.341395683979
      ],
      "arithmetic_mono_peak_int16": 0.0,
      "arithmetic_mono_rms_int16": 0.0,
      "exit_code": 1,
      "decoded_dimensions": null,
      "decoder_output": "sstv-app-decode: no SSTV header found, or unsupported mode\n",
      "decode_command": [
        "python",
        "-m",
        "open_sstv.cli.decode",
        "opposite-polarity-stereo.wav",
        "-o",
        "opposite-polarity-stereo.png"
      ]
    },
    {
      "name": "left-channel",
      "rate_hz": 48000,
      "channels": 1,
      "frames": 1839120,
      "duration_seconds": 38.315,
      "file_sha256": "dbb64c8cb34d3599c5aa7c36144746039632832da554eefff324a9fc68ae0166",
      "channel_rms_int16": [
        5612.341395683979
      ],
      "arithmetic_mono_peak_int16": 8000.0,
      "arithmetic_mono_rms_int16": 5612.341395683979,
      "exit_code": 0,
      "decoded_dimensions": [
        320,
        240
      ],
      "decoder_output": "sstv-app-decode: wrote OUTPUT/left-channel.png (mode=robot_36, vis=0x08, size=320x240)\n",
      "decode_command": [
        "python",
        "-m",
        "open_sstv.cli.decode",
        "left-channel.wav",
        "-o",
        "left-channel.png"
      ]
    }
  ],
  "recovered_image_pixels_match_same_polarity_control": true
}
