Receive / First picture

Your first SSTV decode

No radio is needed. Start with one clean recording and a picture you can recognise: a Robot 36 test card.

To decode SSTV audio, import a complete recording into an SSTV decoder, include the identification header and compare the recovered picture with a known reference. This walkthrough supplies the original WAV and reference image for iPhone, iPad and Mac.

By Alex Carter for CannedRocket · Updated . The demonstration remains a retained Pro 2.0 Mac recording.

Watch the recording become a picture

Actual file replay in SSTV Signal Desk 2.0 on Mac. Not an off-air recording: the audio was generated from the test card below. The soundtrack is the same WAV at reduced volume. This is the Pro app; Lite uses the same analog SSTV decoder.

The VIS header identifies Robot 36, then the image builds line by line. The frame is 320 × 240 pixels. The complete WAV lasts 38.315 seconds, including its header and surrounding silence.

The green trace is the live audio FFT; orange is peak hold. The waterfall shows the most recent 10 seconds. The display narrows to a 6 kHz audio span, using a 1,024-point FFT and a Hann window. Levels are dBFS, not calibrated RF power. These are measurements of the file input, not an antenna signal.

At the end, the receiver returns to Idle and Images reads 1. The completed picture, peak hold and last waterfall remain visible.

Get Lite and the same recording

Use an iPhone, iPad or Mac. Lite 2.0.4 offers unlimited built-in practice. A free reception is used only after a complete image is saved; failed or partial receptions do not count. Existing free users receive three new successful receptions once. Check the remaining allowance in the app; it is not a daily reset.

Save robot36.wav in Files or Downloads so you can select it in the app. 3.7 MB; mono, 48 kHz, 16-bit PCM. You do not need to transmit, use the microphone or wait for an event.

Check the signal before importing

Begin at low volume: SSTV is a sequence of tones, not speech. Playing it here does not use a Lite receive. Import the file in the app rather than decoding it through a speaker.

Robot 36 timing and signal details

Robot 36 reference test card with a circle, colour bars, grayscale and SSTV.org.uk label
The transmitted reference. The recovered picture may have small colour and edge differences.

Before decoding an audio file

A filename ending in .wav identifies a container, not necessarily the signal inside it. Begin with the unchanged practice file so format conversion, a missing header and radio setup are not mixed into the same experiment.

CheckThis known sampleWhy it matters
Signal and identificationAnalog Robot 36, VIS 0x08; complete header includedStarting partway through a recording can skip automatic identification.
Audio formatMono, 48 kHz, 16-bit PCM WAVAn SDR I/Q recording needs its own supported path or demodulation; it is not ordinary speaker audio.
Recorded duration38.315 seconds, including lead-in and tailA changed duration or pitch after editing can indicate an incorrect sample-rate label.
Expected picture320 × 240, with a circle, colour bars, grayscale and R36 textCompare recognisable features; an analog mode does not promise pixel-identical edges.

Use the original PCM file as a baseline instead of re-recording the browser's speaker output or making a lossy conversion. The recorded checksums and conversion results identify the exact source used in our controlled file check.

Recover your first picture

  1. Select SSTV receiving. Use the SSTV signal category, not SSDV, DRM or Weather Fax. Keep automatic mode detection enabled so the file's VIS header can select Robot 36.
  2. Import the downloaded WAV. On iPhone or iPad, tap Open audio; the Open Audio File picker lets you select robot36.wav. File decoding starts after selection. On Mac, use Open Replay…, choose the WAV, set playback to 1× with Loop off, then start the receiver.
  3. Let the whole frame finish. Look for Robot 36 and the image progress. The signal lasts about 38 seconds at normal playback speed. Do not restart it just because the first lines are black or grey.
  4. Compare your image with the card above. You should see the circle, colour bars and Robot 36 label, with sstv.org.uk visible along the bottom. Slightly softened edges are normal for this analog mode.
The sample does not decode

Confirm that you opened the WAV as file replay, selected SSTV, began at the start of the file and left Loop off. If the VIS header was skipped, select Robot 36 manually before the next attempt. In 2.0.4, a failed or partial reception does not use a free reception.

If an edited copy plays but no longer decodes, compare its duration and pitch with the original. The sample-rate troubleshooting check shows why converting 48 kHz audio to 44.1 kHz differs from changing only the WAV's rate label.

If it still fails, contact support with your app version, device, remaining receives and the filename robot36.wav. This known sample removes radio tuning and microphone routing from the diagnosis.

The audio plays, but no SSTV picture appears

  1. Separate playback from import. Hearing this page's audio does not establish that the app's selected source is receiving samples. Import the WAV through the file path described above.
  2. Check the signal category and the beginning. Select SSTV and include the VIS header. SSDV packets, DRM waveforms and radio I/Q are different inputs.
  3. Compare the original and edited file. Keep normal playback speed and compare recorded duration and pitch. Use the actual sample-rate comparison before treating 44.1 kHz itself as the cause.
  4. Separate file success from live reception. If the original works, investigate the radio/audio route with a retained recording. If the original also fails, report the app version, device, selected input, filename and detected mode.

Use the iPhone and iPad import walkthrough or the Mac input-routing guide for platform-specific steps. A local file result is not proof of microphone, receiver or RF performance.

A stereo recording sounds loud, but the decoder receives silence

Check the left and right channels separately before adding gain. Some file-input paths average stereo into mono. If the two channels contain the same signal with opposite polarity, their average cancels to silence—even though either channel is audible on its own. This is one specific routing failure, not a reason to reject every stereo WAV.

We checked this with generated Robot 36 audio and the documented average-to-mono loader in Open-SSTV 0.6.18. The rate, duration and original picture stayed fixed; only the channel polarity or channel selection changed.

Controlled inputWhat reached monoActual decoder result
Same signal in left and rightOriginal signal retainedRobot 36 detected; 320 × 240 picture
Right channel has opposite polarityExact silence after averagingNo SSTV header found
Select the left channel from that fileOriginal mono samples restored320 × 240 picture; pixels match the control
  1. Keep the original. Inspect or listen to each channel separately in an audio editor. A channel can contain the useful signal, silence or a different signal.
  2. Make a separate mono copy of the useful channel. These FFmpeg examples select a channel explicitly; they do not average both together:
ffmpeg -i recording.wav -af 'pan=mono|c0=c0' -c:a pcm_s16le left.wav
ffmpeg -i recording.wav -af 'pan=mono|c0=c1' -c:a pcm_s16le right.wav

Use the copy containing the intact SSTV header and image. Do not mix left and right again if they cancel. Selecting one channel can also discard useful content, so choose it from the recording rather than assuming that left is always correct. The FFmpeg pan documentation describes channel mapping.

Audio only: these steps are for ordinary stereo audio, not raw SDR I/Q. I/Q channels have a different role and need an appropriate demodulation path first.

Actual Robot 36 test card recovered by Open-SSTV after selecting the left audio channel
Actual recovered 320 × 240 image from the generated fixture. This is an Open-SSTV channel-handling check, not a new SSTV Signal Desk, microphone or RF performance test.

Download the actual results and checksums, reproduction script and setup and scope notes. The script starts from our unchanged known mono practice WAV and creates all three cases; it does not use a radio.

Does SSTV audio need to be loud?

Keep file replay and live input separate. A quiet but intact recording can work; turning up an already distorted recording is not a general repair. Before changing gain, try the unchanged practice WAV, check the selected input and inspect the original recording for a complete beginning and end.

We varied only the amplitude of the same 38.315-second mono PCM file, keeping its rate, header and picture fixed. In this Open-SSTV 0.6.18 file test, all three inputs produced a 320 × 240 Robot 36 image:

InputPeak sample magnitudeSamples clippedMean RGB difference from control
Unchanged practice WAV8,0000%0
48 dB quieter320%0.503 / 255
18 dB gain, hard limited to 16-bit range32,76864.55%0.790 / 255

The last column averages absolute channel differences against the image decoded from the unchanged file; it is not a perceptual quality score. Clipping percentages include the entire file, including its quiet sections. The recovered pictures were similar, but neither altered file produced pixel-identical output.

This does not establish a safe clipping level or a weak-signal limit. We added no receiver noise, interference, speaker or microphone. The quiet result therefore says little about a noisy live signal, and a decoded picture does not prove that its source waveform was undamaged. These are not new SSTV Signal Desk or Lite app measurements.

  1. If the practice file fails too, check import, signal category and source selection before adding gain.
  2. If only your recording fails, keep the original and compare its header, duration, channels and waveform. A loud recording can still have the routing or timing problems described above.
  3. For live reception, use the selected input's meter and avoid sustained overload. If an earlier stage already clipped the signal, lowering the later playback volume cannot restore the samples that were lost.

Download the actual results and checksums, reproduction script and setup notes. Inspect the actual decoded quiet-file picture and clipped-file picture. Start the reproduction from the original practice WAV linked above.

After your first decode

Share your image

On iPhone or iPad, open Receive log, select the saved picture and use Share. Tell other listeners which mode, app version and input you used. Label this one as a test-file decode, not a received satellite image.

Feedback is welcome whether the picture worked or not. Send your experience; omit private station details and recordings you do not have permission to share.

Keep Lite, or unlock it once

Built-in practice remains available without using your free reception allowance in 2.0.4. For other recordings, check the remaining allowance in the app. For unlimited receiving and the digital-image and advanced transmit tools, choose Permanent Full Unlock inside Lite. It is a one-time in-app purchase, not a subscription; the App Store shows the current local price.

Already bought the Lite unlock? Use Restore purchases with the Apple account that bought it. Purchase and receiving help.

App Store

Get SSTV for iPhone, iPad and Mac

Start with free practice in SSTV Lite, or choose the full SSTV Signal Desk (Pro) edition. Both editions are available for iPhone, iPad and Mac.

Lite includes a successful-reception allowance and optional in-app purchases. Pro is a separate one-time purchase. See your local price on the App Store, or compare the editions.