Mic — Mute / Unmute Mid-Conversation
| What | Where |
|---|---|
| Route module | hal/routes/voice.py |
POST /voice/mute — stops feeding audio into VAD/STT, ignores mic | def mute_mic() |
POST /voice/unmute — re-arms the mic | def unmute_mic() |
| Slide-switch driver (physical mic mute, Intern v2 Pro) | hal/drivers/privacy_button.py — calls mute_mic() / unmute_mic() on GPIO edge |
curl -X POST http://127.0.0.1:5001/voice/mute
curl -X POST http://127.0.0.1:5001/voice/unmute
The physical slide switch on the top of the Intern v2 Pro just calls those two endpoints internally — that's the whole pattern for any hardware button you want to bolt on.