# Talk pipeline

The `talk` pipeline in `configs/edge_ai.yaml` is runnable with a simulated audio
chunk so the framework can be tested before the cmvr-es microphone stream proto
is available. It shares the deployment YAML with the `detection` pipeline.

Run it explicitly from the repository root:

```bash
uv run --no-sync cmvr-edge-ai validate \
  --config configs/edge_ai.yaml \
  --pipeline talk
uv run --no-sync cmvr-edge-ai run \
  --config configs/edge_ai.yaml \
  --pipeline talk
```

Omitting `--pipeline` starts every pipeline whose `enabled` field is `true`, so
use the explicit selector when only the talk process is wanted.

When the bidirectional audio RPC lands, replace the synthetic source with the
typed `cmvr.grpc.microphone_audio_stream@1` connector and expand the chain to:

```text
AudioChunk -> VAD -> ASR -> dialogue -> TTS -> speaker stream
```

The internal `AudioChunk/v1` contract and port/QoS model are already independent
of the final protobuf message names.
