193 lines
5.5 KiB
Markdown
193 lines
5.5 KiB
Markdown
# Phase 2: Audio Synthesis Engine - Discussion Log
|
|
|
|
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
|
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
|
|
|
**Date:** 2026-03-26
|
|
**Phase:** 02-audio-synthesis-engine
|
|
**Areas discussed:** Tone mapping, Waveform texture, Amplitude dynamics, Mixing & headroom
|
|
|
|
---
|
|
|
|
## Tone Mapping
|
|
|
|
### Frequency range
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Narrow ambient (80-400 Hz) | Deep, bass-heavy drones — everything in warm low register | |
|
|
| Wide ambient (60-800 Hz) | Spread across bass to mid range — rich, layered soundscape | ✓ |
|
|
| Full spectrum (50-2000 Hz) | Bass through high-mid — maximum separation | |
|
|
|
|
**User's choice:** Wide ambient (60-800 Hz)
|
|
**Notes:** None
|
|
|
|
### Register assignment
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Keep as shown | HTTPS at ~175 Hz is low enough for bulk drone feel | ✓ |
|
|
| Swap to match prior rule | Strictly follow bulk=low, control=mid, interactive=high | |
|
|
| You decide | Let Claude optimize Hz values | |
|
|
|
|
**User's choice:** Keep as shown
|
|
**Notes:** None
|
|
|
|
### Tuning approach
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Musical intervals | Harmonic/musical relationships so layers blend pleasantly | ✓ |
|
|
| Arbitrary spacing | Spread evenly, simpler but may clash | |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** Musical intervals
|
|
**Notes:** None
|
|
|
|
### Unknown traffic tone
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Single fixed tone at top of range | Always ~800 Hz | |
|
|
| Dissonant/detuned tone | Off-key or beating frequency signals unclassified traffic | ✓ |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** Dissonant/detuned tone
|
|
**Notes:** None
|
|
|
|
---
|
|
|
|
## Waveform Texture
|
|
|
|
### Richness
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Pure sine waves | Clean, minimal, ethereal — single frequency per class | |
|
|
| Sine + 2-3 harmonics | Fundamental + overtones — warm, pad-like, textured | ✓ |
|
|
| Unique waveform per class | Different harmonic profiles per traffic type | |
|
|
|
|
**User's choice:** Sine + 2-3 harmonics
|
|
**Notes:** None
|
|
|
|
### Harmonic ratios
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Same ratios everywhere | All classes use identical harmonic recipe | |
|
|
| Vary per class | Each class gets different harmonic weights for timbral distinction | ✓ |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** Vary per class
|
|
**Notes:** None
|
|
|
|
---
|
|
|
|
## Amplitude Dynamics
|
|
|
|
### Responsiveness
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Slow, glacial (2-4 sec) | Layers swell and fade gradually like weather | |
|
|
| Medium (1-2 sec) | Noticeable response, still smooth | ✓ |
|
|
| Snappy (0.5-1 sec) | Layers track traffic closely, more reactive | |
|
|
|
|
**User's choice:** Medium (1-2 sec)
|
|
**Notes:** None
|
|
|
|
### Zero-traffic behavior
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Fade to full silence | Only active traffic produces sound | |
|
|
| Fade to a whisper | Barely-audible trace remains for any seen protocol | ✓ |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** Fade to a whisper
|
|
**Notes:** None
|
|
|
|
### Whisper floor type
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Fixed floor | Once seen, stays at fixed very-low amplitude (2-5%) | ✓ |
|
|
| Recency-based decay | Whisper fades further over time based on recency | |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** Fixed floor
|
|
**Notes:** None
|
|
|
|
---
|
|
|
|
## Mixing & Headroom
|
|
|
|
### Mix strategy
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Fixed equal gain | Each layer gets 1/N headroom (~0.09 max) | ✓ |
|
|
| Weighted gain by priority | Bulk traffic gets more headroom | |
|
|
| Dynamic limiter | No fixed gain, soft-clip if exceeds headroom | |
|
|
|
|
**User's choice:** Fixed equal gain
|
|
**Notes:** None
|
|
|
|
### Sample rate
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| 44100 Hz (CD quality) | Standard, LAME native | ✓ |
|
|
| 22050 Hz (half rate) | Smaller files, still fine for <800 Hz | |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** 44100 Hz
|
|
**Notes:** None
|
|
|
|
### MP3 bitrate
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| 128 kbps | Good quality, ~1 MB/min | ✓ |
|
|
| 192 kbps | Higher quality, ~1.5 MB/min | |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** 128 kbps
|
|
**Notes:** None
|
|
|
|
### Channel mode
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Mono | Single channel, simpler | |
|
|
| Stereo with panning | Each class panned for spatial separation | ✓ |
|
|
|
|
**User's choice:** Stereo with panning
|
|
**Notes:** None
|
|
|
|
### Panning approach
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Fixed positions by register | Bass center, mid spread, high wider | ✓ |
|
|
| Even spread | All 11 evenly from hard L to hard R | |
|
|
| You decide | Claude picks | |
|
|
|
|
**User's choice:** Fixed positions by register
|
|
**Notes:** ICMP center, DNS slight-L, HTTPS slight-R, etc.
|
|
|
|
---
|
|
|
|
## Claude's Discretion
|
|
|
|
- Exact Hz values per class (within 60-800 Hz, musical intervals)
|
|
- Specific harmonic ratios per traffic class
|
|
- Exact EMA alpha/decay constants for 1-2 sec feel
|
|
- Exact whisper floor percentage (2-5%)
|
|
- WAV intermediate format usage
|
|
- Stereo panning implementation method
|
|
|
|
## Deferred Ideas
|
|
|
|
None — discussion stayed within phase scope
|