Voice
The mic does nothing
Section titled “The mic does nothing”- Your phone’s Settings → Gray → allow Microphone and Speech Recognition (the two permissions the app requests).
- On-device transcription is a system service — after an OS update, a reboot has fixed it more than once.
Words come out wrong
Section titled “Words come out wrong”On-device recognition improves with the device language set correctly (Me → Language). Technical literals (hostnames, paths) are often easier typed — the composer is always there.
Premium voice won’t start
Section titled “Premium voice won’t start”-
No
OPENAI_API_KEYon the box — premium voice is off entirely without it. See Models & keys. -
This month’s allowance is spent — premium voice carries a monthly allowance. Gray says so and falls back to on-device voice; the meter resets on the 1st (UTC).
-
Key invalid/over its own quota — check the box log for token-mint and meter denials:
Terminal window journalctl -u gray-server | grep -E 'voice_usage: ledger|token mint failed'
The meter seems wrong
Section titled “The meter seems wrong”The meter is tamper-resistant by design: it pre-books about 5 minutes per
session start and reconciles, and it freezes if the box clock jumps backwards —
a box with a broken clock denies metered voice rather than over-serving
(fail-closed). Fix the clock (timedatectl) and it recovers.
Operator reset (last resort): stop the service and delete the meter ledger AND its init marker together —
systemctl stop gray-serverrm /var/lib/voice-brain/voice_usage.json /var/lib/voice-brain/.voice_usage.initsystemctl start gray-serverDeleting the ledger alone looks like tampering and the meter will deny on metered plans.
Replies sound too fast / slow
Section titled “Replies sound too fast / slow”Me → Voice speed — continuous slider, takes effect on the next reply.