# Implementation notes

The page is a local, single-file vocoder experiment using native Web Audio. Open index.html in a current browser. There is no build step, external library, microphone permission or network service.

## Choices

- Three exclusive listening buttons compare the modulator, sustained carrier and vocoder result. Audio starts only after a Start sound click, at 25% output. Stop sound fades the output and suspends the audio context.
- The generated modulator combines sawtooth excitation and noise, passes them through three changing formant filters, and gates them with an eight-step rhythm.
- The carrier is a sustained three-oscillator sawtooth chord.
- The vocoder uses 8, 12, 16 or 24 logarithmically spaced bandpass pairs over 120 Hz to 7 kHz. Each modulator band is full-wave rectified and low-pass filtered at 26 Hz. That envelope controls the matching carrier band gain.
- Speed changes generated rhythm timing or imported file playback rate. Imported playback rate also changes pitch, stated on the page. Sensitivity scales envelope control strength.
- Imported audio loops in browser memory. Generated rhythm and the last imported recording remain selectable. A failed import leaves the previous source intact. Files above 60 MB are rejected.
- Output passes through a dynamics compressor. This is a simple level guard, not a guaranteed hardware hearing-protection limiter.
- Modulator/result bars show live band envelope values. Carrier bars show measured RMS levels in each carrier band. All displays are scaled for relative comparison, not calibrated meters.

## Checks and limits

- Source syntax and required UI wiring were checked locally without starting a server or opening a browser, as requested by the parent task.
- Browser interaction, audio quality, output loudness, recording codec support and responsive rendering still need the parent browser/audio checks. No listening test is claimed here.
- This is a basic envelope vocoder. It does not preserve formants when changing imported playback speed, extract speech pitch, or guarantee intelligibility. Results depend on the recording's spectrum and level. High band counts can reduce output level.
- The generated modulator imitates vowel movement and rhythm; it is not recorded speech.

The first complete implementation is preserved in attempts/001/index.html. Subsequent changes, if any, are made to index.html.
