# Temporary basket audio

Four ready-to-use 44.1 kHz mono 16-bit WAVs, all sourced under CC0 1.0.

- band-generic-placeholder.wav: generic metal bing, 0.720 seconds
- pole-generic-placeholder.wav: former band lowered one octave with duration preserved, 0.720 seconds; pending audition
- cage-generic-placeholder.wav: designed layered-clink rattle, 0.700 seconds
- chains-basket-placeholder.wav: cropped creator-described disc hitting chain basket, 2.000 seconds

Band, pole, and cage are generic temporary approximations, NOT authentic recordings of those basket components. Chains uses a public 24 kHz lossy Freesound preview; it is a mixed basket event, not isolated chains. Resampling does not make it original-quality audio.

No listening tool was available. Mappings and chain trim are provisional, based on creator metadata and waveform timing. Human audition is still needed before final use. All four have 5 ms edge fades and peak normalization to approximately -3 dBFS. Full processing and hashes are in manifest.json.

Sources:
- Brian MacIntosh (BMacZero): https://opengameart.org/content/metal-impact-sounds
- WavJunction.com: https://freesound.org/people/WavJunction.com/sounds/512684/
- License: https://creativecommons.org/publicdomain/zero/1.0/

Attribution is optional; the above credits are recommended. Replace these temporary assets with the user’s own recordings later.

## Game wiring and replacement

The band, chains, and pole slots sound once when a live Courses throw reaches its actual first basket contact time. Swept pole/raised-support contacts deflect without scoring; an earlier chain catch wins. Preview, helper, warm-up, restoration and fixed-target Practice are silent.

Replace the corresponding WAVs in this folder to use personal recordings, or update BASKET_AUDIO_SLOTS in ../basket-audio.mjs if filenames change. Update manifest.json provenance and this note at replacement time. Keep sensible levels and short edge fades. Defaults: 15% volume (existing saved preferences are preserved), enabled after a trusted user gesture; mute/volume persist locally across Courses. Playback is skipped if decoding or browser resume is late. One impact voice maximum; pause, blur, hiding, restart, remote progress replacement and page exit stop active audio.

## Persistent provenance

manifest.json travels with these files. Each asset has a stable asset_id and SHA-256, source/creator/license, derivative parents, usage and replacement status, and any unresolved licensing questions. All four current sources are recorded as CC0; none has a known unresolved licensing question. This does not guarantee third-party rights. Personal-recording replacement is planned, not a claim that CC0 requires replacement before sale. See ../ASSET-PROVENANCE.md for the project rule and pre-commercial review.

The user accepted chains unchanged. The rejected cage clip is retained with provenance but disabled (not loaded or played). The old pole bong was replaced by the user-requested octave-down band candidate; this candidate still needs audition. Band remains provisional.
