# Vintage radio tuning

Moving static, brief tones and a switch contact suggest an old radio.

Source checkpoint: 8dc3dd143f8eb56223e62d40c694689330a94853. Original procedural synthesis by Renaissance Solutions with Codex.
Local review candidate: public distribution and reuse terms have not yet been selected.
Numbered audio, source and presets are preserved unchanged. Listening preferences and use under narration remain pending.

## Make it with your AI assistant

Ask whether your assistant can run Python and return WAV files. Give it this complete folder (or upload this ZIP and ask it to extract the files).
No account keys or Python packages are needed by the recipe. Use the supplied generator to reproduce our takes.
A prompt alone can lead to a different implementation.

Create an original vintage-radio tuning effect for a podcast flashback
or channel change. Use moving hiss, several brief sliding tones, and a
subdued switch contact. Keep it compact and avoid piercing high tones
or abrupt full-level clicks. Do not include speech, music, a recorded
broadcast, stock samples, or a real station identity.

Use Python's standard library only. Make a 4.8-second effect with fades.
Keep separate aligned stems for band static, tuning tones, and switch
click. Synthesize the suggestion of intermittent signals without voices.

Save a 48 kHz/24-bit stereo master, mono fold-down, each stereo stem, and
a 16-bit stereo preview. Target -6 dBFS stereo sample peak. Preserve the
complete source, fixed seed, all settings, versions, executed commands,
and SHA-256 hashes as v001. Never overwrite an earlier shared take.

If you can execute Python here, make and verify the files. If you cannot,
give complete local steps and label generation as pending. Keep human
listening and actual podcast use separate from measured audio checks.

## Run locally

Unzip the complete kit and open Terminal in the folder containing this README, effects/, scripts/ and library/.
Python 3.10 or later is required; reference bytes were generated with Python 3.14.3 on macOS.
Run the following commands from that folder. Use a fresh output folder for every attempt; existing takes will not be overwritten.

python3 effects/012-radio-tuning/src/render.py --preset effects/012-radio-tuning/presets/v001.json --output tmp/012-radio-tuning-v001

python3 effects/012-radio-tuning/src/render.py --preset effects/012-radio-tuning/presets/v002.json --output tmp/012-radio-tuning-v002

Open each new preview.wav in an audio player. stereo.wav is the 48 kHz/24-bit master, mono.wav is its mono fold-down, and stems/ contains aligned layers.
Check the retained files and reproduce all WAVs with:

python3 scripts/verify_library.py --reproduce

Byte equality is verified in the recorded runtime; check other runtimes. This command does not judge how a sound feels.

## What we did

1. Create moving static from filtered noise.
2. Place four tuning-tone windows over the noise.
3. Add a switch contact; retain all three layers.

## Change one thing

Preserve v001. Copy its preset to v002 and change only static_gain from
0.22 to 0.12, plus the take label. Keep the source, seed, tone/click
settings, sweeps, windows, fade times, panning, duration, and peak target.
Render a separate take and compare both mixes and isolated static stems.
Report actual exported levels and the final shared-gain change. Keep
the preference decision open until a listener compares them in context.

Use the supplied source for these parameter names. With newly written code, first identify the equivalent control.
The static setting falls from 0.22 to 0.12. Exported static measures 3.27 dB lower; tones and contact rise by 1.99 dB after peak adjustment.
Both mixes share a sample-peak target; that does not mean they seem equally loud.

## Listen and decide

Does less static reveal the tuning movement, or leave the whistles too prominent?
Use tuning before an archival-style passage or channel change. Leave room for the next spoken line. Compare both takes and the passage without the effect.
Record what you heard, your preference (including neither or undecided), and one next change.
Technical checks passed for the reference files; human listening and use in context remain pending.

## Source identity

The original chapter SHA-256 is ba6e4ed408871b22cddb9f378a1d25c571f06cb5f761d3b707a62e6097a112fe.
Each library manifest records source, preset, dependencies and WAV hashes.
The included catalog is the matching single-recipe subset of the pinned Studio catalog.
