A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/oyvindln/vhs-decode/wiki/hifi-decode below:

HiFi Decode · oyvindln/vhs-decode Wiki · GitHub

Previous Page Audio

Next Page Video Export Guide

Please consult the Hardware Installation Guide for installation of RF Taps.

HiFi FM signals can be captured with just about any basic SDR or ADC system, as its incredibly low bandwidth compared to video signal, however how you tap HiFi audio varies per format.

Caution

Please look at the Clockgen Mod & the new MISRC which provides synchronised at the clock source level capturing of multiple channels of signals.

Tip

This page is for the full HiFi decoder, for real-time decoding you want to look at the RTLSDR Decode page aimed at VHS users.

Note

Sony 8mm Video8/Hi8 can have PCM Digital which can only be captured with a Digital8 camcorder/deck but HiFi FM is the standard audio format and captured alongside Video/Timecode as they are on different carriers.

Note

PAL Video8, and Betamax decoding are still work in progress, with VHS PAL/NTSC having slightly better than hardware support for stable in-spec media.

Warning

On some VHS (NTSC/PAL) decks with A.Out is a baseband audio (Linear) test point, not HiFi RF.

HiFi decode converts the FM signal into standard digital audio in a simple 1-command decode workflow.

RF Input --> Demodulation --> Optional Noise Reduction --> 48khz 24bit FLAC Audio File

FLAC Compressed & RAW Uncompressed Captures 8-bit or 16-bit are supported.

Note

samplerate & sounddevice should be installed for Linux builds to work properly (if not automatically installed).

Infile RF Data, outfile Audio Data must have .wav or .flac extension at the end otherwise it will be an extension-less output and your default system audio player will not open the file automatically for example.

Linux/MacOS

hifi-decode -t 8 -p -f 40 --audio_rate 48000 HiFI-Audio-PAL-DdD.s16 hifi-decode-output.flac

Windows

decode.exe hifi --threads 8 --system pal --audio_rate 48000 --frequency 40 HiFI-Audio-PAL-DdD.s16 hifi-decode-output.flac

With GUI

--gui added to any command config.

--system pal / ntsc

-n - NTSC

-p - PAL

Input Sample Rate Commands

-f Manual Input Hz, Mhz, Ghz.

--frequency

-f 40 - DomesDay Duplicator (DdD)

-f 8 - RTLSDR

-f 10 - CX Card Clock Gen Setup

--cxadc 28.6 MHz/8-bit (8fsc)

--cxadc3 35.8 MHz/8-bit (10fsc)

--10cxadc 14.3 MHz/16-bit (4fsc) (Technically 4fsc NTSC)

--10cxadc3 17.9 MHz/16-bit (5fsc) (Technically 4fsc PAL)

Note

Currently, this is faster that using hifi-decode's internal decoder, if there are issues you can fall back on the internal decoder.

ffmpeg -i hifi_rf.flac -f s16le -acodec pcm_s16le - | \
hifi-decode -t 16 -n -f 20MHz - hifi_rf_decoded.flac
flac -d -c --force-raw-format --endian little --sign signed hifi_rf.flac | \
hifi-decode -t 16 -n -f 20MHz - hifi_rf_decoded.flac
ld-ldf-reader input-hifi.flac | hifi-decode - --pal -f 40 --audio_rate 48000 Decoded_Output.flac
HiFi Decode Control Options

--audio_rate Audio rate in Hz i.g 44100, 48000, 96000, 192000 (48Khz Default)

--audio_mode Audio mode (Stereo Default)

-t To set the threads for parallel decoding. (Can support real-time with enough threads)

--gain Sets Amplitude size/volume useful for avoiding clipping. (i.g 0.5 = 50%) (default is 1.0)

--gui Opens Graphical User Interface (Require's input file and output file name to be set and or manual adding of .flac extension)

--bg Forces guessing of the carrier bias.

--demod Changes the FM demodulation type quadrature (default/vhs-decode), hilbert or PLL.

--preview Enables a faster decoder for real-time preview. (faster and noisier)

--noise_reduction - on/off Set noise reduction on/off (default is on)

--auto_fine_tune - on/off Set auto-tuning of the analogue front end on/off (useful for mixed standards tapes, but may cause issues with 8mm formats.)

--8mm Sony 8mm formats, Video8 & Hi8 HiFi FM.

--gnuradio Opens ZMQ REP pipe to GNURadio at port 5555, the sample rate for GNURadio is 8388608 Hz

--overwrite Overwrites local file if named file already exists.

--normalize When specified will amplify or reduce the total gain of the decoded audio outut to 100%. This can help to amplify quiet decodes that have a peak gain of less than 100% as well as prevent any clipping where the peak gain exceeds 100%. When this option is selected, the decoded audio is stored in a temporary WAVE file as float32 samples. After the decode completes, the temporary file is re-encoded into the final output file with each sample adjusted so that the peak gain is at 100% gain.

--NR_sidechain_gain Sets the noise reduction envelope tracking sidechain gain (default is 33).

Range (20~100): 100 being a hard gate effect, operating range should be 40 and below (dynamic range decompressor adjustment smaller = more aggressive)

--NR_spectral_reduction 0-1 (default 0.4) amount of spectral noise reduction to apply to audio.

This can be used to subtlety reduce the noise floor of the audio. This uses a filter to analyze the audio signal overtime and tracks constant frequencies, such as noise, and then filters these out. Use this parameter sparingly as it can cause artefacts and distortion if it's turned up too much.

--head_switching_interpolation on/off, (default on) Enable or disable the masking of head switching noise in the audio.

This uses the known frequency of the head switching (i.e. the field rate per second) and peak detection to identify head switching noise peaks. Then it applies linear interpolation and smoothing to remove the offending noise. This is the same method used on hardware VCRs to mask head switching noise. This is designed and tuned around VHS HIFI, but likely helps with other formats.

--resampler_quality low/medium/high (default high). Changes the quality of the IF and audio frequency resampling converter method which improves the output audio quality at the expense of decoding speed.

In all cases this uses sinc resampling, and the options roughly map between libsamplerates sinc-fastest, sinc-medium, and sinc-best resampling methods.

HiFi Decode Output Formats

Recommended Standard Format 48khz.

Sample Rate Bit Depth Codec Container 192khz 24-bit FLAC .FLAC 96khz 24-bit FLAC .FLAC 48khz 24-bit FLAC .FLAC 44.1khz 24-bit FLAC .FLAC

HiFi is recorded within a defined limited range the further it deviates from that range the more likely it is to have or cause interference with the luminance channel.

With --bg you will see something like the following as it guesses and finds the L/R carriers.

L carrier found at 1.65 MHz, R carrier found at 1.80 MHz
- Decoding speed: 3063 kFrames/s (0.19x)
- Audio position: 0:00:01.349
- Wall time     : 0:00:07.048
Progress [#                                       ] 1.93%
Good Calibration / Tape In Spec
- Decoding speed: 2637 kFrames/s (0.16x)
- Audio position: 0:01:02.014
- Wall time     : 0:06:16.213
Bias L 7.27 kHz, R 0.10 kHz (good player/recorder calibration)
Progress [##################################      ] 85.16%
Bad Calibration / Tape Recorded Out of Spec
 Decoding speed: 2627 kFrames/s (0.16x)
 Audio position: 0:00:12.055
 Wall time     : 0:01:13.427
ias L -10.00 kHz, R -10.00 kHz
ARN: the player or the recorder may be uncalibrated and/or
he standard and/or the sample rate specified are wrong
Progress [#######                                 ] 16.62%%

For example, in a badly calibrated VCR, the left channel is noisy and the right is clean, you can check this by selecting left or right playback in VLC with quick test captures.

You can fix this by adjusting tracking as you would normally for video and fine-adjusting pots on higher-end VCRs.

There is also the Videomem's original tool for inspection and tinkering

VideoMem's Superheterodyne Decoding Tools a GNU Radio script-based HiFi decoding tool. (Outputs 16-bit 192khz PCM)

Post Processing Recommendations?

The EBU R128 Standard or -11 LUFS normalisation is recommended as its widely used in broadcast/online production this can be done with StaxRip or with FFmpeg tools.

De-poping can be done very effectively with modern tools like iZotope RX.

Video8/Hi8 Could have PCM audio to extract this Digital8 and DV25 FireWire transfer is recommended.

For PCM data in video streams you can decode it with SDVPCM Decoder

DomesDay Duplicator Users:

Note: You need to use FLAC compressed or capture in 16-bit singed .raw and rename it to .s16, if capturing in 10-bit packed .lds, due to lack of ld-lds-converter integration the files not decode and will require being FLAC compressed to 16-bit or 8-bit standard format data.

ld-lds-converter -u input.lds --debug --unpack --input input.lds --output output_40msps_16-bit.s16

To unpack your capture to 16-bit singed, this is very much worth noting for Video8/Hi8 users with 1 RF capture file.

Previous Page Audio

Next Page Video Export Guide


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4