# Friendly bubble pop

A brief falling pitch and a tiny air tick mark a playful detail.

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.

Help me make an original podcast sound effect:
a friendly bubble pop for a label, bullet, or playful fact.
Use a brief resonant body that falls in pitch and a tiny air tick.
Keep both layers centered, dry, and free of recorded samples.
Start the main pitch at 600 Hz and keep the entire file 0.50 seconds long.

Synthesize it with Python's standard library, with no external samples,
paid audio providers, voices, or downloaded assets. Separate the
bubble body and air tick into aligned stereo stems.
Save a 48 kHz / 24-bit stereo master, mono fold-down, both 24-bit stems,
and a 16-bit stereo preview. Aim for -6 dBFS sample-peak headroom.

Save the complete source, fixed-seed JSON settings, tool versions,
measurements, and a SHA-256 manifest. Preserve the first take as v001.
If you can run the code, render the files and report the checks.
If you cannot, provide the code and commands and label execution pending.
Do not invent listening feedback or claim the effect is mix-ready.

## 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/005-bubble-pop/src/render.py --preset effects/005-bubble-pop/presets/v001.json --output tmp/005-bubble-pop-v001

python3 effects/005-bubble-pop/src/render.py --preset effects/005-bubble-pop/presets/v002.json --output tmp/005-bubble-pop-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. Make a short tone whose pitch falls quickly.
2. Add a small air tick at the start.
3. Save the pop body and tick separately.

## Change one thing

Try a lower-pitched pop while keeping its timing and air tick unchanged.
Preserve v001. Copy its preset, change pitch_hz from
600.0 to 400.0, and change only the take label to v002.
Keep the source, character label, seed, remaining settings, file length,
formats, and -6 dBFS sample-peak target fixed. Render a new take.
Return both mixes and stems, verify the exact preset difference, and
report the shared-gain and RMS differences. Leave preference undecided.

Use the supplied source for these parameter names. With newly written code, first identify the equivalent control.
The starting pitch falls from 600 to 400 Hz. Timing stays fixed; the final mix gain changes slightly to keep the same peak.
Both mixes share a sample-peak target; that does not mean they seem equally loud.

## Listen and decide

Does the lower pop suit a larger label, or lose the lightness you want?
Use one pop when a label appears. Check whether repeated pops distract from the explanation. 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 a2669ce720dd3516657e14654a3d4514e1cc48d9d779b02d62b2543f6ecdba44.
Each library manifest records source, preset, dependencies and WAV hashes.
The included catalog is the matching single-recipe subset of the pinned Studio catalog.
