# `Parlora.Channels.LocalAudio`
[🔗](https://github.com/hfiguera/parlora/blob/v0.1.0/lib/parlora/channels/local_audio.ex#L1)

CPAL microphone and speaker audio, converted through Rubato to mono PCM16/24 kHz.

Options: `:host` (CoreAudio or PulseAudio), `:input_device` and `:output_device`
(device IDs), `:native_capacity_frames` (default 4,800), and `:target_buffer_ms`
(default 30). `:playback_buffer_ms` (default 120, range 0–200) cushions delivery
jitter before starting playback. `:playback_buffering` defaults to `:adaptive`
(or use `:fixed`): the target learns between that cushion and 200 ms, capped
by queue duration. `:playback_recovery_ms` independently caps recovery waiting
(default 120, range 0–200), with early release under upstream pressure.
Zero initial cushion disables buffering.
Queue and callback handoff are observable; neither proves human hearing.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `devices`

Discover device IDs and native formats for a CPAL host.

# `observations`

Queue and callback counters; rendered frames are not confirmed playback.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
